Răsfoiți Sursa

chore(eth): deploy stable contracts on testnets (#1146)

* chore(eth): deploy stable contracts on testnets

* chore(eth): address feedbacks

* Add op sepolia

---------

Co-authored-by: Amin Moghaddam <amin@pyth.network>
Ali Behjati 2 ani în urmă
părinte
comite
2c93737366
53 a modificat fișierele cu 452 adăugiri și 424 ștergeri
  1. 3 2
      contract_manager/scripts/fetch_account_balance.ts
  2. 2 4
      contract_manager/src/chains.ts
  3. 9 87
      contract_manager/store/chains/EvmChains.yaml
  4. 110 113
      contract_manager/store/contracts/EvmContracts.yaml
  5. 66 15
      governance/xc_admin/packages/xc_admin_common/src/chains.ts
  6. 0 4
      target_chains/ethereum/contracts/README.md
  7. 0 2
      target_chains/ethereum/contracts/create-env.js
  8. 8 0
      target_chains/ethereum/contracts/deploy.sh
  9. 2 3
      target_chains/ethereum/contracts/deploy/zkSyncDeploy.ts
  10. 1 3
      target_chains/ethereum/contracts/deploy/zkSyncDeployNewPythImpl.ts
  11. 2 4
      target_chains/ethereum/contracts/migrations/prod-receiver/2_deploy_wormhole_receiver.js
  12. 1 3
      target_chains/ethereum/contracts/migrations/prod-receiver/3_deploy_pyth.js
  13. 5 5
      target_chains/ethereum/contracts/networks/10200.json
  14. 5 5
      target_chains/ethereum/contracts/networks/1073.json
  15. 5 5
      target_chains/ethereum/contracts/networks/1112.json
  16. 5 5
      target_chains/ethereum/contracts/networks/1115.json
  17. 5 5
      target_chains/ethereum/contracts/networks/11155111.json
  18. 5 5
      target_chains/ethereum/contracts/networks/11155420.json
  19. 5 5
      target_chains/ethereum/contracts/networks/1261120.json
  20. 8 3
      target_chains/ethereum/contracts/networks/1313161555.json
  21. 5 5
      target_chains/ethereum/contracts/networks/1442.json
  22. 5 5
      target_chains/ethereum/contracts/networks/15557.json
  23. 3 8
      target_chains/ethereum/contracts/networks/1663.json
  24. 10 0
      target_chains/ethereum/contracts/networks/200.json
  25. 16 0
      target_chains/ethereum/contracts/networks/2021.json
  26. 5 5
      target_chains/ethereum/contracts/networks/2221.json
  27. 5 5
      target_chains/ethereum/contracts/networks/245022926.json
  28. 2 2
      target_chains/ethereum/contracts/networks/280.json
  29. 5 5
      target_chains/ethereum/contracts/networks/2888.json
  30. 5 5
      target_chains/ethereum/contracts/networks/322.json
  31. 5 5
      target_chains/ethereum/contracts/networks/338.json
  32. 5 5
      target_chains/ethereum/contracts/networks/3441005.json
  33. 8 3
      target_chains/ethereum/contracts/networks/4002.json
  34. 5 5
      target_chains/ethereum/contracts/networks/412346.json
  35. 13 3
      target_chains/ethereum/contracts/networks/420.json
  36. 16 0
      target_chains/ethereum/contracts/networks/421614.json
  37. 8 3
      target_chains/ethereum/contracts/networks/43113.json
  38. 8 3
      target_chains/ethereum/contracts/networks/44787.json
  39. 5 5
      target_chains/ethereum/contracts/networks/5001.json
  40. 5 5
      target_chains/ethereum/contracts/networks/534351.json
  41. 5 5
      target_chains/ethereum/contracts/networks/59140.json
  42. 5 5
      target_chains/ethereum/contracts/networks/7001.json
  43. 5 5
      target_chains/ethereum/contracts/networks/71.json
  44. 5 5
      target_chains/ethereum/contracts/networks/7701.json
  45. 8 3
      target_chains/ethereum/contracts/networks/80001.json
  46. 5 5
      target_chains/ethereum/contracts/networks/83.json
  47. 8 3
      target_chains/ethereum/contracts/networks/84531.json
  48. 5 5
      target_chains/ethereum/contracts/networks/88882.json
  49. 5 5
      target_chains/ethereum/contracts/networks/89.json
  50. 5 5
      target_chains/ethereum/contracts/networks/9000.json
  51. 8 3
      target_chains/ethereum/contracts/networks/97.json
  52. 2 3
      target_chains/ethereum/contracts/scripts/contractManagerConfig.js
  53. 0 17
      target_chains/ethereum/contracts/scripts/loadEnv.js

+ 3 - 2
contract_manager/scripts/fetch_account_balance.ts

@@ -11,7 +11,8 @@ const parser = yargs(hideBin(process.argv))
       desc: "Private key to use to sign transaction",
       desc: "Private key to use to sign transaction",
     },
     },
     chain: {
     chain: {
-      type: "string",
+      type: "array",
+      string: true,
       desc: "Chain to get the balance for. If not provided the balance for all chains is returned.",
       desc: "Chain to get the balance for. If not provided the balance for all chains is returned.",
     },
     },
   });
   });
