contractManagerConfig.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const {
  2. EvmContract,
  3. DefaultStore,
  4. Store,
  5. getDefaultDeploymentConfig,
  6. } = require("@pythnetwork/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 chain = DefaultStore.chains[chainName];
  15. console.log("***chain", chain);
  16. const { dataSources, governanceDataSource, wormholeConfig } =
  17. getDefaultDeploymentConfig("stable");
  18. const emitterChainIds = dataSources.map((dataSource) =>
  19. convertChainId(dataSource.emitterChain)
  20. );
  21. const emitterAddresses = dataSources.map((dataSource) =>
  22. convertAddress(dataSource.emitterAddress)
  23. );
  24. const governanceChainId = convertChainId(governanceDataSource.emitterChain);
  25. const governanceEmitter = convertAddress(governanceDataSource.emitterAddress);
  26. const wormholeInitialSigners =
  27. wormholeConfig.initialGuardianSet.map(convertAddress);
  28. const wormholeGovernanceChainId = convertChainId(
  29. wormholeConfig.governanceChainId
  30. );
  31. const wormholeGovernanceContract = convertAddress(
  32. wormholeConfig.governanceContract
  33. );
  34. return {
  35. governanceEmitter,
  36. governanceChainId,
  37. emitterAddresses,
  38. emitterChainIds,
  39. wormholeInitialSigners,
  40. wormholeGovernanceChainId,
  41. wormholeGovernanceContract,
  42. };
  43. }
  44. function saveConfig(chainName, address) {
  45. const chain = DefaultStore.chains[chainName];
  46. const contract = new EvmContract(chain, address);
  47. DefaultStore.contracts[contract.getId()] = contract;
  48. DefaultStore.saveAllContracts();
  49. console.log("Added the following to your evm contract configs");
  50. console.log(Store.serialize(contract));
  51. }
  52. module.exports = { saveConfig, getDefaultConfig };