From 292558e4dc1c6d6a318481146563d68b0ec435ad Mon Sep 17 00:00:00 2001 From: Ali Behjati Date: Tue, 7 Mar 2023 17:50:17 +0000 Subject: [PATCH] [eth] Add new testnets - Add chiado (gnosis testnet) and shimmer testnet - Add chiado and shimmer_testnet and base_goerli addr to js sdk --- governance/xc_governance_sdk_js/package.json | 2 +- governance/xc_governance_sdk_js/src/chains.ts | 2 ++ package-lock.json | 6 ++---- .../ethereum/contracts/.env.prod.chiado | 7 +++++++ .../ethereum/contracts/.env.prod.shimmer_testnet | 5 +++++ target_chains/ethereum/contracts/Deploying.md | 2 +- .../ethereum/contracts/networks/10200.json | 16 ++++++++++++++++ .../ethereum/contracts/networks/1070.json | 16 ++++++++++++++++ .../ethereum/contracts/scripts/syncPythState.js | 2 +- .../ethereum/contracts/truffle-config.js | 13 +++++++++++++ target_chains/ethereum/sdk/js/package.json | 2 +- target_chains/ethereum/sdk/js/src/index.ts | 9 ++++++--- 12 files changed, 71 insertions(+), 11 deletions(-) create mode 100644 target_chains/ethereum/contracts/.env.prod.chiado create mode 100644 target_chains/ethereum/contracts/.env.prod.shimmer_testnet create mode 100644 target_chains/ethereum/contracts/networks/10200.json create mode 100644 target_chains/ethereum/contracts/networks/1070.json diff --git a/governance/xc_governance_sdk_js/package.json b/governance/xc_governance_sdk_js/package.json index 50acffaf28..c4d671aa2c 100644 --- a/governance/xc_governance_sdk_js/package.json +++ b/governance/xc_governance_sdk_js/package.json @@ -1,6 +1,6 @@ { "name": "@pythnetwork/xc-governance-sdk", - "version": "0.1.0", + "version": "0.2.0", "description": "Pyth Cross-chain Governance SDK", "homepage": "https://pyth.network", "main": "lib/index.js", diff --git a/governance/xc_governance_sdk_js/src/chains.ts b/governance/xc_governance_sdk_js/src/chains.ts index 90fc141384..db87dcde54 100644 --- a/governance/xc_governance_sdk_js/src/chains.ts +++ b/governance/xc_governance_sdk_js/src/chains.ts @@ -5,6 +5,8 @@ export const RECEIVER_CHAINS = { cronos: 60001, kcc: 60002, zksync: 60003, + shimmer: 60004, + gnosis: 60005, }; // If there is any overlapping value the receiver chain will replace the wormhole diff --git a/package-lock.json b/package-lock.json index 26b2c8ca68..058d7929e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1598,7 +1598,7 @@ }, "governance/xc_governance_sdk_js": { "name": "@pythnetwork/xc-governance-sdk", - "version": "0.1.0", + "version": "0.2.0", "license": "Apache-2.0", "dependencies": { "@certusone/wormhole-sdk": "^0.6.2", @@ -27726,7 +27726,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", - "hasInstallScript": true, "optional": true, "dependencies": { "node-gyp-build": "^4.3.0" @@ -28056,7 +28055,6 @@ "version": "5.0.7", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", - "hasInstallScript": true, "optional": true, "dependencies": { "node-gyp-build": "^4.3.0" @@ -49644,7 +49642,7 @@ }, "target_chains/ethereum/sdk/js": { "name": "@pythnetwork/pyth-evm-js", - "version": "1.1.0", + "version": "1.2.0", "license": "Apache-2.0", "dependencies": { "@pythnetwork/price-service-client": "*", diff --git a/target_chains/ethereum/contracts/.env.prod.chiado b/target_chains/ethereum/contracts/.env.prod.chiado new file mode 100644 index 0000000000..c37b9e3daa --- /dev/null +++ b/target_chains/ethereum/contracts/.env.prod.chiado @@ -0,0 +1,7 @@ +# Chiado is gnosis testnet + +MIGRATIONS_DIR=./migrations/prod-receiver +MIGRATIONS_NETWORK=chiado +WORMHOLE_CHAIN_NAME=gnosis +CLUSTER=testnet +VALID_TIME_PERIOD_SECONDS=60 diff --git a/target_chains/ethereum/contracts/.env.prod.shimmer_testnet b/target_chains/ethereum/contracts/.env.prod.shimmer_testnet new file mode 100644 index 0000000000..67d2ddece4 --- /dev/null +++ b/target_chains/ethereum/contracts/.env.prod.shimmer_testnet @@ -0,0 +1,5 @@ +MIGRATIONS_DIR=./migrations/prod-receiver +MIGRATIONS_NETWORK=shimmer_testnet +WORMHOLE_CHAIN_NAME=shimmer +CLUSTER=testnet +VALID_TIME_PERIOD_SECONDS=60 diff --git a/target_chains/ethereum/contracts/Deploying.md b/target_chains/ethereum/contracts/Deploying.md index a741cbf16b..9d26e60c6f 100644 --- a/target_chains/ethereum/contracts/Deploying.md +++ b/target_chains/ethereum/contracts/Deploying.md @@ -84,7 +84,7 @@ This is the deployment process: If the deployment script runs successfully you should see many ✅s and no ❌s with a successful message. Please note that if you need to deploy/upgrade a zkSync network contract, you should deploy/upgrade it manually first as described below. -7. On first time deployments for a network with Wormhole Receiver contract, run this command: +7. On first time deployments for a **mainnet** network with Wormhole Receiver contract, run this command: ```bash npm run receiver-submit-guardian-sets -- --network ``` diff --git a/target_chains/ethereum/contracts/networks/10200.json b/target_chains/ethereum/contracts/networks/10200.json new file mode 100644 index 0000000000..65d52f1ff1 --- /dev/null +++ b/target_chains/ethereum/contracts/networks/10200.json @@ -0,0 +1,16 @@ +[ + { + "contractName": "Migrations", + "address": "0x5e92a04Cb8591cb7d9FD40B77B474cde0fE44D36" + }, + { + "contractName": "WormholeReceiver", + "address": "0x556c444542f27137519eCF07A49E29a0e70E55Aa", + "transactionHash": "0x81fb99aeb0091777b2855a20b3b41ea3686d5bc8c7672ed753af9d8a3d15954e" + }, + { + "contractName": "PythUpgradable", + "address": "0xdDAf6D29b8bc81c1F0798a5e4c264ae89c16a72B", + "transactionHash": "0xcdfe6e47a60d81de9167f2d6e5735083524d22c5d5d2852668df1f83b0985917" + } +] diff --git a/target_chains/ethereum/contracts/networks/1070.json b/target_chains/ethereum/contracts/networks/1070.json new file mode 100644 index 0000000000..3bc43d3ce5 --- /dev/null +++ b/target_chains/ethereum/contracts/networks/1070.json @@ -0,0 +1,16 @@ +[ + { + "contractName": "Migrations", + "address": "0x5e92a04Cb8591cb7d9FD40B77B474cde0fE44D36" + }, + { + "contractName": "WormholeReceiver", + "address": "0xfD4EC459371580925319059306388D9753f72405", + "transactionHash": "0x5c78255a6dae47e47e1b5c528ef053554575dc0a1663c476595823204cab7795" + }, + { + "contractName": "PythUpgradable", + "address": "0x354bF866A4B006C9AF9d9e06d9364217A8616E12", + "transactionHash": "0x5896bfc116287c1bd6637f4e45f9a6ff21a8ac787266fec3f7f2f2fe372731d5" + } +] diff --git a/target_chains/ethereum/contracts/scripts/syncPythState.js b/target_chains/ethereum/contracts/scripts/syncPythState.js index 1ef24f3ed1..e44733f28c 100644 --- a/target_chains/ethereum/contracts/scripts/syncPythState.js +++ b/target_chains/ethereum/contracts/scripts/syncPythState.js @@ -39,7 +39,7 @@ async function execMultisigCommand(cmd) { console.log(`Executing "${fullCmd}"`); const { stdout, stderr } = await exec(fullCmd, { - cwd: "../../governance/multisig_wh_message_builder", + cwd: "../../../governance/multisig_wh_message_builder", }); console.log("stdout:"); diff --git a/target_chains/ethereum/contracts/truffle-config.js b/target_chains/ethereum/contracts/truffle-config.js index c739d53443..0953c3e32e 100644 --- a/target_chains/ethereum/contracts/truffle-config.js +++ b/target_chains/ethereum/contracts/truffle-config.js @@ -181,6 +181,19 @@ module.exports = { provider: payerProvider(`https://evm-t3.cronos.org`), network_id: 338, }, + shimmer_testnet: { + provider: payerProvider(`https://json-rpc.evm.testnet.shimmer.network`), + network_id: 1070, + }, + gnosis: { + provider: payerProvider(`https://rpc.gnosischain.com`), + network_id: 100, + }, + chiado: { + // gnosis testnet + provider: payerProvider(`https://rpc.chiadochain.net`), + network_id: 10200, + }, }, compilers: { diff --git a/target_chains/ethereum/sdk/js/package.json b/target_chains/ethereum/sdk/js/package.json index 41eeeb4780..10fbf789bb 100644 --- a/target_chains/ethereum/sdk/js/package.json +++ b/target_chains/ethereum/sdk/js/package.json @@ -1,6 +1,6 @@ { "name": "@pythnetwork/pyth-evm-js", - "version": "1.1.0", + "version": "1.2.0", "description": "Pyth Network EVM Utils in JS", "homepage": "https://pyth.network", "author": { diff --git a/target_chains/ethereum/sdk/js/src/index.ts b/target_chains/ethereum/sdk/js/src/index.ts index 15eef96b00..dc22f87fe8 100644 --- a/target_chains/ethereum/sdk/js/src/index.ts +++ b/target_chains/ethereum/sdk/js/src/index.ts @@ -11,10 +11,10 @@ export { export const CONTRACT_ADDR: Record = { bnb_testnet: "0xd7308b14BF4008e7C7196eC35610B1427C5702EA", - fuji: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", + fuji: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", // Avalanche testnet fantom_testnet: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", goerli: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", - mumbai: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", + mumbai: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", // Polygon testnet aurora_testnet: "0x4305FB66699C3B2702D4d05CF36551390A4c69C6", bnb: "0x4D7E825f80bDf85e913E0DD2A2D54927e9dE1594", avalanche: "0x4305FB66699C3B2702D4d05CF36551390A4c69C6", @@ -26,11 +26,14 @@ export const CONTRACT_ADDR: Record = { arbitrum: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", optimism_goerli: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", celo: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", - celo_alfajores: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", + celo_alfajores: "0xff1a0f4744e8582DF1aE09D5611b887B6a12925C", // Celo testnet kcc: "0xE0d0e68297772Dd5a1f1D99897c581E2082dbA5B", kcc_testnet: "0x15D35b8985e350f783fe3d95401401E194ff1E6f", cronos: "0xE0d0e68297772Dd5a1f1D99897c581E2082dbA5B", cronos_testnet: "0xBAEA4A1A2Eaa4E9bb78f2303C213Da152933170E", arbitrum_goerli: "0x939C0e902FF5B3F7BA666Cc8F6aC75EE76d3f900", zksync_goerli: "0xF532F2C1bB7b67E08f7D8B76f9fF804D0831725e", + base_goerli: "0x5955C1478F0dAD753C7E2B4dD1b4bC530C64749f", + shimmer_testnet: "0x354bF866A4B006C9AF9d9e06d9364217A8616E12", + chiado: "0xdDAf6D29b8bc81c1F0798a5e4c264ae89c16a72B", // Gnosis testnet };