@@ -44,7 +45,7 @@ async function getBalance(
 async function main() {
 async function main() {
   const argv = await parser.argv;
   const argv = await parser.argv;
   const chains = argv.chain
   const chains = argv.chain
-    ? [argv.chain]
+    ? argv.chain
     : Object.keys(DefaultStore.chains).filter((chain) => chain !== "global");
     : Object.keys(DefaultStore.chains).filter((chain) => chain !== "global");
 
 
   const privateKey = toPrivateKey(argv["private-key"]);
   const privateKey = toPrivateKey(argv["private-key"]);

+ 2 - 4
contract_manager/src/chains.ts

@@ -314,11 +314,11 @@ export class EvmChain extends Chain {
   constructor(
   constructor(
     id: string,
     id: string,
     mainnet: boolean,
     mainnet: boolean,
-    wormholeChainName: string,
     private rpcUrl: string,
     private rpcUrl: string,
     private networkId: number
     private networkId: number
   ) {
   ) {
-    super(id, mainnet, wormholeChainName);
+    // On EVM networks we use the chain id as the wormhole chain name
+    super(id, mainnet, id);
   }
   }
 
 
   static fromJson(parsed: ChainConfig & { networkId: number }): EvmChain {
   static fromJson(parsed: ChainConfig & { networkId: number }): EvmChain {
@@ -326,7 +326,6 @@ export class EvmChain extends Chain {
     return new EvmChain(
     return new EvmChain(
       parsed.id,
       parsed.id,
       parsed.mainnet,
       parsed.mainnet,
-      parsed.wormholeChainName,
       parsed.rpcUrl,
       parsed.rpcUrl,
       parsed.networkId
       parsed.networkId
     );
     );
@@ -367,7 +366,6 @@ export class EvmChain extends Chain {
   toJson(): KeyValueConfig {
   toJson(): KeyValueConfig {
     return {
     return {
       id: this.id,
       id: this.id,
-      wormholeChainName: this.wormholeChainName,
       mainnet: this.mainnet,
       mainnet: this.mainnet,
       rpcUrl: this.rpcUrl,
       rpcUrl: this.rpcUrl,
       networkId: this.networkId,
       networkId: this.networkId,

+ 9 - 87
contract_manager/store/chains/EvmChains.yaml

@@ -1,437 +1,359 @@
 - id: linea_goerli
 - id: linea_goerli
-  wormholeChainName: linea
   mainnet: false
   mainnet: false
-  rpcUrl: https://rpc.goerli.linea.build
+  rpcUrl: https://linea-goerli.blastapi.io/$ENV_BLAST_API_KEY
   networkId: 59140
   networkId: 59140
   type: EvmChain
   type: EvmChain
 - id: kava
 - id: kava
-  wormholeChainName: kava
   mainnet: true
   mainnet: true
   rpcUrl: https://evm.kava.io
   rpcUrl: https://evm.kava.io
   networkId: 2222
   networkId: 2222
   type: EvmChain
   type: EvmChain
 - id: evmos
 - id: evmos
-  wormholeChainName: evmos
   mainnet: true
   mainnet: true
   rpcUrl: https://evmos-evm.publicnode.com
   rpcUrl: https://evmos-evm.publicnode.com
   networkId: 9001
   networkId: 9001
   type: EvmChain
   type: EvmChain
-- id: goerli
-  wormholeChainName: ethereum
-  mainnet: false
-  rpcUrl: https://rpc.goerli.eth.gateway.fm
-  networkId: 5
-  type: EvmChain
 - id: canto
 - id: canto
-  wormholeChainName: canto
   mainnet: true
   mainnet: true
   rpcUrl: https://canto.slingshot.finance
   rpcUrl: https://canto.slingshot.finance
   networkId: 7700
   networkId: 7700
   type: EvmChain
   type: EvmChain
 - id: fuji
 - id: fuji
-  wormholeChainName: avalanche
   mainnet: false
   mainnet: false
   rpcUrl: https://api.avax-test.network/ext/bc/C/rpc
   rpcUrl: https://api.avax-test.network/ext/bc/C/rpc
   networkId: 43113
   networkId: 43113
   type: EvmChain
   type: EvmChain
 - id: base_goerli
 - id: base_goerli
-  wormholeChainName: base
   mainnet: false
   mainnet: false
   rpcUrl: https://goerli.base.org
   rpcUrl: https://goerli.base.org
   networkId: 84531
   networkId: 84531
   type: EvmChain
   type: EvmChain
 - id: avalanche
 - id: avalanche
-  wormholeChainName: avalanche
   mainnet: true
   mainnet: true
   rpcUrl: https://api.avax.network/ext/bc/C/rpc
   rpcUrl: https://api.avax.network/ext/bc/C/rpc
   networkId: 43114
   networkId: 43114
   type: EvmChain
   type: EvmChain
 - id: cronos_testnet
 - id: cronos_testnet
-  wormholeChainName: cronos
   mainnet: false
   mainnet: false
   rpcUrl: https://evm-t3.cronos.org
   rpcUrl: https://evm-t3.cronos.org
   networkId: 338
   networkId: 338
   type: EvmChain
   type: EvmChain
 - id: zksync_goerli
 - id: zksync_goerli
-  wormholeChainName: zksync
   mainnet: false
   mainnet: false
   rpcUrl: https://zksync2-testnet.zksync.dev
   rpcUrl: https://zksync2-testnet.zksync.dev
   networkId: 280
   networkId: 280
   type: EvmChain
   type: EvmChain
 - id: canto_testnet
 - id: canto_testnet
-  wormholeChainName: canto
   mainnet: false
   mainnet: false
   rpcUrl: https://canto-testnet.plexnode.wtf
   rpcUrl: https://canto-testnet.plexnode.wtf
   networkId: 7701
   networkId: 7701
   type: EvmChain
   type: EvmChain
 - id: polygon_zkevm_testnet
 - id: polygon_zkevm_testnet
-  wormholeChainName: polygon_zkevm
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.public.zkevm-test.net/
   rpcUrl: https://rpc.public.zkevm-test.net/
   networkId: 1442
   networkId: 1442
   type: EvmChain
   type: EvmChain
 - id: aurora_testnet
 - id: aurora_testnet
-  wormholeChainName: aurora
   mainnet: false
   mainnet: false
   rpcUrl: https://testnet.aurora.dev
   rpcUrl: https://testnet.aurora.dev
   networkId: 1313161555
   networkId: 1313161555
   type: EvmChain
   type: EvmChain
 - id: mantle_testnet
 - id: mantle_testnet
-  wormholeChainName: mantle
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.testnet.mantle.xyz/
   rpcUrl: https://rpc.testnet.mantle.xyz/
   networkId: 5001
   networkId: 5001
   type: EvmChain
   type: EvmChain
 - id: gnosis
 - id: gnosis
-  wormholeChainName: gnosis
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.gnosischain.com
   rpcUrl: https://rpc.gnosischain.com
   networkId: 100
   networkId: 100
   type: EvmChain
   type: EvmChain
 - id: fantom_testnet
 - id: fantom_testnet
-  wormholeChainName: fantom
   mainnet: false
   mainnet: false
-  rpcUrl: https://rpc.ankr.com/fantom_testnet
+  rpcUrl: https://fantom-testnet.blastapi.io/$ENV_BLAST_API_KEY
   networkId: 4002
   networkId: 4002
   type: EvmChain
   type: EvmChain
 - id: neon
 - id: neon
-  wormholeChainName: neon
   mainnet: true
   mainnet: true
   rpcUrl: https://neon-proxy-mainnet.solana.p2p.org
   rpcUrl: https://neon-proxy-mainnet.solana.p2p.org
   networkId: 245022934
   networkId: 245022934
   type: EvmChain
   type: EvmChain
 - id: fantom
 - id: fantom
-  wormholeChainName: fantom
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.ankr.com/fantom
   rpcUrl: https://rpc.ankr.com/fantom
   networkId: 250
   networkId: 250
   type: EvmChain
   type: EvmChain
 - id: mumbai
 - id: mumbai
-  wormholeChainName: polygon
   mainnet: false
   mainnet: false
-  rpcUrl: https://polygon-testnet-rpc.allthatnode.com:8545
+  rpcUrl: https://polygon-testnet.blastapi.io/$ENV_BLAST_API_KEY
   networkId: 80001
   networkId: 80001
   type: EvmChain
   type: EvmChain
 - id: neon_devnet
 - id: neon_devnet
-  wormholeChainName: neon
   mainnet: false
   mainnet: false
   rpcUrl: https://devnet.neonevm.org
   rpcUrl: https://devnet.neonevm.org
   networkId: 245022926
   networkId: 245022926
   type: EvmChain
   type: EvmChain
 - id: meter
 - id: meter
-  wormholeChainName: meter
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc-meter.jellypool.xyz
   rpcUrl: https://rpc-meter.jellypool.xyz
   networkId: 82
   networkId: 82
   type: EvmChain
   type: EvmChain
 - id: chiado
 - id: chiado
-  wormholeChainName: gnosis
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.chiadochain.net
   rpcUrl: https://rpc.chiadochain.net
   networkId: 10200
   networkId: 10200
   type: EvmChain
   type: EvmChain
 - id: mantle
 - id: mantle
-  wormholeChainName: mantle
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.mantle.xyz/
   rpcUrl: https://rpc.mantle.xyz/
   networkId: 5000
   networkId: 5000
   type: EvmChain
   type: EvmChain
 - id: kava_testnet
 - id: kava_testnet
-  wormholeChainName: kava
   mainnet: false
   mainnet: false
   rpcUrl: https://evm.testnet.kava.io
   rpcUrl: https://evm.testnet.kava.io
   networkId: 2221
   networkId: 2221
   type: EvmChain
   type: EvmChain
 - id: evmos_testnet
 - id: evmos_testnet
-  wormholeChainName: evmos
   mainnet: false
   mainnet: false
-  rpcUrl: https://eth.bd.evmos.dev:8545/
+  rpcUrl: https://jsonrpc-evmos-testnet.mzonder.com
   networkId: 9000
   networkId: 9000
   type: EvmChain
   type: EvmChain
 - id: cronos
 - id: cronos
-  wormholeChainName: cronos
   mainnet: true
   mainnet: true
   rpcUrl: https://cronosrpc-1.xstaking.sg
   rpcUrl: https://cronosrpc-1.xstaking.sg
   networkId: 25
   networkId: 25
   type: EvmChain
   type: EvmChain
 - id: ethereum
 - id: ethereum
-  wormholeChainName: ethereum
   mainnet: true
   mainnet: true
   rpcUrl: https://eth.llamarpc.com
   rpcUrl: https://eth.llamarpc.com
   networkId: 1
   networkId: 1
   type: EvmChain
   type: EvmChain
-- id: bnb_testnet
-  wormholeChainName: bsc
+- id: bsc_testnet
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.ankr.com/bsc_testnet_chapel
   rpcUrl: https://rpc.ankr.com/bsc_testnet_chapel
   networkId: 97
   networkId: 97
   type: EvmChain
   type: EvmChain
 - id: wemix
 - id: wemix
-  wormholeChainName: wemix
   mainnet: true
   mainnet: true
   rpcUrl: https://api.wemix.com
   rpcUrl: https://api.wemix.com
   networkId: 1111
   networkId: 1111
   type: EvmChain
   type: EvmChain
 - id: aurora
 - id: aurora
-  wormholeChainName: aurora
   mainnet: true
   mainnet: true
   rpcUrl: https://mainnet.aurora.dev
   rpcUrl: https://mainnet.aurora.dev
   networkId: 1313161554
   networkId: 1313161554
   type: EvmChain
   type: EvmChain
-- id: bnb
-  wormholeChainName: bsc
+- id: bsc
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.ankr.com/bsc
   rpcUrl: https://rpc.ankr.com/bsc
   networkId: 56
   networkId: 56
   type: EvmChain
   type: EvmChain
 - id: eos
 - id: eos
-  wormholeChainName: eos
   mainnet: true
   mainnet: true
   rpcUrl: https://api.evm.eosnetwork.com
   rpcUrl: https://api.evm.eosnetwork.com
   networkId: 17777
   networkId: 17777
   type: EvmChain
   type: EvmChain
 - id: conflux_espace_testnet
 - id: conflux_espace_testnet
-  wormholeChainName: conflux_espace
   mainnet: false
   mainnet: false
   rpcUrl: https://evmtestnet.confluxrpc.com
   rpcUrl: https://evmtestnet.confluxrpc.com
   networkId: 71
   networkId: 71
   type: EvmChain
   type: EvmChain
 - id: conflux_espace
 - id: conflux_espace
-  wormholeChainName: conflux_espace
   mainnet: true
   mainnet: true
   rpcUrl: https://evm.confluxrpc.org
   rpcUrl: https://evm.confluxrpc.org
   networkId: 1030
   networkId: 1030
   type: EvmChain
   type: EvmChain
 - id: optimism_goerli
 - id: optimism_goerli
-  wormholeChainName: optimism
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.ankr.com/optimism_testnet
   rpcUrl: https://rpc.ankr.com/optimism_testnet
   networkId: 420
   networkId: 420
   type: EvmChain
   type: EvmChain
 - id: celo
 - id: celo
-  wormholeChainName: celo
   mainnet: true
   mainnet: true
   rpcUrl: https://forno.celo.org
   rpcUrl: https://forno.celo.org
   networkId: 42220
   networkId: 42220
   type: EvmChain
   type: EvmChain
 - id: polygon
 - id: polygon
-  wormholeChainName: polygon
   mainnet: true
   mainnet: true
   rpcUrl: https://polygon-rpc.com
   rpcUrl: https://polygon-rpc.com
   networkId: 137
   networkId: 137
   type: EvmChain
   type: EvmChain
 - id: wemix_testnet
 - id: wemix_testnet
-  wormholeChainName: wemix
   mainnet: false
   mainnet: false
   rpcUrl: https://api.test.wemix.com
   rpcUrl: https://api.test.wemix.com
   networkId: 1112
   networkId: 1112
   type: EvmChain
   type: EvmChain
 - id: kcc
 - id: kcc
-  wormholeChainName: kcc
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc-mainnet.kcc.network
   rpcUrl: https://rpc-mainnet.kcc.network
   networkId: 321
   networkId: 321
   type: EvmChain
   type: EvmChain
 - id: polygon_zkevm
 - id: polygon_zkevm
-  wormholeChainName: polygon_zkevm
   mainnet: true
   mainnet: true
   rpcUrl: https://zkevm-rpc.com
   rpcUrl: https://zkevm-rpc.com
   networkId: 1101
   networkId: 1101
   type: EvmChain
   type: EvmChain
 - id: celo_alfajores_testnet
 - id: celo_alfajores_testnet
-  wormholeChainName: celo
   mainnet: false
   mainnet: false
   rpcUrl: https://alfajores-forno.celo-testnet.org
   rpcUrl: https://alfajores-forno.celo-testnet.org
   networkId: 44787
   networkId: 44787
   type: EvmChain
   type: EvmChain
 - id: syndr_nitro_testnet
 - id: syndr_nitro_testnet
-  wormholeChainName: syndr
   mainnet: false
   mainnet: false
   rpcUrl: https://syndr-nitro-testnet.calderachain.xyz/http
   rpcUrl: https://syndr-nitro-testnet.calderachain.xyz/http
   networkId: 412346
   networkId: 412346
   type: EvmChain
   type: EvmChain
 - id: zksync
 - id: zksync
-  wormholeChainName: zksync
   mainnet: true
   mainnet: true
   rpcUrl: https://zksync2-mainnet.zksync.io
   rpcUrl: https://zksync2-mainnet.zksync.io
   networkId: 324
   networkId: 324
   type: EvmChain
   type: EvmChain
 - id: base
 - id: base
-  wormholeChainName: base
   mainnet: true
   mainnet: true
   rpcUrl: https://developer-access-mainnet.base.org/
   rpcUrl: https://developer-access-mainnet.base.org/
   networkId: 8453
   networkId: 8453
   type: EvmChain
   type: EvmChain
 - id: arbitrum
 - id: arbitrum
-  wormholeChainName: arbitrum
   mainnet: true
   mainnet: true
   rpcUrl: https://arb1.arbitrum.io/rpc
   rpcUrl: https://arb1.arbitrum.io/rpc
   networkId: 42161
   networkId: 42161
   type: EvmChain
   type: EvmChain
 - id: optimism
 - id: optimism
-  wormholeChainName: optimism
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.ankr.com/optimism
   rpcUrl: https://rpc.ankr.com/optimism
   networkId: 10
   networkId: 10
   type: EvmChain
   type: EvmChain
 - id: kcc_testnet
 - id: kcc_testnet
-  wormholeChainName: kcc
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc-testnet.kcc.network
   rpcUrl: https://rpc-testnet.kcc.network
   networkId: 322
   networkId: 322
   type: EvmChain
   type: EvmChain
 - id: eos_testnet
 - id: eos_testnet
-  wormholeChainName: eos
   mainnet: false
   mainnet: false
   rpcUrl: https://api.testnet.evm.eosnetwork.com
   rpcUrl: https://api.testnet.evm.eosnetwork.com
   networkId: 15557
   networkId: 15557
   type: EvmChain
   type: EvmChain
 - id: meter_testnet
 - id: meter_testnet
-  wormholeChainName: meter
   mainnet: false
   mainnet: false
   rpcUrl: https://rpctest.meter.io
   rpcUrl: https://rpctest.meter.io
   networkId: 83
   networkId: 83
   type: EvmChain
   type: EvmChain
 - id: linea
 - id: linea
-  wormholeChainName: linea
   mainnet: true
   mainnet: true
   rpcUrl: https://linea.rpc.thirdweb.com
   rpcUrl: https://linea.rpc.thirdweb.com
   networkId: 59144
   networkId: 59144
   type: EvmChain
   type: EvmChain
 - id: shimmer_testnet
 - id: shimmer_testnet
-  wormholeChainName: shimmer
   mainnet: false
   mainnet: false
   rpcUrl: https://json-rpc.evm.testnet.shimmer.network
   rpcUrl: https://json-rpc.evm.testnet.shimmer.network
   networkId: 1073
   networkId: 1073
   type: EvmChain
   type: EvmChain
 - id: scroll_sepolia
 - id: scroll_sepolia
-  wormholeChainName: scroll
   mainnet: false
   mainnet: false
   rpcUrl: https://sepolia-rpc.scroll.io/
   rpcUrl: https://sepolia-rpc.scroll.io/
   networkId: 534351
   networkId: 534351
   type: EvmChain
   type: EvmChain
 - id: scroll
 - id: scroll
-  wormholeChainName: scroll
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.scroll.io
   rpcUrl: https://rpc.scroll.io
   networkId: 534352
   networkId: 534352
   type: EvmChain
   type: EvmChain
 - id: saigon
 - id: saigon
-  wormholeChainName: ronin
   mainnet: false
   mainnet: false
   rpcUrl: https://api-gateway.skymavis.com/rpc/testnet?apikey=$ENV_RONIN_API_KEY
   rpcUrl: https://api-gateway.skymavis.com/rpc/testnet?apikey=$ENV_RONIN_API_KEY
   networkId: 2021
   networkId: 2021
   type: EvmChain
   type: EvmChain
 - id: ronin
 - id: ronin
-  wormholeChainName: ronin
   mainnet: true
   mainnet: true
   rpcUrl: https://api-gateway.skymavis.com/rpc?apikey=$ENV_RONIN_API_KEY
   rpcUrl: https://api-gateway.skymavis.com/rpc?apikey=$ENV_RONIN_API_KEY
   networkId: 2020
   networkId: 2020
   type: EvmChain
   type: EvmChain
 - id: horizen_eon
 - id: horizen_eon
-  wormholeChainName: horizen
   mainnet: true
   mainnet: true
   rpcUrl: https://eon-rpc.horizenlabs.io/ethv1
   rpcUrl: https://eon-rpc.horizenlabs.io/ethv1
   networkId: 7332
   networkId: 7332
   type: EvmChain
   type: EvmChain
 - id: horizen_gobi
 - id: horizen_gobi
-  wormholeChainName: horizen
   mainnet: false
   mainnet: false
-  rpcUrl: https://gobi-rpc.horizenlabs.io/ethv1
+  rpcUrl: https://rpc.ankr.com/horizen_gobi_testnet
   networkId: 1663
   networkId: 1663
   type: EvmChain
   type: EvmChain
 - id: sepolia
 - id: sepolia
-  wormholeChainName: ethereum
   mainnet: false
   mainnet: false
-  rpcUrl: https://ethereum-sepolia.blockpi.network/v1/rpc/public
+  rpcUrl: https://eth-sepolia.blastapi.io/$ENV_BLAST_API_KEY
   networkId: 11155111
   networkId: 11155111
   type: EvmChain
   type: EvmChain
 - id: shimmer
 - id: shimmer
-  wormholeChainName: shimmer
   mainnet: true
   mainnet: true
   rpcUrl: https://json-rpc.evm.shimmer.network
   rpcUrl: https://json-rpc.evm.shimmer.network
   networkId: 148
   networkId: 148
   type: EvmChain
   type: EvmChain
 - id: arbitrum_sepolia
 - id: arbitrum_sepolia
-  wormholeChainName: arbitrum
   mainnet: false
   mainnet: false
   rpcUrl: https://sepolia-rollup.arbitrum.io/rpc
   rpcUrl: https://sepolia-rollup.arbitrum.io/rpc
   networkId: 421614
   networkId: 421614
   type: EvmChain
   type: EvmChain
 - id: boba
 - id: boba
-  wormholeChainName: boba
   mainnet: true
   mainnet: true
   rpcUrl: https://replica.boba.network
   rpcUrl: https://replica.boba.network
   networkId: 288
   networkId: 288
   type: EvmChain
   type: EvmChain
 - id: boba_goerli
 - id: boba_goerli
-  wormholeChainName: boba
   mainnet: false
   mainnet: false
   rpcUrl: https://goerli.boba.network
   rpcUrl: https://goerli.boba.network
   networkId: 2888
   networkId: 2888
   type: EvmChain
   type: EvmChain
 - id: manta
 - id: manta
-  wormholeChainName: manta
   mainnet: true
   mainnet: true
   rpcUrl: https://pacific-rpc.manta.network/http
   rpcUrl: https://pacific-rpc.manta.network/http
   networkId: 169
   networkId: 169
   type: EvmChain
   type: EvmChain
 - id: manta_testnet
 - id: manta_testnet
-  wormholeChainName: manta
   mainnet: false
   mainnet: false
   rpcUrl: https://pacific-rpc.testnet.manta.network/http
   rpcUrl: https://pacific-rpc.testnet.manta.network/http
   networkId: 3441005
   networkId: 3441005
   type: EvmChain
   type: EvmChain
 - id: optimism_sepolia
 - id: optimism_sepolia
-  wormholeChainName: optimism
   mainnet: false
   mainnet: false
   rpcUrl: https://sepolia.optimism.io
   rpcUrl: https://sepolia.optimism.io
   networkId: 11155420
   networkId: 11155420
   type: EvmChain
   type: EvmChain
 - id: chiliz_spicy
 - id: chiliz_spicy
-  wormholeChainName: chiliz
   mainnet: false
   mainnet: false
   rpcUrl: https://spicy-rpc.chiliz.com
   rpcUrl: https://spicy-rpc.chiliz.com
   networkId: 88882
   networkId: 88882
   type: EvmChain
   type: EvmChain
 - id: chiliz
 - id: chiliz
-  wormholeChainName: chiliz
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.ankr.com/chiliz
   rpcUrl: https://rpc.ankr.com/chiliz
   networkId: 88888
   networkId: 88888
   type: EvmChain
   type: EvmChain
 - id: zetachain_testnet
 - id: zetachain_testnet
-  wormholeChainName: zetachain
   mainnet: false
   mainnet: false
-  rpcUrl: https://rpc.ankr.com/zetachain_evm_athens_testnet
+  rpcUrl: https://zetachain-athens-evm.blockpi.network/v1/rpc/public
   networkId: 7001
   networkId: 7001
   type: EvmChain
   type: EvmChain
 - id: astar_testnet
 - id: astar_testnet
-  wormholeChainName: astar
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.zkatana.gelato.digital
   rpcUrl: https://rpc.zkatana.gelato.digital
   networkId: 1261120
   networkId: 1261120
   type: EvmChain
   type: EvmChain
 - id: coredao_testnet
 - id: coredao_testnet
-  wormholeChainName: coredao
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.test.btcs.network
   rpcUrl: https://rpc.test.btcs.network
   networkId: 1115
   networkId: 1115
   type: EvmChain
   type: EvmChain
 - id: coredao
 - id: coredao
-  wormholeChainName: coredao
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc3.coredao.org
   rpcUrl: https://rpc3.coredao.org
   networkId: 1116
   networkId: 1116
   type: EvmChain
   type: EvmChain
 - id: tomochain
 - id: tomochain
-  wormholeChainName: tomochain
   mainnet: true
   mainnet: true
   rpcUrl: https://rpc.tomochain.com
   rpcUrl: https://rpc.tomochain.com
   networkId: 88
   networkId: 88
   type: EvmChain
   type: EvmChain
 - id: tomochain_testnet
 - id: tomochain_testnet
-  wormholeChainName: tomochain
   mainnet: false
   mainnet: false
   rpcUrl: https://rpc.testnet.tomochain.com
   rpcUrl: https://rpc.testnet.tomochain.com
   networkId: 89
   networkId: 89

+ 110 - 113
contract_manager/store/contracts/EvmContracts.yaml

@@ -19,54 +19,24 @@
 - chain: arbitrum
 - chain: arbitrum
   address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
   address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
   type: EvmContract
   type: EvmContract
-- chain: chiado
-  address: "0xdDAf6D29b8bc81c1F0798a5e4c264ae89c16a72B"
-  type: EvmContract
-- chain: kcc_testnet
-  address: "0x15D35b8985e350f783fe3d95401401E194ff1E6f"
-  type: EvmContract
 - chain: gnosis
 - chain: gnosis
   address: "0x2880aB155794e7179c9eE2e38200202908C17B43"
   address: "0x2880aB155794e7179c9eE2e38200202908C17B43"
   type: EvmContract
   type: EvmContract
-- chain: mantle_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
-  type: EvmContract
-- chain: syndr_nitro_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
-  type: EvmContract
-- chain: bnb_testnet
-  address: "0xd7308b14BF4008e7C7196eC35610B1427C5702EA"
-  type: EvmContract
 - chain: polygon_zkevm
 - chain: polygon_zkevm
   address: "0xC5E56d6b40F3e3B5fbfa266bCd35C37426537c65"
   address: "0xC5E56d6b40F3e3B5fbfa266bCd35C37426537c65"
   type: EvmContract
   type: EvmContract
 - chain: conflux_espace
 - chain: conflux_espace
   address: "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   address: "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   type: EvmContract
   type: EvmContract
-- chain: cronos_testnet
-  address: "0xBAEA4A1A2Eaa4E9bb78f2303C213Da152933170E"
-  type: EvmContract
-- chain: kava_testnet
-  address: "0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
-  type: EvmContract
-- chain: bnb
+- chain: bsc
   address: "0x4D7E825f80bDf85e913E0DD2A2D54927e9dE1594"
   address: "0x4D7E825f80bDf85e913E0DD2A2D54927e9dE1594"
   type: EvmContract
   type: EvmContract
-- chain: neon_devnet
-  address: "0x2FF312f50689ad279ABb164dB255Eb568733BD6c"
-  type: EvmContract
-- chain: base_goerli
-  address: "0x5955C1478F0dAD753C7E2B4dD1b4bC530C64749f"
-  type: EvmContract
 - chain: kava
 - chain: kava
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
 - chain: avalanche
 - chain: avalanche
   address: "0x4305FB66699C3B2702D4d05CF36551390A4c69C6"
   address: "0x4305FB66699C3B2702D4d05CF36551390A4c69C6"
   type: EvmContract
   type: EvmContract
-- chain: linea_goerli
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
-  type: EvmContract
 - chain: canto
 - chain: canto
   address: "0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
   address: "0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
   type: EvmContract
   type: EvmContract
@@ -76,66 +46,21 @@
 - chain: neon
 - chain: neon
   address: "0x7f2dB085eFC3560AFF33865dD727225d91B4f9A5"
   address: "0x7f2dB085eFC3560AFF33865dD727225d91B4f9A5"
   type: EvmContract
   type: EvmContract
-- chain: celo_alfajores_testnet
-  address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
-  type: EvmContract
-- chain: fuji
-  address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
-  type: EvmContract
 - chain: mantle
 - chain: mantle
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: goerli
-  address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
-  type: EvmContract
 - chain: meter
 - chain: meter
   address: "0xbFe3f445653f2136b2FD1e6DdDb5676392E3AF16"
   address: "0xbFe3f445653f2136b2FD1e6DdDb5676392E3AF16"
   type: EvmContract
   type: EvmContract
-- chain: meter_testnet
-  address: "0x5fF5B9039FbD8256864A4460B7EA77093A65B1b5"
-  type: EvmContract
 - chain: kcc
 - chain: kcc
   address: "0xE0d0e68297772Dd5a1f1D99897c581E2082dbA5B"
   address: "0xE0d0e68297772Dd5a1f1D99897c581E2082dbA5B"
   type: EvmContract
   type: EvmContract
-- chain: evmos_testnet
-  address: "0x354bF866A4B006C9AF9d9e06d9364217A8616E12"
-  type: EvmContract
-- chain: zksync_goerli
-  address: "0xC38B1dd611889Abc95d4E0a472A667c3671c08DE"
-  type: EvmContract
-- chain: fantom_testnet
-  address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
-  type: EvmContract
 - chain: eos
 - chain: eos
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: wemix_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
-  type: EvmContract
 - chain: celo
 - chain: celo
   address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
   address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
   type: EvmContract
   type: EvmContract
-- chain: eos_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
-  type: EvmContract
-- chain: mumbai
-  address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
-  type: EvmContract
-- chain: aurora_testnet
-  address: "0x4305FB66699C3B2702D4d05CF36551390A4c69C6"
-  type: EvmContract
-- chain: optimism_goerli
-  address: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C"
-  type: EvmContract
-- chain: conflux_espace_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
-  type: EvmContract
-- chain: polygon_zkevm_testnet
-  address: "0xd54bf1758b1C932F86B178F8b1D5d1A7e2F62C2E"
-  type: EvmContract
-- chain: canto_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
-  type: EvmContract
 - chain: wemix
 - chain: wemix
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
@@ -148,72 +73,144 @@
 - chain: zksync
 - chain: zksync
   address: "0xf087c864AEccFb6A2Bf1Af6A0382B0d0f6c5D834"
   address: "0xf087c864AEccFb6A2Bf1Af6A0382B0d0f6c5D834"
   type: EvmContract
   type: EvmContract
-- chain: scroll_sepolia
+- chain: ronin
+  address: "0x2880aB155794e7179c9eE2e38200202908C17B43"
+  type: EvmContract
+- chain: horizen_eon
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: saigon
+- chain: shimmer
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: ronin
-  address: "0x2880aB155794e7179c9eE2e38200202908C17B43"
+- chain: boba
+  address: "0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF"
   type: EvmContract
   type: EvmContract
-- chain: horizen_gobi
+- chain: manta
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: horizen_eon
+- chain: scroll
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: sepolia
-  address: "0x2880aB155794e7179c9eE2e38200202908C17B43"
-  type: EvmContract
-- chain: shimmer
+- chain: chiliz
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: arbitrum_sepolia
+- chain: coredao
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: boba_goerli
+- chain: tomochain
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
   type: EvmContract
   type: EvmContract
-- chain: boba
+- chain: base_goerli
+  address: "0xEbe57e8045F2F230872523bbff7374986E45C486"
+  type: EvmContract
+- chain: arbitrum_sepolia
   address: "0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF"
   address: "0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF"
   type: EvmContract
   type: EvmContract
-- chain: manta_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: fuji
+  address: "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509"
   type: EvmContract
   type: EvmContract
-- chain: manta
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: canto_testnet
+  address: "0x26DD80569a8B23768A1d80869Ed7339e07595E85"
   type: EvmContract
   type: EvmContract
-- chain: optimism_sepolia
-  address: "0x2880aB155794e7179c9eE2e38200202908C17B43"
+- chain: polygon_zkevm_testnet
+  address: "0xFf255f800044225f54Af4510332Aa3D67CC77635"
   type: EvmContract
   type: EvmContract
-- chain: chiliz_spicy
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: aurora_testnet
+  address: "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
   type: EvmContract
   type: EvmContract
-- chain: scroll
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: mantle_testnet
+  address: "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21"
   type: EvmContract
   type: EvmContract
-- chain: zetachain_testnet
-  address: "0x87047526937246727E4869C5f76A347160e08672"
+- chain: chiado
+  address: "0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
   type: EvmContract
   type: EvmContract
-- chain: astar_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: kava_testnet
+  address: "0xfA25E653b44586dBbe27eE9d252192F0e4956683"
   type: EvmContract
   type: EvmContract
-- chain: chiliz
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: conflux_espace_testnet
+  address: "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21"
   type: EvmContract
   type: EvmContract
-- chain: coredao_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: celo_alfajores_testnet
+  address: "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
   type: EvmContract
   type: EvmContract
-- chain: coredao
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: bsc_testnet
+  address: "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb"
+  type: EvmContract
+- chain: syndr_nitro_testnet
+  address: "0xEbe57e8045F2F230872523bbff7374986E45C486"
+  type: EvmContract
+- chain: kcc_testnet
+  address: "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
+  type: EvmContract
+- chain: eos_testnet
+  address: "0x0708325268dF9F66270F1401206434524814508b"
+  type: EvmContract
+- chain: meter_testnet
+  address: "0x5a71C07a0588074443545eE0c08fb0375564c3E4"
+  type: EvmContract
+- chain: optimism_goerli
+  address: "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21"
   type: EvmContract
   type: EvmContract
 - chain: shimmer_testnet
 - chain: shimmer_testnet
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+  address: "0x8D254a21b3C86D32F7179855531CE99164721933"
   type: EvmContract
   type: EvmContract
-- chain: tomochain_testnet
+- chain: scroll_sepolia
+  address: "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c"
+  type: EvmContract
+- chain: saigon
+  address: "0xEbe57e8045F2F230872523bbff7374986E45C486"
+  type: EvmContract
+- chain: boba_goerli
+  address: "0x8D254a21b3C86D32F7179855531CE99164721933"
+  type: EvmContract
+- chain: manta_testnet
+  address: "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c"
+  type: EvmContract
+- chain: chiliz_spicy
   address: "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509"
   address: "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509"
   type: EvmContract
   type: EvmContract
-- chain: tomochain
-  address: "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729"
+- chain: astar_testnet
+  address: "0x8D254a21b3C86D32F7179855531CE99164721933"
+  type: EvmContract
+- chain: coredao_testnet
+  address: "0x8D254a21b3C86D32F7179855531CE99164721933"
+  type: EvmContract
+- chain: tomochain_testnet
+  address: "0x5D289Ad1CE59fCC25b6892e7A303dfFf3a9f7167"
+  type: EvmContract
+- chain: cronos_testnet
+  address: "0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320"
+  type: EvmContract
+- chain: wemix_testnet
+  address: "0x26DD80569a8B23768A1d80869Ed7339e07595E85"
+  type: EvmContract
+- chain: mumbai
+  address: "0xFC6bd9F9f0c6481c6Af3A7Eb46b296A5B85ed379"
+  type: EvmContract
+- chain: fantom_testnet
+  address: "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb"
+  type: EvmContract
+- chain: sepolia
+  address: "0x26DD80569a8B23768A1d80869Ed7339e07595E85"
+  type: EvmContract
+- chain: sepolia
+  address: "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21"
+  type: EvmContract
+- chain: linea_goerli
+  address: "0xdF21D137Aadc95588205586636710ca2890538d5"
+  type: EvmContract
+- chain: evmos_testnet
+  address: "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
+  type: EvmContract
+- chain: zetachain_testnet
+  address: "0x0708325268dF9F66270F1401206434524814508b"
+  type: EvmContract
+- chain: neon_devnet
+  address: "0x0708325268dF9F66270F1401206434524814508b"
+  type: EvmContract
+- chain: zksync_goerli
+  address: "0x8739d5024B5143278E2b15Bd9e7C26f6CEc658F1"
+  type: EvmContract
+- chain: optimism_sepolia
+  address: "0x0708325268dF9F66270F1401206434524814508b"
   type: EvmContract
   type: EvmContract

+ 66 - 15
governance/xc_admin/packages/xc_admin_common/src/chains.ts

@@ -3,16 +3,26 @@ import { CHAINS as WORMHOLE_CHAINS } from "@certusone/wormhole-sdk";
 // PYTH will have:
 // PYTH will have:
 // 1. Mainnet Deployment - which will have pyth mainnet governance and data sources
 // 1. Mainnet Deployment - which will have pyth mainnet governance and data sources
 // 2. Testnet Stable Deployment - which will also have pyth mainnet governance and data sources
 // 2. Testnet Stable Deployment - which will also have pyth mainnet governance and data sources
-// 3. Testnet Edge Deployment - which will have pyth testnet governance and data sources.
-// Different chains will have different chain ids i.e., mainnet and testnet will have different chain ids.
-// Though stable and edge contracts on testnet will share the same chain id. They are governed by different
-// sources hence there is no chance of collision.
+// Different chains will have different chain ids i.e., mainnet and testnet will have different chain ids
+// to avoid collision of governance messages.
 
 
-// If there is already a chain id in wormhole sdk. Use that for Mainnet
-// Else add a chain id for mainnet too.
-// Add an id for the testnet
-// Currently we are deploying this for cosmos chains only. But this will be for all the chains in future.
+// For evm networks, always add a new chain id, for the other networks If there is already a chain id in wormhole sdk,
+// use that for mainnet, and else add a chain id for mainnet too. Also add an id for testnet.
 export const RECEIVER_CHAINS = {
 export const RECEIVER_CHAINS = {
+  unset: 0, // The global chain id. For messages that are not chain specific.
+
+  // On the following networks we use our own version of Wormhole receiver contract
+  ethereum: 2,
+  bsc: 4,
+  polygon: 5,
+  avalanche: 6,
+  aurora: 9,
+  fantom: 10,
+  celo: 14,
+  injective: 19,
+  arbitrum: 23,
+  optimism: 24,
+
   cronos: 60001,
   cronos: 60001,
   kcc: 60002,
   kcc: 60002,
   zksync: 60003,
   zksync: 60003,
@@ -25,24 +35,18 @@ export const RECEIVER_CHAINS = {
   meter: 60010,
   meter: 60010,
   mantle: 60011,
   mantle: 60011,
   conflux_espace: 60012,
   conflux_espace: 60012,
-  injective_testnet: 60013,
   osmosis: 60014,
   osmosis: 60014,
-  osmosis_testnet_4: 60015,
-  osmosis_testnet_5: 60016,
   sei_pacific_1: 60017,
   sei_pacific_1: 60017,
-  sei_testnet_atlantic_2: 60018,
   neutron: 60019,
   neutron: 60019,
   juno: 60020,
   juno: 60020,
-  juno_testnet: 60021,
   kava: 60022,
   kava: 60022,
   wemix: 60023,
   wemix: 60023,
   linea: 60024,
   linea: 60024,
-  neutron_testnet_pion_1: 60025,
   eos: 60026,
   eos: 60026,
   syndr: 60027,
   syndr: 60027,
   scroll: 60028,
   scroll: 60028,
   ronin: 60029,
   ronin: 60029,
-  horizen: 60030,
+  horizen_eon: 60030,
   boba: 60031,
   boba: 60031,
   manta: 60032,
   manta: 60032,
   chiliz: 60033,
   chiliz: 60033,
@@ -50,6 +54,53 @@ export const RECEIVER_CHAINS = {
   astar: 60035,
   astar: 60035,
   coredao: 60036,
   coredao: 60036,
   tomochain: 60037,
   tomochain: 60037,
+
+  // Testnets as a separate chain ids (to use stable data sources and governance for them)
+  injective_testnet: 60013,
+  osmosis_testnet_4: 60015,
+  osmosis_testnet_5: 60016,
+  sei_testnet_atlantic_2: 60018,
+  juno_testnet: 60021,
+  neutron_testnet_pion_1: 60025,
+
+  linea_goerli: 50001,
+  fuji: 50002, // Avalanche testnet
+  base_goerli: 50003,
+  cronos_testnet: 50004,
+  zksync_goerli: 50005,
+  canto_testnet: 50006,
+  polygon_zkevm_testnet: 50007,
+  aurora_testnet: 50008,
+  mantle_testnet: 50009,
+  fantom_testnet: 50010,
+  mumbai: 50011, // Polygon testnet
+  neon_devnet: 50012,
+  chiado: 50013, // Gnosis testnet
+  kava_testnet: 50014,
+  evmos_testnet: 50015,
+  bsc_testnet: 50016,
+  conflux_espace_testnet: 50017,
+  optimism_goerli: 50018,
+  wemix_testnet: 50019,
+  celo_alfajores_testnet: 50020,
+  syndr_nitro_testnet: 50021,
+  kcc_testnet: 50022,
+  eos_testnet: 50023,
+  meter_testnet: 50024,
+  shimmer_testnet: 50025,
+  scroll_sepolia: 50026,
+  saigon: 50027, // Ronin testnet
+  horizen_gobi: 50028,
+  sepolia: 50029, // Ethereum latest testnet
+  arbitrum_sepolia: 50030, // Arbitrum latest testnet
+  boba_goerli: 50031,
+  manta_testnet: 50032,
+  optimism_sepolia: 50033,
+  chiliz_spicy: 50034, // Chiliz testnet
+  zetachain_testnet: 50035,
+  astar_testnet: 50036,
+  coredao_testnet: 50037,
+  tomochain_testnet: 50038,
 };
 };
 
 
 // If there is any overlapping value the receiver chain will replace the wormhole
 // If there is any overlapping value the receiver chain will replace the wormhole

+ 0 - 4
target_chains/ethereum/contracts/README.md

@@ -11,10 +11,6 @@ npm ci
 npx lerna run build --scope="@pythnetwork/pyth-evm-contract" --include-dependencies
 npx lerna run build --scope="@pythnetwork/pyth-evm-contract" --include-dependencies
 ```
 ```
 
 
-## Deployment
-
-Please refer to [Deploying.md](./Deploying.md) for more information.
-
 ## Foundry
 ## Foundry
 
 
 Foundry can be installed by the official installer, or by running our helper script which will automatically pull the correct installation script individually for Foundry and the Solidity compiler for your current OS. This may work better if you are running into networking/firewall issues using Foundry's Solidity installer. To use helper script, run the command below from this directory:
 Foundry can be installed by the official installer, or by running our helper script which will automatically pull the correct installation script individually for Foundry and the Solidity compiler for your current OS. This may work better if you are running into networking/firewall issues using Foundry's Solidity installer. To use helper script, run the command below from this directory:

+ 0 - 2
target_chains/ethereum/contracts/create-env.js

@@ -20,10 +20,8 @@ async function main() {
     `.env`,
     `.env`,
     `MIGRATIONS_DIR=./migrations/prod-receiver\n` +
     `MIGRATIONS_DIR=./migrations/prod-receiver\n` +
       `MIGRATIONS_NETWORK=${chain.getId()}\n` +
       `MIGRATIONS_NETWORK=${chain.getId()}\n` +
-      `WORMHOLE_CHAIN_NAME=${chain.wormholeChainName}\n` +
       `VALID_TIME_PERIOD_SECONDS=60\n` +
       `VALID_TIME_PERIOD_SECONDS=60\n` +
       `SINGLE_UPDATE_FEE_IN_WEI=1\n` +
       `SINGLE_UPDATE_FEE_IN_WEI=1\n` +
-      `CLUSTER=${chain.isMainnet() ? "mainnet" : "testnet"}\n` +
       `NETWORK_ID=${chain.networkId}\n` +
       `NETWORK_ID=${chain.networkId}\n` +
       `RPC_URL=${chain.getRpcUrl()}\n`
       `RPC_URL=${chain.getRpcUrl()}\n`
   );
   );

+ 8 - 0
target_chains/ethereum/contracts/deploy.sh

@@ -29,6 +29,9 @@ echo "Adding network metadata to the contract"
 # Merge the network addresses into the artifacts, if some contracts are already deployed.
 # Merge the network addresses into the artifacts, if some contracts are already deployed.
 npx apply-registry
 npx apply-registry
 
 
+# The channel to use for the price sources. Can be `stable` or `beta`.
+export CHANNEL=stable
+
 while [[ $# -ne 0 ]]; do
 while [[ $# -ne 0 ]]; do
     NETWORK=$1
     NETWORK=$1
     shift
     shift
@@ -51,6 +54,11 @@ while [[ $# -ne 0 ]]; do
         npx truffle migrate --network $MIGRATIONS_NETWORK --compile-none
         npx truffle migrate --network $MIGRATIONS_NETWORK --compile-none
         echo "Deployment to $NETWORK finished successfully"
         echo "Deployment to $NETWORK finished successfully"
     fi
     fi
+
+    if [[ $CHANNEL == stable ]]; then
+        echo "=========== Syncing guardian sets to ${NETWORK} ==========="
+        npm run receiver-submit-guardian-sets -- --network $NETWORK
+    fi
 done
 done
 
 
 echo "=========== Finished ==========="
 echo "=========== Finished ==========="

+ 2 - 3
target_chains/ethereum/contracts/deploy/zkSyncDeploy.ts

@@ -1,13 +1,12 @@
+require("dotenv").config({ path: ".env" });
 import { utils, Wallet } from "zksync-web3";
 import { utils, Wallet } from "zksync-web3";
 import { HardhatRuntimeEnvironment } from "hardhat/types";
 import { HardhatRuntimeEnvironment } from "hardhat/types";
 import { Deployer } from "@matterlabs/hardhat-zksync-deploy";
 import { Deployer } from "@matterlabs/hardhat-zksync-deploy";
-import loadEnv from "../scripts/loadEnv";
 import { CHAINS } from "xc_admin_common";
 import { CHAINS } from "xc_admin_common";
 import { assert } from "chai";
 import { assert } from "chai";
 import { writeFileSync } from "fs";
 import { writeFileSync } from "fs";
 
 
 const { getDefaultConfig } = require("../scripts/contractManagerConfig");
 const { getDefaultConfig } = require("../scripts/contractManagerConfig");
-loadEnv("./");
 
 
 function envOrErr(name: string): string {
 function envOrErr(name: string): string {
   const res = process.env[name];
   const res = process.env[name];
@@ -48,7 +47,7 @@ export default async function (hre: HardhatRuntimeEnvironment) {
     emitterChainIds,
     emitterChainIds,
   } = getDefaultConfig(envOrErr("MIGRATIONS_NETWORK"));
   } = getDefaultConfig(envOrErr("MIGRATIONS_NETWORK"));
 
 
-  const chainName = envOrErr("WORMHOLE_CHAIN_NAME");
+  const chainName = envOrErr("MIGRATIONS_NETWORK");
   const wormholeReceiverChainId = CHAINS[chainName];
   const wormholeReceiverChainId = CHAINS[chainName];
   assert(wormholeReceiverChainId !== undefined);
   assert(wormholeReceiverChainId !== undefined);
 
 

+ 1 - 3
target_chains/ethereum/contracts/deploy/zkSyncDeployNewPythImpl.ts

@@ -1,13 +1,11 @@
+require("dotenv").config({ path: ".env" });
 import { utils, Wallet } from "zksync-web3";
 import { utils, Wallet } from "zksync-web3";
 import { HardhatRuntimeEnvironment } from "hardhat/types";
 import { HardhatRuntimeEnvironment } from "hardhat/types";
 import { Deployer } from "@matterlabs/hardhat-zksync-deploy";
 import { Deployer } from "@matterlabs/hardhat-zksync-deploy";
-import loadEnv from "../scripts/loadEnv";
 import { assert } from "chai";
 import { assert } from "chai";
 import { writeFileSync } from "fs";
 import { writeFileSync } from "fs";
 import { ethers } from "ethers";
 import { ethers } from "ethers";
 
 
-loadEnv("./");
-
 function envOrErr(name: string): string {
 function envOrErr(name: string): string {
   const res = process.env[name];
   const res = process.env[name];
   if (res === undefined) {
   if (res === undefined) {

+ 2 - 4
target_chains/ethereum/contracts/migrations/prod-receiver/2_deploy_wormhole_receiver.js

@@ -1,6 +1,4 @@
-const loadEnv = require("../../scripts/loadEnv");
-loadEnv("../../");
-
+require("dotenv").config({ path: ".env" });
 const tdr = require("truffle-deploy-registry");
 const tdr = require("truffle-deploy-registry");
 const governance = require("xc_admin_common");
 const governance = require("xc_admin_common");
 const { assert } = require("chai");
 const { assert } = require("chai");
@@ -12,7 +10,7 @@ const { getDefaultConfig } = require("../../scripts/contractManagerConfig");
 
 
 // CONFIG
 // CONFIG
 
 
-const chainName = process.env.WORMHOLE_CHAIN_NAME;
+const chainName = process.env.MIGRATIONS_NETWORK;
 assert(chainName !== undefined);
 assert(chainName !== undefined);
 
 
 const wormholeReceiverChainId = governance.CHAINS[chainName];
 const wormholeReceiverChainId = governance.CHAINS[chainName];

+ 1 - 3
target_chains/ethereum/contracts/migrations/prod-receiver/3_deploy_pyth.js

@@ -1,6 +1,4 @@
-const loadEnv = require("../../scripts/loadEnv");
-loadEnv("../../");
-
+require("dotenv").config({ path: ".env" });
 const PythUpgradable = artifacts.require("PythUpgradable");
 const PythUpgradable = artifacts.require("PythUpgradable");
 const WormholeReceiver = artifacts.require("WormholeReceiver");
 const WormholeReceiver = artifacts.require("WormholeReceiver");
 
 

+ 5 - 5
target_chains/ethereum/contracts/networks/10200.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x5e92a04Cb8591cb7d9FD40B77B474cde0fE44D36"
+    "address": "0x35a58BeeE77a2Ad547FcDed7e8CB1c6e19746b13"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x556c444542f27137519eCF07A49E29a0e70E55Aa",
-    "transactionHash": "0x81fb99aeb0091777b2855a20b3b41ea3686d5bc8c7672ed753af9d8a3d15954e"
+    "address": "0x87047526937246727E4869C5f76A347160e08672",
+    "transactionHash": "0xbc6d1cc33f3077a6b5099060beef717cc833844ddafea072041f86737380574c"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xdDAf6D29b8bc81c1F0798a5e4c264ae89c16a72B",
-    "transactionHash": "0xcdfe6e47a60d81de9167f2d6e5735083524d22c5d5d2852668df1f83b0985917"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0xeb4346bd2b13abcf532137f2191206a30d5d7eae22344322fd4f570fa33730f0"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/1073.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0xd7729425584db58c3e9ed30428b43022d2e1d5cc912818108691068d69cc2780"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0xa12c1634163715bf649e58ba87bec9599a1787f9c5fbdd22f30ff828822d05c3"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x5f79ed2a8e6ef2d10b8be0e0f8bd5eac1206bfa1fe578ee812be775eb72a0a79"
+    "address": "0x8D254a21b3C86D32F7179855531CE99164721933",
+    "transactionHash": "0x8bbcc6cc84f444f48239896e1a18cb2550d95c1c7efbbdcd832c3f5092137bcd"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/1112.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x8afe07593eded6e9a061dd8ec59458dcf36033307afc21f68cd016be46de2d20"
+    "address": "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c",
+    "transactionHash": "0xc6531878453796022bd14c286ba9a26208b6557f50590c0f01f042278448e348"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x92fa026e0c85f030369e61a32f26d69e80f3e5d4f6a6befb27a3cfb5df804065"
+    "address": "0x26DD80569a8B23768A1d80869Ed7339e07595E85",
+    "transactionHash": "0x4c6106263f6a587ebda9838c61e067a2952e77d139d76f2e13e22f452d6957f8"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/1115.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x5346120e1b661bd901fd030fa5c6cbf9aec7e87bf878b7fac4cc34e335db6df3"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0x48682bd84a7bcaba532a036130a04c0c9fe66c18e31207c1120eea166ed331f9"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x1069255ec2bf797fa62c97fa0c3a026b6d67c5224bc15e6881e570e9da1e240c"
+    "address": "0x8D254a21b3C86D32F7179855531CE99164721933",
+    "transactionHash": "0xa0dab7ba877b9bbe1fa0403db6163d7e05ac912fc361bbe67b03e96fc580db50"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/11155111.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0xc194ed47f2288e16d4336525e8cc93a0643f18fb8657c5c28d8f79209126abca"
+    "address": "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c",
+    "transactionHash": "0xa93e10d18246cf152926319a7fa8957300d9a1b895c663e75691f6b46289f8a7"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x2880aB155794e7179c9eE2e38200202908C17B43",
-    "transactionHash": "0x91d1ccd2f6d019a0c5172ad2d9efa33a16a75ae77c9c56583c6cb1e03e39f969"
+    "address": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21",
+    "transactionHash": "0x4b54d32c459afe094c5eb01f0b9b19136aca13d4e7394c191c42d86c4215714a"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/11155420.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x6E3A2a644eeDCf6007d3c7d85F0094Cc1B25B2AE"
+    "address": "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x41955476936DdA8d0fA98b8d1778172F7E4fCcA1",
-    "transactionHash": "0x3d20838c6b12d59465ed226f2d43b5ba6c0db546bf1868f3166859c3e80e17d8"
+    "address": "0x8D254a21b3C86D32F7179855531CE99164721933",
+    "transactionHash": "0xc193ef989308a09b5e7a56289ea6a6601b27af5478eb6f97e3ec4809f58a1700"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x2880aB155794e7179c9eE2e38200202908C17B43",
-    "transactionHash": "0x65b2a3486228f28a61e6cad3eb068890e51a4da0a4863e28fc845a60d85699e5"
+    "address": "0x0708325268dF9F66270F1401206434524814508b",
+    "transactionHash": "0xaefb4292c87e92304c26d3c43272c2292b7abfe784983c59a62d3675b1746185"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/1261120.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x1963a847e167d3646d09558bb5d6a03d2c6bc43a83bc4bfe99ba4d8d2a9732ce"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0x5d41ba70dcf52111255dab5576009f74ca8dc5a1ddf5a87640163ee8dac8b8e6"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0xf16cecf292d47a9f924f833ad6ecc0c84de21a381f914cadfadaeea2c1f1620e"
+    "address": "0x8D254a21b3C86D32F7179855531CE99164721933",
+    "transactionHash": "0xb74415b1073640187084a41882ddcefe5fb3b7c8dfd1fe90aefc78c721dfb708"
   }
   }
 ]
 ]

+ 8 - 3
target_chains/ethereum/contracts/networks/1313161555.json

@@ -1,11 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x2880aB155794e7179c9eE2e38200202908C17B43",
+    "transactionHash": "0x6f1da99d424eb99eccf4dca531ecd0fed747ebce25223a42857b12e24439a570"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x4305FB66699C3B2702D4d05CF36551390A4c69C6",
-    "transactionHash": "0xcb2ad36f327e73f0aa55c8b18fd87881c5d5d83c324fdbfe133c471759a54825"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E",
+    "transactionHash": "0xa2849532db5637cceac08b12ac068c7e4862234c6dcd00b92bb70c11fe462938"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/1442.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xA4D48066e3B206E380c989ccB59B887691796e57"
+    "address": "0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0xb13722A7a87D9f5F080a133eb322A4deCC68f088",
-    "transactionHash": "0xc9d6c850e0e1d2f514cfbd6864b410e2bdb9a09d24ceb4355f1e4da325df0da0"
+    "address": "0x0402833A00e734821f74fA4bbdeD2F1759540519",
+    "transactionHash": "0x894de8593700b975a9064febbd6e073d8366f9bc78ccd9f4e4d68f50231daa9c"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xd54bf1758b1C932F86B178F8b1D5d1A7e2F62C2E",
-    "transactionHash": "0x6fa1950947ef8fdb40e8ffd5423207f6abbf1d79dd436dfe2575d4e7cfe3dddb"
+    "address": "0xFf255f800044225f54Af4510332Aa3D67CC77635",
+    "transactionHash": "0xcc1dea8dd6cc57592ea403b13d6edb388c0772a8d55232ccec40fedc1f93b5d7"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/15557.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x52fa3139a655d1d92c01073dbf5a57bcfa8754c63db13a137c16d24a5661e522"
+    "address": "0x8D254a21b3C86D32F7179855531CE99164721933",
+    "transactionHash": "0x47a411798d48350de0aed9af46e1f588ef4cf5ef32f0fca0900aa4bfc281afda"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x275abd4ca66afece361d33a84e26dc42703078d299ccb97be895b66fdfb757e9"
+    "address": "0x0708325268dF9F66270F1401206434524814508b",
+    "transactionHash": "0x9b2263cbeee8d56c43b9023c7920b1b8a358d7654a288e5d8ac8edb06b47fc36"
   }
   }
 ]
 ]

+ 3 - 8
target_chains/ethereum/contracts/networks/1663.json

@@ -1,16 +1,11 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x559ac682e747bdd646825497776694d944aa6184846c932c3d0c484109411374"
-  },
-  {
-    "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x34885d421b0e2ac05d892ce2e37ccbbbcc04f4dcf90d6c86ac1c658ff6b64fa5"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0xebc479bfe47741111b45d28cf03fd487034d93ebe617a62048704715f6e308be"
   }
   }
 ]
 ]

+ 10 - 0
target_chains/ethereum/contracts/networks/200.json

@@ -0,0 +1,10 @@
+[
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x056f829183Ec806A78c26C98961678c24faB71af"
+  },
+  {
+    "contractName": "PythUpgradable",
+    "address": "0x8739d5024B5143278E2b15Bd9e7C26f6CEc658F1"
+  }
+]

+ 16 - 0
target_chains/ethereum/contracts/networks/2021.json

@@ -0,0 +1,16 @@
+[
+  {
+    "contractName": "Migrations",
+    "address": "0x87047526937246727E4869C5f76A347160e08672"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320",
+    "transactionHash": "0x4d8d2c552d17816299e34a07a6ba03be79c6e903b72b2808b3e4eac9e95f7f2c"
+  },
+  {
+    "contractName": "PythUpgradable",
+    "address": "0xEbe57e8045F2F230872523bbff7374986E45C486",
+    "transactionHash": "0x5b125ddcfbce9256ba2fc396be3413c81901cb4cf029c10e991dbb4e3bad07e8"
+  }
+]

+ 5 - 5
target_chains/ethereum/contracts/networks/2221.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x0708325268dF9F66270F1401206434524814508b"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x87047526937246727E4869C5f76A347160e08672",
-    "transactionHash": "0x472c397969c3e0be996ed54cd80bddb5a2ab56e921dc51973f62e555da771368"
+    "address": "0xD458261E832415CFd3BAE5E416FdF3230ce6F134",
+    "transactionHash": "0x35287fecad1b02f192c6876d0b796a8d2d29f9f202d035a0225965366d491902"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
-    "transactionHash": "0x3062e9a8ebde180deb6b06980cd47a95b5a9b07aa75119382f6980e6dd4cc732"
+    "address": "0xfA25E653b44586dBbe27eE9d252192F0e4956683",
+    "transactionHash": "0x8a60d851502e15a54e06ae8687b6dc0f76aa5a398d71bff28fa59b5da65436f0"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/245022926.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x5e92a04Cb8591cb7d9FD40B77B474cde0fE44D36"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x5955C1478F0dAD753C7E2B4dD1b4bC530C64749f",
-    "transactionHash": "0x1c14a83c42fd99c7e78bfadf9a0200ac3cfd9682cdfbbf875b7ebf90ce75e520"
+    "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509",
+    "transactionHash": "0xfe4234e6a90b1e71943c632fa601d60cbf3ac3c37d78bacc07ed4c11c18ab20f"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x2FF312f50689ad279ABb164dB255Eb568733BD6c",
-    "transactionHash": "0x9fb37b19c9c4d1e765c495f74692de0645ce9efbd3ac7ad9d2a64f0bafccc675"
+    "address": "0x0708325268dF9F66270F1401206434524814508b",
+    "transactionHash": "0x8dac71b0f9c54fc38b757a2408e5c5fc24925a3d7b5f6319057f60e0dbbc757d"
   }
   }
 ]
 ]

+ 2 - 2
target_chains/ethereum/contracts/networks/280.json

@@ -1,10 +1,10 @@
 [
 [
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0xA32e2Fe21b6441689f1308867931F4F145186B9F"
+    "address": "0x056f829183Ec806A78c26C98961678c24faB71af"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xC38B1dd611889Abc95d4E0a472A667c3671c08DE"
+    "address": "0x8739d5024B5143278E2b15Bd9e7C26f6CEc658F1"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/2888.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x88883c1bdfd0b2ea87335e3a7d241fea529e62368be8f50bc2ef434299b793eb"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0x817fa34d680300ca2e5e59f22bf0597b8ddf62e179ddb295dfe0bd7021b252bc"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0xaa448d9b21ee187620674ca3b40a5bc8c7b3c2148f5206f18a80e2a288cd9604"
+    "address": "0x8D254a21b3C86D32F7179855531CE99164721933",
+    "transactionHash": "0x0aadc4b009aaa6b38ab3a8c92f374405bc0d1d3bf61e9d7ca084a6762102406a"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/322.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x4305FB66699C3B2702D4d05CF36551390A4c69C6",
-    "transactionHash": "0xf7568279c184e5cfacb3e837759e096133731cdbfe601ef207951d378ee81e7b"
+    "address": "0x2880aB155794e7179c9eE2e38200202908C17B43",
+    "transactionHash": "0x3380ebabfb9aa1478cf1ab3366d587e7a911cbc0a96e9244f1999a8611481b45"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x15D35b8985e350f783fe3d95401401E194ff1E6f",
-    "transactionHash": "0xfb01e67fb897d60854eaabfe1f7c1b5f9c773be5be62cc6f976a58fc8133980d"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E",
+    "transactionHash": "0xb2dfa8ff30423867b2c49bf8b7efbbd8b92786c93272695e2736e962707cfa01"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/338.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x15D35b8985e350f783fe3d95401401E194ff1E6f",
-    "transactionHash": "0x1c33d9b6971f7337e0e2ea390affe18fe90709dcb803712f6d8bb4a008705fb7"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E",
+    "transactionHash": "0xafa1d9477bc2503be1bdc3bde6867d1d11084472232ffb26c8d21285736b6d04"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xBAEA4A1A2Eaa4E9bb78f2303C213Da152933170E",
-    "transactionHash": "0x507d747b3c978794cc880a201c009d37367f66925b930c0cebc30c493c9d31eb"
+    "address": "0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320",
+    "transactionHash": "0x5bb4d330cd83e7acfaf3cf2bbf7ffd78b95c4853f9fff00e903e558ffc117734"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/3441005.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x6392d7c18598624ae90c50c0a1590d9577ae85e2e1e3858ba017e03c4309bfc5"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0xf1b781574f0371b45dfee549de7731b465964a0d5e26066a2f6bd6e0824cc62e"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x8f75db66aa64c7058d9b05d1763d5085d846f605a87860d839bb77a56b9571ca"
+    "address": "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c",
+    "transactionHash": "0x85613f8f1f9c39a85c9c99eac70df97c0d79b334a0912bf509a178567b4acb79"
   }
   }
 ]
 ]

+ 8 - 3
target_chains/ethereum/contracts/networks/4002.json

@@ -1,11 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0x41955476936DdA8d0fA98b8d1778172F7E4fCcA1"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc",
+    "transactionHash": "0x4d6cf22cccbbba0a3af77179139d4dd5886d3eca9f191be67d713618aeeeba16"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
-    "transactionHash": "0x0261874d2b5cd39e4a6b49276d13089d80e0a5a43efa82fc9cab9986633bd67e"
+    "address": "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb",
+    "transactionHash": "0xb38c29b87c0747cd4b0df12bbc9ca36c62420c389b89df3f757c9e24a5d2e65b"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/412346.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0xa2c0fe4dd6e9b3f752df9f4db1cce9067b976ee41e948c419aba8e14931b05c5"
+    "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509",
+    "transactionHash": "0x9c10c5a34b70cc318810ffae04ced8ca5987f25bffb3105ce7a46ea2f7741ac0"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0xfc10555db66929bd0b8c12adf6cdc9ea0dbf688e353fcd64566b23a3f1b1b456"
+    "address": "0xEbe57e8045F2F230872523bbff7374986E45C486",
+    "transactionHash": "0xaea4b8fe15e7c9db22236904a59dfc8ef2329f4c5db07c17f9afedc0404e4fb4"
   }
   }
 ]
 ]

+ 13 - 3
target_chains/ethereum/contracts/networks/420.json

@@ -1,11 +1,21 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509",
+    "transactionHash": "0x2a601d5328b24e05eea22049020388484513ce0759edce7a1226abbe7d787903"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0xEbe57e8045F2F230872523bbff7374986E45C486",
+    "transactionHash": "0x77819f07af5e5141344f0fbe749b3268ce20f2c54a62faa4fb7351e7be04c46a"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
-    "transactionHash": "0x89c663594a3d7468ab799b75b6424586c6bc150720584a952d8610165ba6c302"
+    "address": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21",
+    "transactionHash": "0x3a9eee905754690f65bfb9fa5bc79ff47c043f005f601522e097556510b75481"
   }
   }
 ]
 ]

