contractManagerConfig.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. const {
  2. EvmContract,
  3. DefaultStore,
  4. Store,
  5. getDefaultDeploymentConfig,
  6. } = require("contract_manager");
  7. function convertAddress(address) {
  8. return "0x" + address;
  9. }
  10. function convertChainId(number) {
  11. return "0x" + number.toString(16);
  12. }
  13. function getDefaultConfig(_chainName) {
  14. const { dataSources, governanceDataSource, wormholeConfig } =
  15. getDefaultDeploymentConfig(process.env.CHANNEL);
  16. const emitterChainIds = dataSources.map((dataSource) =>
  17. convertChainId(dataSource.emitterChain)
  18. );
  19. const emitterAddresses = dataSources.map((dataSource) =>
  20. convertAddress(dataSource.emitterAddress)
  21. );
  22. const governanceChainId = convertChainId(governanceDataSource.emitterChain);
  23. const governanceEmitter = convertAddress(governanceDataSource.emitterAddress);
  24. const wormholeInitialSigners =
  25. wormholeConfig.initialGuardianSet.map(convertAddress);
  26. const wormholeGovernanceChainId = convertChainId(
  27. wormholeConfig.governanceChainId
  28. );
  29. const wormholeGovernanceContract = convertAddress(
  30. wormholeConfig.governanceContract
  31. );
  32. return {
  33. governanceEmitter,
  34. governanceChainId,
  35. emitterAddresses,
  36. emitterChainIds,
  37. wormholeInitialSigners,
  38. wormholeGovernanceChainId,
  39. wormholeGovernanceContract,
  40. };
  41. }
  42. function saveConfig(chainName, address) {
  43. const chain = DefaultStore.chains[chainName];
  44. const contract = new EvmContract(chain, address);
  45. DefaultStore.contracts[contract.getId()] = contract;
  46. DefaultStore.saveAllContracts();
  47. console.log("Added the following to your evm contract configs");
  48. console.log(Store.serialize(contract));
  49. }
  50. module.exports = { saveConfig, getDefaultConfig };