+ 16 - 0
target_chains/ethereum/contracts/networks/421614.json

@@ -0,0 +1,16 @@
+[
+  {
+    "contractName": "Migrations",
+    "address": "0x5f3c61944CEb01B3eAef861251Fb1E0f14b848fb"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0xfA25E653b44586dBbe27eE9d252192F0e4956683",
+    "transactionHash": "0x6e1c7cf58c64c698fcece663ea053883c404f6b37f26526138e7cd5decbef34d"
+  },
+  {
+    "contractName": "PythUpgradable",
+    "address": "0x4374e5a8b9C22271E9EB878A2AA31DE97DF15DAF",
+    "transactionHash": "0xdc8988d4ab07e42a739044378489d419918f365143d09445a249abe949b6e75b"
+  }
+]

+ 8 - 3
target_chains/ethereum/contracts/networks/43113.json

@@ -1,11 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0x2880aB155794e7179c9eE2e38200202908C17B43"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb",
+    "transactionHash": "0x7ba228903a38458af0fc2d460993f047b5d94718cc152a7bd01bd8167dbe9e5b"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
-    "transactionHash": "0xf9f70f6671e8a5cbfcc04a93344260674aeb129cf6b3d7278f8c4712aea04f77"
+    "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509",
+    "transactionHash": "0xe02ba437c33e4df4f1652c464ff354105438b983feee0a74d2ae788fdd2911a8"
   }
   }
 ]
 ]

+ 8 - 3
target_chains/ethereum/contracts/networks/44787.json

@@ -1,11 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x2880aB155794e7179c9eE2e38200202908C17B43",
+    "transactionHash": "0x881bc2882c438578927915f39a9765ec979c7b67ec32e4e06b28ad4efc8053da"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
-    "transactionHash": "0x573694c6309a61713653bdce2333a6fa20e564d9a7e5b37b59b211f81ea83aa0"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E",
+    "transactionHash": "0x8a0fb4a2bbffc26daebd6f3ac999ab4443bc5da198f6e60b4a4e7423ab63d0b4"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/5001.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0xc72732e29994caa647e7fb891ee547eb1dcb76b66fc43751c9145e93a9a2b4a9"
+    "address": "0xEbe57e8045F2F230872523bbff7374986E45C486",
+    "transactionHash": "0x072913deeddfa7214d9a8411bf7c427b02e2d8631933a1e495705715a39c48d8"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x43468658e986846dd076bbc6abc2714e1b663a3b64b1d212534f05f31245d4e1"
+    "address": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21",
+    "transactionHash": "0xc55603d13811e4834255208cbdab5ad0960f4f3c10065960870c28fd9ff3c355"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/534351.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x87047526937246727E4869C5f76A347160e08672"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0xb8f76498bf67a70d502f0182570371a6e37947bdd66b3daceac39751d0ba5c4b"
+    "address": "0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320",
+    "transactionHash": "0x6f12923b7a7049e4fa226605db5565e11792866395b7a05bda18ceb9405bd141"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x59eefaa21c17deed2ecce2c766450e78b66d5c9790e7dfbf10114a72b785838f"
+    "address": "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c",
+    "transactionHash": "0x9a3da9264864df38f3d7e63689a26bdb791975193af08c244f589fdec49998ae"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/59140.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x26DD80569a8B23768A1d80869Ed7339e07595E85"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0xecde1af2814ab952a50056b496503fb230f0b4efe767b33c27c338860d8b3fb0"
+    "address": "0xfA25E653b44586dBbe27eE9d252192F0e4956683",
+    "transactionHash": "0xe42e4e56f81ad11df6e37ba77a288a6867bda27af5d05bbc7fa56814f379a5d2"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0xc1b04e9261e9a92e3387186ba90affc88ee9ac53ec91ffd8b369aa6a6b85b775"
+    "address": "0xdF21D137Aadc95588205586636710ca2890538d5",
+    "transactionHash": "0xb082fd7e8c8b8272ba346631ffbedb9cf874a99cacc51256e1e0b184a43cb096"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/7001.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0xf58d1cff10bf5da47a8dc36afa61dfd130703602dcf7df035108bb5ff835aa34"
+    "address": "0x8D254a21b3C86D32F7179855531CE99164721933",
+    "transactionHash": "0x3605b7bd2003f35b608638d8487bd0704b9ef677be21a7a68bd181ba368507a0"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x87047526937246727E4869C5f76A347160e08672",
-    "transactionHash": "0x9d793808f5bc087a1db5ffe06292085db0ff513c489718ad9d21200d039bac8f"
+    "address": "0x0708325268dF9F66270F1401206434524814508b",
+    "transactionHash": "0x5cc83266f3ff7dcaab194fb3ca0786edccd862d535f806c7c2eda3cb0f55f61b"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/71.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x36825bf3Fbdf5a29E2d5148bfe7Dcf7B5639e320"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x78366f5b1627692f296289d28375893971e7a6e3919b172f0c0d94802b80cf0a"
+    "address": "0xEbe57e8045F2F230872523bbff7374986E45C486",
+    "transactionHash": "0xb6c5309267db189e05599bd6f782e8f7a2b8e3d917e6c3030e673a782720e36d"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x14ecc13cff83dd7c6109443549cc0543b555fbc1ff2625c5b10854edae0cee7f"
+    "address": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21",
+    "transactionHash": "0x436a6f0207c57e980b0517bc27779bed018a74ba1b815eb6a0bba4c03b4543c2"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/7701.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x88f723ceda562f62f8694a6636967189f41fd32819dbe9aeebd47fb37182e4cf"
+    "address": "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c",
+    "transactionHash": "0xabd2f43ea8c0e4d351127a803f0c7dbbd8f89df0ecdbfa237d9d50fbca8abc1b"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0x96a9388ee29c40f04e306aaaf924e25e228545d443d2ef7b584c043c8f7f9666"
+    "address": "0x26DD80569a8B23768A1d80869Ed7339e07595E85",
+    "transactionHash": "0x0e2f895eaa73e933de4b683b3b9c0d3aca694c613db1f01e098358ec0d6ba891"
   }
   }
 ]
 ]

+ 8 - 3
target_chains/ethereum/contracts/networks/80001.json

@@ -1,11 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x1c6Cd107fB71768FBc46F8B6180Eec155C03eEb5"
+    "address": "0xCd76c50c3210C5AaA9c39D53A4f95BFd8b1a3a19"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x876A4e56A51386aBb1a5ab5d62f77E814372f0C7",
+    "transactionHash": "0x0aed002802f1a18c24ca981c9aa8fff23dc088e3f0d047016b3dc4bc5b7bd910"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C",
-    "transactionHash": "0xad07603dc3bdf109bdffb95097303b5cb6c254e9cd13538d8f73edcebc525ebf"
+    "address": "0xFC6bd9F9f0c6481c6Af3A7Eb46b296A5B85ed379",
+    "transactionHash": "0x5c2ce50e010da0e38cd8def8492bf1a0a469fe6a58ea39872c3c66a0b7f08b8a"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/83.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x411DDe0Ffe69FBD22bd5132dCA5070A63daCC35C"
+    "address": "0x49b8d3872661602A81086F5d663934c9Ffb1FB5C"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0xe2a119872F5119398ea70669ae3BF0b0cca5ADeB",
-    "transactionHash": "0x7128125aec6faff8b5ee8541b13bd2d1072e38271f579d2292ad29a642199fa5"
+    "address": "0x257c3B61102442C1c3286Efbd24242322d002920",
+    "transactionHash": "0xe486c887035a7c958e4d2ab82682583f57290edf72550b09b69e367c894b5741"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x5fF5B9039FbD8256864A4460B7EA77093A65B1b5",
-    "transactionHash": "0x561cb8b1936bb3979d603a9e871cb61c2d485b0e51ef011982a1970e30ea5f5e"
+    "address": "0x5a71C07a0588074443545eE0c08fb0375564c3E4",
+    "transactionHash": "0xe1efb01c6b9b79db431eaa80fda2c1e542c4edbc19b8e620143c26efc69fb57a"
   }
   }
 ]
 ]

+ 8 - 3
target_chains/ethereum/contracts/networks/84531.json

@@ -1,11 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x845122970AA347Ad841F22156EFdff7F3Eaf30Ce"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509",
+    "transactionHash": "0xba50c9096c1d377ad9e55796f9b3ab6de443fa7cedb0bf2da18de1e6f0555fcf"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x5955C1478F0dAD753C7E2B4dD1b4bC530C64749f",
-    "transactionHash": "0xda0a2d4c13f677632102577b8eadb5ca11abd25d60e833c7d041ee84f4b922e0"
+    "address": "0xEbe57e8045F2F230872523bbff7374986E45C486",
+    "transactionHash": "0x56c117bde49b045461fff0b7304425f22a476e79b11cfde617a19914ee697db0"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/88882.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xf5BBe9558F4Bf37F1eB82fb2CEdb1C775FA56832"
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a",
-    "transactionHash": "0x25c96b6f7cf12be50d5c7b04a2e3ed8afaee4bcc11eac5fb364a012abf54a2a6"
+    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
+    "transactionHash": "0x56b330316a4a0f0c8b444eb700dc072ae0428f85475154c5e080991df948e4a8"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xA2aa501b19aff244D90cc15a4Cf739D2725B5729",
-    "transactionHash": "0xb8749b0463a0cc7f0afd6f4b5da4e6fa608a0214cb96ae3caa6f04b9dc6741d6"
+    "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509",
+    "transactionHash": "0xdca738f295b40e287a726ee63ac55db42191ba21bfe3de139d0f2f51a5bd4f8f"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/89.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc"
+    "address": "0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0x98046Bd286715D3B0BC227Dd7a956b83D8978603",
-    "transactionHash": "0xe1dba0ad8e34fff53f9bcca6f1efd7a771ee09400e89d7f171334078f229a550"
+    "address": "0xDd24F84d36BF92C65F92307595335bdFab5Bbd21",
+    "transactionHash": "0x7293fac6bc998243ee9c7e8154d8dd94627f4747a8f6dbb08d905f1b5aeb1247"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x23f0e8FAeE7bbb405E7A7C3d60138FCfd43d7509",
-    "transactionHash": "0xd1b29ca2e4973a19b06b6aa96fe6150f40c1f252cfa698401c2581ba17111a64"
+    "address": "0x5D289Ad1CE59fCC25b6892e7A303dfFf3a9f7167",
+    "transactionHash": "0xe4f40d2c58ba7d248bf56dffc982fe3791c1c3f1396b9189c66957a24dc9c97e"
   }
   }
 ]
 ]

+ 5 - 5
target_chains/ethereum/contracts/networks/9000.json

@@ -1,16 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x5e92a04Cb8591cb7d9FD40B77B474cde0fE44D36"
+    "address": "0x8250f4aF4B972684F7b336503E2D6dFeDeB1487a"
   },
   },
   {
   {
     "contractName": "WormholeReceiver",
     "contractName": "WormholeReceiver",
-    "address": "0xfD4EC459371580925319059306388D9753f72405",
-    "transactionHash": "0x664b5882e14416bae9c40a03dcc4f5ca769eaed41bb44596c31056b1f4386bad"
+    "address": "0x2880aB155794e7179c9eE2e38200202908C17B43",
+    "transactionHash": "0x668110a253820aeb61b4becbdf423f80e91b4b3b72c81fa1bb985d0bf467c1a7"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0x354bF866A4B006C9AF9d9e06d9364217A8616E12",
-    "transactionHash": "0xeece8e67ba75cdd07348ddafa383e7371b15ad08e2e630c8f040025c72fa6eba"
+    "address": "0x74f09cb3c7e2A01865f424FD14F6dc9A14E3e94E",
+    "transactionHash": "0x5550d5d071da46d6e3b08eeec33cf04e7121b68c1d86bc653c0558e582884169"
   }
   }
 ]
 ]

+ 8 - 3
target_chains/ethereum/contracts/networks/97.json

@@ -1,11 +1,16 @@
 [
 [
   {
   {
     "contractName": "Migrations",
     "contractName": "Migrations",
-    "address": "0x8005731FD1b5b5751a08801FB19B75108C175c87"
+    "address": "0x41955476936DdA8d0fA98b8d1778172F7E4fCcA1"
+  },
+  {
+    "contractName": "WormholeReceiver",
+    "address": "0xe9d69CdD6Fe41e7B621B4A688C5D1a68cB5c8ADc",
+    "transactionHash": "0x9da1611466ed1b67d12aacfe9779cd9ed554399d62845b8d24abadf1ed624967"
   },
   },
   {
   {
     "contractName": "PythUpgradable",
     "contractName": "PythUpgradable",
-    "address": "0xd7308b14BF4008e7C7196eC35610B1427C5702EA",
-    "transactionHash": "0xaf87d230967901c4122ae191647efb5016033d2b4130e3d174ea136633f2fb8f"
+    "address": "0x5744Cbf430D99456a0A8771208b674F27f8EF0Fb",
+    "transactionHash": "0x5051ed4fb3de92e45523567c4f9081d6681d0d03db09186d8e03866a6ed5d193"
   }
   }
 ]
 ]

+ 2 - 3
target_chains/ethereum/contracts/scripts/contractManagerConfig.js

@@ -13,10 +13,9 @@ function convertChainId(number) {
   return "0x" + number.toString(16);
   return "0x" + number.toString(16);
 }
 }
 
 
-function getDefaultConfig(chainName) {
-  const chain = DefaultStore.chains[chainName];
+function getDefaultConfig(_chainName) {
   const { dataSources, governanceDataSource, wormholeConfig } =
   const { dataSources, governanceDataSource, wormholeConfig } =
-    getDefaultDeploymentConfig(chain.isMainnet() ? "stable" : "beta");
+    getDefaultDeploymentConfig(process.env.CHANNEL);
 
 
   const emitterChainIds = dataSources.map((dataSource) =>
   const emitterChainIds = dataSources.map((dataSource) =>
     convertChainId(dataSource.emitterChain)
     convertChainId(dataSource.emitterChain)

+ 0 - 17
target_chains/ethereum/contracts/scripts/loadEnv.js

@@ -1,17 +0,0 @@
-const dotenv = require("dotenv");
-var path = require("path");
-
-/**
- * Load environment variables for truffle. This method will load some
- * cluster-wide environment variables if `CLUSTER` is set in
- * `{rootPath}/.env`.
- * @param {string} rootPath
- */
-module.exports = function loadEnv(rootPath) {
-  dotenv.config({ path: path.join(rootPath, ".env") });
-  if (process.env.CLUSTER !== undefined) {
-    dotenv.config({
-      path: path.join(rootPath, `.env.cluster.${process.env.CLUSTER}`),
-    });
-  }
-};