From 34a78482eeb1ae8b1faf592ca137fa91c8f20c0b Mon Sep 17 00:00:00 2001 From: Attiss Ngo <92927591+AttissNgo@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:13:54 -0600 Subject: [PATCH 1/4] refactor(stellar): update ITS deployment script and trusted chain (#471) Co-authored-by: Milap Sheth --- stellar/README.md | 11 ++++++++--- stellar/deploy-contract.js | 3 ++- stellar/its.js | 29 ++++++++++++++--------------- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/stellar/README.md b/stellar/README.md index e5c2df9a..c03f2f19 100644 --- a/stellar/README.md +++ b/stellar/README.md @@ -87,6 +87,9 @@ node stellar/deploy-contract.js deploy axelar_gas_service --chain-name --wasm-path ../axelar-cgp-soroban/target/wasm32-unknown-unknown/release/interchain_token.optimized.wasm ```bash node stellar/deploy-contract.js deploy interchain_token_service --chain-name --wasm-path ../axelar-cgp-soroban/target/wasm32-unknown-unknown/release/interchain_token_service.optimized.wasm ``` @@ -173,16 +176,18 @@ node stellar/deploy-contract.js upgrade axelar_gateway --wasm-path ../axelar-cgp ### Interchain Token Service -#### Set Trusted Address +_Note_: Stellar ITS runs only in Hub mode. P2P connections are not supported. Therefore, rather than setting trusted ITS addresses, we set trusted chains (chains which are also registered with ITS Hub). The ITS Hub chain (axelar) itself is not a valid source/destination for direct ITS messages and so shouldn't be set as a trusted chain. All ITS messages must be sent to and received from the ITS Hub. + +#### Set Trusted Chain ```bash -node stellar/its.js set-trusted-address [chain-name] [trusted-address] +node stellar/its.js set-trusted-chain [chain-name] ``` #### Remove Trusted Address ```bash -node stellar/its.js remove-trusted-address [chain-name] +node stellar/its.js remove-trusted-chain [chain-name] ``` ## TTL extension and state archival recovery diff --git a/stellar/deploy-contract.js b/stellar/deploy-contract.js index dd0e397a..23b23f59 100644 --- a/stellar/deploy-contract.js +++ b/stellar/deploy-contract.js @@ -50,6 +50,7 @@ async function getInitializeArgs(config, chain, contractName, wallet, options) { case 'interchain_token_service': { const gatewayAddress = nativeToScVal(Address.fromString(chain?.contracts?.axelar_gateway?.address), { type: 'address' }); const gasServiceAddress = nativeToScVal(Address.fromString(chain?.contracts?.axelar_gas_service?.address), { type: 'address' }); + const itsHubAddress = nativeToScVal(config.axelar?.contracts?.InterchainTokenService?.address, { type: 'string' }); const chainName = nativeToScVal('stellar', { type: 'string' }); if (!chain?.contracts?.interchain_token?.wasmHash) { @@ -60,7 +61,7 @@ async function getInitializeArgs(config, chain, contractName, wallet, options) { type: 'bytes', }); - return { owner, gatewayAddress, gasServiceAddress, chainName, interchainTokenWasmHash }; + return { owner, gatewayAddress, gasServiceAddress, itsHubAddress, chainName, interchainTokenWasmHash }; } case 'axelar_operators': diff --git a/stellar/its.js b/stellar/its.js index 8a0940fc..9ff21691 100644 --- a/stellar/its.js +++ b/stellar/its.js @@ -5,23 +5,22 @@ const { saveConfig, loadConfig, addOptionsToCommands, getChainConfig } = require const { addBaseOptions, getWallet, broadcast } = require('./utils'); const { prompt } = require('../common/utils'); -async function setTrustedAddress(wallet, _, chain, contractConfig, args, options) { +async function setTrustedChain(wallet, _, chain, contractConfig, arg, options) { const contract = new Contract(contractConfig.address); - const [chainName, trustedAddress] = args; - const callArgs = [chainName, trustedAddress].map(nativeToScVal); + const callArg = nativeToScVal(arg, { type: 'string' }); - const operation = contract.call('set_trusted_address', ...callArgs); + const operation = contract.call('set_trusted_chain', callArg); - await broadcast(operation, wallet, chain, 'Trusted Address Set', options); + await broadcast(operation, wallet, chain, 'Trusted Chain Set', options); } -async function removeTrustedAddress(wallet, _, chain, contractConfig, arg, options) { +async function removeTrustedChain(wallet, _, chain, contractConfig, arg, options) { const contract = new Contract(contractConfig.address); const callArg = nativeToScVal(arg, { type: 'string' }); - const operation = contract.call('remove_trusted_address', callArg); + const operation = contract.call('remove_trusted_chain', callArg); - await broadcast(operation, wallet, chain, 'Trusted Address Removed', options); + await broadcast(operation, wallet, chain, 'Trusted Chain Removed', options); } async function mainProcessor(processor, args, options) { @@ -49,17 +48,17 @@ if (require.main === module) { program.name('its').description('Interchain Token Service contract operations.'); program - .command('set-trusted-address ') - .description('set a trusted ITS address for a given chain') - .action((chainName, trustedAddress, options) => { - mainProcessor(setTrustedAddress, [chainName, trustedAddress], options); + .command('set-trusted-chain ') + .description('set a trusted ITS chain') + .action((chainName, options) => { + mainProcessor(setTrustedChain, chainName, options); }); program - .command('remove-trusted-address ') - .description('remove a trusted ITS address for a given chain') + .command('remove-trusted-chain ') + .description('remove a trusted ITS chain') .action((chainName, options) => { - mainProcessor(removeTrustedAddress, chainName, options); + mainProcessor(removeTrustedChain, chainName, options); }); addOptionsToCommands(program, addBaseOptions); From 4f86e7d3ace75ddcbd56c8851038a7000790d1ad Mon Sep 17 00:00:00 2001 From: Talal Ashraf Date: Thu, 12 Dec 2024 10:35:19 -0500 Subject: [PATCH 2/4] chore: update ITS stagenet (#464) Co-authored-by: RiceAndmeet Co-authored-by: blockchainguyy --- axelar-chains-config/info/stagenet.json | 637 ++++++++---------------- cosmwasm/utils.js | 4 +- evm/gateway.js | 2 +- evm/its.js | 2 +- 4 files changed, 214 insertions(+), 431 deletions(-) diff --git a/axelar-chains-config/info/stagenet.json b/axelar-chains-config/info/stagenet.json index 546f7343..fe74a23c 100644 --- a/axelar-chains-config/info/stagenet.json +++ b/axelar-chains-config/info/stagenet.json @@ -2,7 +2,7 @@ "chains": { "avalanche": { "name": "Avalanche", - "axelarId": "Avalanche", + "axelarId": "avalanche", "chainId": 43113, "rpc": "https://api.avax-test.network/ext/bc/C/rpc", "tokenSymbol": "AVAX", @@ -83,22 +83,23 @@ "salt": "Multisig v5.5" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -111,7 +112,7 @@ }, "fantom": { "name": "Fantom", - "axelarId": "Fantom", + "axelarId": "fantom", "chainId": 4002, "rpc": "https://rpc.testnet.fantom.network", "tokenSymbol": "FTM", @@ -192,22 +193,23 @@ "salt": "Multisig v5.5" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -220,7 +222,7 @@ }, "moonbeam": { "name": "Moonbeam", - "axelarId": "Moonbeam", + "axelarId": "moonbeam", "chainId": 1287, "rpc": "https://moonbeam-alpha.api.onfinality.io/public", "tokenSymbol": "DEV", @@ -301,22 +303,23 @@ "salt": "Multisig v5.5" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -448,22 +451,23 @@ "salt": "Multisig v5.5" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x64c16486dd41b7bb89Ee007aBbA04062174C25C6", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x7B5b332aB285cC56AD2Fb17E276AAfcea9f1Eb85", + "tokenManager": "0x6069103908078d639A0b262FAF355edd387e3E08", + "tokenHandler": "0x8613C5697c32b93380Ad7951F9BcDf0568B6cE27", + "implementation": "0x889968CD145E9A1188ff652692E667ADb7fFfF4A", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x55E2a201C09D5B73C2D0e143d5c727BA206d38d3" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x85FEA229cbF5E7E90002904b03C3a6368CE1c667", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -550,22 +554,23 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -574,8 +579,7 @@ "api": "https://api-sepolia.etherscan.io/api" }, "gasOptions": { - "maxFeePerGas": 110000000, - "maxPriorityFeePerGas": 100000000 + "gasLimit": 15000000 }, "onchainGasEstimate": { "chainName": "ethereum", @@ -660,22 +664,23 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -707,6 +712,9 @@ "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92" }, "AxelarGateway": {}, + "InterchainTokenService": { + "skip": true + }, "InterchainGovernance": {}, "Multisig": { "threshold": 2, @@ -803,22 +811,23 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -911,22 +920,23 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -1031,22 +1041,23 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -1142,22 +1153,23 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -1247,22 +1259,23 @@ "salt": "Operators" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -1355,22 +1368,23 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, @@ -1470,243 +1484,29 @@ "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E" }, "InterchainTokenService": { - "salt": "ITS v1.2.4", + "salt": "ITS v2.0.1 Stagenet", "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "proxySalt": "ITS v1.0.0", - "tokenManagerDeployer": "0x49e2614eF6Ea26aFc1650B28f502A7C2B4A0986a", + "tokenManagerDeployer": "0x0F4a9159CEe9bEB8c74eD23684B9bEcc0892d177", "interchainToken": "0xbEfE642EDd190358a1c48c1c2E14B044e17EC021", - "interchainTokenDeployer": "0xcB824a24Dba09dc5fac62b03AD7b10eFbF233541", - "tokenManager": "0x808070AbAfeD9edada22DA880b3E2f49cB1B7cAf", - "tokenHandler": "0xA456f77269a1c63f8306372198db28454eDEFB47", - "implementation": "0x55b7045930184F1A455f8eB7e3B2640579ef8976", + "interchainTokenDeployer": "0x14F94463Fd4CcF44f3B15313ada19422bD5df4e8", + "tokenManager": "0x12AB25425441E9ef64422fF0a330FDCa0b2E2D7E", + "tokenHandler": "0x0A68E128004467E5CF311Dbe1b82A64A960cb995", + "implementation": "0xc5bf5c8332a3692B029E41bdd034f0Cc8dF963F8", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5", + "gatewayCaller": "0x6d80CcdFc0cc1f834303340137aC25ea8a7a66d1" }, "InterchainTokenFactory": { "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", "salt": "ITS Factory v1.0.0", - "implementation": "0x34373Ed432047e65c48B2381584bc006D4D0DdB0", + "implementation": "0x008Ac113C697BA83E17B345af878Ece09c1D1594", "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, "finality": "finalized", "approxFinalityWaitTime": 25 }, - "test-avalanche": { - "name": "test-avalanche", - "axelarId": "test-avalanche", - "chainId": 43113, - "rpc": "https://avalanche-fuji-c-chain-rpc.publicnode.com", - "tokenSymbol": "ETH", - "chainType": "evm", - "confirmations": 1, - "gasOptions": { - "gasLimit": 5000000 - }, - "contracts": { - "AxelarGateway": { - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "operator": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxyDeploymentArgs": [ - "0xD0a454a76f95A99c6A9FCE5E16f5345DdA9bD18B", - "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a6123300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000003980a00000000000000000000000000000000000000000000000000000000000000050000000000000000000000004ed1fd87673ed52b810710e1e81c10df10906f40000000000000000000000000000000000000000000000000000000000000000100000000000000000000000054059b18cf1b10d648d922e00c149e68b3d77e90000000000000000000000000000000000000000000000000000000000000000100000000000000000000000057c026c5a2dcb35fd220f3436ff4096978066bb50000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d368332a3cb3ea8a38144508c1ddea649c4d23fd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f48dfdc4f1666701ba74efa1d8491f4811c064a40000000000000000000000000000000000000000000000000000000000000001" - ], - "initialVerifierSetId": "02b2245d97df25f64f0a7d80311edb4ef42fd99c1a9d0a4d9b90a70fd0471ae5", - "address": "0x6157b0801Bd08427E20a6A216694315DA2C9BF09", - "implementation": "0xD0a454a76f95A99c6A9FCE5E16f5345DdA9bD18B", - "implementationCodehash": "0xbd45ca61be1924256a0f3e2616956d663fdd806ea6b9ed01dab2f9c6b6f60acc", - "deploymentMethod": "create3", - "previousSignersRetention": 15, - "domainSeparator": "0x09d0886d5d99ed975cfad0fc5d20195302e21081fa5aa5c9986eae988ab09bd0", - "minimumRotationDelay": 300, - "salt": "temporary stagenet deployment", - "connectionType": "amplifier" - }, - "InterchainGovernance": { - "address": "0xa57617802eaAE1429DC91146ae003cDb4b1C471e", - "minimumTimeDelay": 300, - "governanceChain": "Axelarnet", - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "deploymentMethod": "create3", - "codehash": "0x91198a8a4b942d0bde19264b4bbbcfd774bdaa2c665e581760917403cd5654b3", - "predeployCodehash": "0xe2de43b29f2387b6f3575a1b50d566908fc00e03a8d88ad6be74b674a70874d2", - "salt": "Test InterchainGovernance v5.5" - }, - "Multisig": { - "threshold": 2, - "signers": [ - "0xaC481D34c48e5d3191344b853Bc00D04889BA8db", - "0x722C5A6A417122668e8925968f7FC13DBDFaD23C", - "0xBeF25f4733b9d451072416360609e5A4c115293E" - ], - "address": "0x57406321d7e96223785b5987c9929d25e960946e", - "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", - "deploymentMethod": "create3", - "codehash": "0x912095d5076ee40a9dd49c0f9d61d61334c47a78c7512852791652baef26c296", - "predeployCodehash": "0x912095d5076ee40a9dd49c0f9d61d61334c47a78c7512852791652baef26c296", - "salt": "Multisig v5.5" - }, - "ConstAddressDeployer": { - "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e" - }, - "Create3Deployer": { - "salt": "Create3Deployer", - "address": "0x6513Aedb4D1593BA12e50644401D976aebDc90d8", - "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", - "deploymentMethod": "create2", - "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", - "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92" - }, - "Operators": { - "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "address": "0x7479c5FBc42f949Ba4ae4b997FD9a9251d158234", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "deploymentMethod": "create2", - "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", - "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", - "salt": "Test" - }, - "AxelarGasService": { - "collector": "0x7479c5FBc42f949Ba4ae4b997FD9a9251d158234", - "salt": "test", - "address": "0xE51B6EA3940bDf8458AFBe2FC774605F960a4116", - "implementation": "0x1270adB086Df205cAe3cF7039e9789Fff8ABCf1b", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" - }, - "InterchainTokenService": { - "salt": "ITS v1.2.4", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxySalt": "ITS Test v1.2.4", - "tokenManagerDeployer": "0x8886101bD36e67235c1A0adA586D9F995a1b2Ef9", - "interchainToken": "0x76e1914d00f34Ab68784c9c874e46ECD403BfB0E", - "interchainTokenDeployer": "0xb077C7D572BDB90866dEC320435b809AA6795eF0", - "tokenManager": "0xa2533C01CC3Aad2A6A6E786C2f4421e4e8c68478", - "tokenHandler": "0x25AfcfA6B91CFd2370aCE50e68ac63a74F215fBc" - }, - "InterchainTokenFactory": { - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "salt": "ITS Factory Test v1.2.4" - } - }, - "explorer": { - "name": "Snowtrace", - "url": "https://testnet.snowtrace.io", - "api": "https://api.routescan.io/v2/network/testnet/evm/43113/etherscan" - } - }, - "test-sepolia": { - "name": "test-sepolia", - "axelarId": "test-sepolia", - "chainId": 11155111, - "rpc": "https://rpc.ankr.com/eth_sepolia", - "tokenSymbol": "ETH", - "chainType": "evm", - "confirmations": 1, - "gasOptions": { - "gasLimit": 8000000, - "maxFeePerGas": 110000000, - "maxPriorityFeePerGas": 100000000 - }, - "contracts": { - "AxelarGateway": { - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "operator": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxyDeploymentArgs": [ - "0xD0a454a76f95A99c6A9FCE5E16f5345DdA9bD18B", - "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a6123300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000003980c00000000000000000000000000000000000000000000000000000000000000050000000000000000000000004ed1fd87673ed52b810710e1e81c10df10906f40000000000000000000000000000000000000000000000000000000000000000100000000000000000000000054059b18cf1b10d648d922e00c149e68b3d77e90000000000000000000000000000000000000000000000000000000000000000100000000000000000000000057c026c5a2dcb35fd220f3436ff4096978066bb50000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d368332a3cb3ea8a38144508c1ddea649c4d23fd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f48dfdc4f1666701ba74efa1d8491f4811c064a40000000000000000000000000000000000000000000000000000000000000001" - ], - "initialVerifierSetId": "b57861819c10537d03ee0f7d2b239926d6c95ae028ebf4ff7e44467be2e94435", - "address": "0x6157b0801Bd08427E20a6A216694315DA2C9BF09", - "implementation": "0xD0a454a76f95A99c6A9FCE5E16f5345DdA9bD18B", - "implementationCodehash": "0x1ebbc46732c5459de13ece23d3edbcc77ab87b3f9155a5b950a1942380f2796a", - "deploymentMethod": "create3", - "previousSignersRetention": 15, - "domainSeparator": "0x94c6f03682e3588a4fd0e312943191a70ae9e50b80d4b062af08f9311a78fada", - "minimumRotationDelay": 300, - "salt": "temporary stagenet deployment", - "connectionType": "amplifier" - }, - "InterchainGovernance": { - "minimumTimeDelay": 300, - "address": "0xa57617802eaAE1429DC91146ae003cDb4b1C471e", - "governanceChain": "Axelarnet", - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "deploymentMethod": "create3", - "codehash": "0x91198a8a4b942d0bde19264b4bbbcfd774bdaa2c665e581760917403cd5654b3", - "predeployCodehash": "0xe2de43b29f2387b6f3575a1b50d566908fc00e03a8d88ad6be74b674a70874d2", - "salt": "Test InterchainGovernance v5.5" - }, - "Multisig": { - "threshold": 2, - "signers": [ - "0xaC481D34c48e5d3191344b853Bc00D04889BA8db", - "0x722C5A6A417122668e8925968f7FC13DBDFaD23C", - "0xBeF25f4733b9d451072416360609e5A4c115293E" - ], - "address": "0x57406321d7e96223785b5987c9929d25e960946e", - "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", - "deploymentMethod": "create3", - "codehash": "0x912095d5076ee40a9dd49c0f9d61d61334c47a78c7512852791652baef26c296", - "predeployCodehash": "0x912095d5076ee40a9dd49c0f9d61d61334c47a78c7512852791652baef26c296", - "salt": "Multisig v5.5" - }, - "ConstAddressDeployer": { - "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e" - }, - "Create3Deployer": { - "salt": "Create3Deployer", - "address": "0x6513Aedb4D1593BA12e50644401D976aebDc90d8", - "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", - "deploymentMethod": "create2", - "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", - "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92" - }, - "Operators": { - "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "address": "0x7479c5FBc42f949Ba4ae4b997FD9a9251d158234", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "deploymentMethod": "create2", - "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", - "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", - "salt": "Test" - }, - "AxelarGasService": { - "collector": "0x7479c5FBc42f949Ba4ae4b997FD9a9251d158234", - "salt": "test", - "address": "0xE51B6EA3940bDf8458AFBe2FC774605F960a4116", - "implementation": "0xAfa857d7A9030B59074EBD8FDB825925437A6C7A", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" - }, - "InterchainTokenService": { - "salt": "ITS v1.2.4", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxySalt": "ITS Test v1.2.4", - "tokenManagerDeployer": "0x8886101bD36e67235c1A0adA586D9F995a1b2Ef9", - "interchainToken": "0x76e1914d00f34Ab68784c9c874e46ECD403BfB0E", - "interchainTokenDeployer": "0xb077C7D572BDB90866dEC320435b809AA6795eF0", - "tokenManager": "0xa2533C01CC3Aad2A6A6E786C2f4421e4e8c68478", - "tokenHandler": "0x25AfcfA6B91CFd2370aCE50e68ac63a74F215fBc", - "implementation": "0x2a1966E72c2777c7b0E099B474e1Cf6e02132e2e", - "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x62037cFDFaD0336962bE0BE5b563e81035eA2BaF" - }, - "InterchainTokenFactory": { - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "salt": "ITS Factory Test v1.2.4", - "implementation": "0x517f4cA9ea0507A3249202cd7Fa3ADA093D20077", - "address": "0xc9670201E9d4e9D58f92906FA717C7c5Bac6118c" - } - }, - "explorer": { - "explorer": "Sepoliascan", - "url": "https://sepolia.etherscan.io", - "api": "https://api-sepolia.etherscan.io/api" - } - }, "flow": { "name": "Flow", "axelarId": "flow", @@ -1726,13 +1526,15 @@ "initialVerifierSetId": "c7483b242156a8149fe6c4efcf62184d9fbf6b1be5530872f80a472d33070cf6", "governance": "0xBeF25f4733b9d451072416360609e5A4c115293E", "address": "0x5A4fA5187BddD93097dE4F6062a2E96C82Ea2d61", - "implementation": "0xC5578b1c63CE803B9f7f185652CC1E14Af887b8f", - "implementationCodehash": "0x3bd2a46c04ccf59a0e454ef828232d66a71c5a9b8004e0ea516257a7ad0aa21c", - "deploymentMethod": "create", + "implementation": "0x97eE3BfaD32ff53eC13071fBE65CeBA062eCC99d", + "implementationCodehash": "0x3c16450323c6b2aae8627b39f48b231e591db5e1274a45081eae6cc9775e59c3", + "deploymentMethod": "create2", "previousSignersRetention": 15, "domainSeparator": "0x3dad2b901117c30d4f601c3b9e9ee89cec4371e79e9908122e8e1da1904347ee", "minimumRotationDelay": 300, - "connectionType": "amplifier" + "connectionType": "amplifier", + "owner": "0xBeF25f4733b9d451072416360609e5A4c115293E", + "salt": "v6.0.4" }, "ConstAddressDeployer": { "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e", @@ -1764,6 +1566,26 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.1", + "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x64c16486dd41b7bb89Ee007aBbA04062174C25C6", + "interchainToken": "0x9A679b363726b9ce8a98Fe0f35B7c4E785789648", + "interchainTokenDeployer": "0x150743944d58D24f7364d7AF3A30Ff2a88431074", + "tokenManager": "0x6069103908078d639A0b262FAF355edd387e3E08", + "tokenHandler": "0x8613C5697c32b93380Ad7951F9BcDf0568B6cE27", + "gatewayCaller": "0x55E2a201C09D5B73C2D0e143d5c727BA206d38d3", + "implementation": "0x889968CD145E9A1188ff652692E667ADb7fFfF4A", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x0FCb262571be50815627C16Eca1f5F3D342FF5a5" + }, + "InterchainTokenFactory": { + "deployer": "0xBeF25f4733b9d451072416360609e5A4c115293E", + "salt": "ITS Factory v1.0.0", + "implementation": "0x85FEA229cbF5E7E90002904b03C3a6368CE1c667", + "address": "0x35eAd6089aBF6233C3E0086CD3C0eF849bdE95c3" } }, "explorer": { @@ -1806,6 +1628,9 @@ "codehash": "0x8fda47a596dfba923270da84e0c32a2d0312f1c03389f83e16f2b5a35ed37fbe", "predeployCodehash": "0x8fda47a596dfba923270da84e0c32a2d0312f1c03389f83e16f2b5a35ed37fbe" }, + "InterchainTokenService": { + "skip": true + }, "Create3Deployer": { "address": "0x6513Aedb4D1593BA12e50644401D976aebDc90d8", "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", @@ -1825,13 +1650,15 @@ "initialVerifierSetId": "2e33ae5cb06c1aa706fd9e4d270ecbf8ff031bb1d6c641787c0174769f8da900", "governance": "0xBeF25f4733b9d451072416360609e5A4c115293E", "address": "0x5A4fA5187BddD93097dE4F6062a2E96C82Ea2d61", - "implementation": "0xC5578b1c63CE803B9f7f185652CC1E14Af887b8f", - "implementationCodehash": "0x6c3eb39b13f61ff890fed14afa251e7a328b307a94c27450662b2a318dbb63e3", - "deploymentMethod": "create", + "implementation": "0x25cf958D3E1aa67ec03dA6c21e8980D5888F6801", + "implementationCodehash": "0x170f932b58370aaeaba2983a87b3d5d2b95b5b0a841ee59e1ed50f9194723744", + "deploymentMethod": "create2", "previousSignersRetention": 15, "domainSeparator": "0xfbfcd8a4d93cdf3dc1099795eefb83c109414406fc09015f4d0758ed6b99c43c", "minimumRotationDelay": 300, - "connectionType": "amplifier" + "connectionType": "amplifier", + "owner": "0xBeF25f4733b9d451072416360609e5A4c115293E", + "salt": "v6.0.4" }, "Operators": { "owner": "0xBeF25f4733b9d451072416360609e5A4c115293E", @@ -1856,9 +1683,9 @@ "contracts": { "ServiceRegistry": { "governanceAccount": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "storeCodeProposalId": "5", - "storeCodeProposalCodeHash": "aa762ada72f295c0890c7beca089b13498b95d04f59262cea4bdf64b07d9edc7", - "codeId": 3, + "storeCodeProposalId": "67", + "storeCodeProposalCodeHash": "fcbd66ffc824fc52383132d7a57617e9bc40dd1521ecad77341726434f801406", + "codeId": 19, "lastUploadedCodeId": 3, "address": "axelar15454y4v8x2ennqq6k0t4cu4r0cpqsy3d6m2jw7d0p4tagaafs29qnlhljd", "executeProposalId": "14" @@ -1866,9 +1693,9 @@ "Router": { "adminAddress": "axelar12qvsvse32cjyw60ztysd3v655aj5urqeup82ky", "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "storeCodeProposalId": "3", - "storeCodeProposalCodeHash": "c89ad7b98afcafea866ff9b9064ade1dc865a0b4a257cbd0a80fae433c916eab", - "codeId": 1, + "storeCodeProposalId": "76", + "storeCodeProposalCodeHash": "7368e7507f29ae9236c9c41fc1fbe5456260fb91acf1e2ff07d677bdcbca7e9f", + "codeId": 28, "lastUploadedCodeId": 1, "address": "axelar1saq5hcztvd26vvkquv4dzn8e0uu967nuyxtcful3pvv7ajsw4kmq72xft9", "executeProposalId": "16", @@ -1898,17 +1725,17 @@ "10" ] }, - "storeCodeProposalId": "50", - "storeCodeProposalCodeHash": "58bad05811e78e958da699aad49f39e6f3ad2502db3f494459208bb2d1f02bfa", - "codeId": 16, + "storeCodeProposalId": "71", + "storeCodeProposalCodeHash": "095c1caca4f9b7381519bd8395f3f558202fd4d4ad03f223dd8a2e991c568bd6", + "codeId": 23, "lastUploadedCodeId": 4, "address": "axelar1nyhmtdrzx77ynqgu8cug0u7eqz2kzfk9mctvaa4stqpekg4s9vnsgu54at" }, "Coordinator": { "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "storeCodeProposalId": "7", - "storeCodeProposalCodeHash": "1c058dec7e9c294f4e7401bd9611d2e811e0cf3a41917c4dd22766ea40b95fa2", - "codeId": 5, + "storeCodeProposalId": "66", + "storeCodeProposalCodeHash": "a57dccb229cfab931b904618af2ebc854699a25a963c231834837d88ee4a0217", + "codeId": 18, "lastUploadedCodeId": 5, "address": "axelar1nc3mfplae0atcchs9gqx9m6ezj5lfqqh2jmqx639kf8hd7m96lgq8a5e5y", "executeProposalId": "20", @@ -1923,9 +1750,9 @@ "adminAddress": "axelar12qvsvse32cjyw60ztysd3v655aj5urqeup82ky", "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", "blockExpiry": 10, - "storeCodeProposalId": "8", - "storeCodeProposalCodeHash": "a01cfc3c3a6e5fb22ea5818f2de8a453e0f37b9a54380d76eb4d4ea8d8b6de94", - "codeId": 6, + "storeCodeProposalId": "73", + "storeCodeProposalCodeHash": "765929ba3060cdfa5573ec621cb91b3a77f7d9fbc8d1b953f545876bb5abb05e", + "codeId": 25, "lastUploadedCodeId": 6, "address": "axelar143vjln56ke4pjmj5ut7u3358ywyfl7h5rg58js8gprr39664wcqs72vs3u", "executeProposalId": "18", @@ -1937,36 +1764,6 @@ } }, "MultisigProver": { - "test-avalanche": { - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "adminAddress": "axelar1l7vz4m5g92kvga050vk9ycjynywdlk4zhs07dv", - "signingThreshold": [ - "51", - "100" - ], - "serviceName": "amplifier", - "verifierSetDiffThreshold": 0, - "encoder": "abi", - "keyType": "ecdsa", - "domainSeparator": "0x09d0886d5d99ed975cfad0fc5d20195302e21081fa5aa5c9986eae988ab09bd0", - "codeId": 9, - "address": "axelar1fzd0kqdewaupvngygmtltda9ru9zm590kj00sz4vxla4h6hlawtqpcfkqe" - }, - "test-sepolia": { - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "adminAddress": "axelar1l7vz4m5g92kvga050vk9ycjynywdlk4zhs07dv", - "signingThreshold": [ - "51", - "100" - ], - "serviceName": "amplifier", - "verifierSetDiffThreshold": 0, - "encoder": "abi", - "keyType": "ecdsa", - "domainSeparator": "0x94c6f03682e3588a4fd0e312943191a70ae9e50b80d4b062af08f9311a78fada", - "codeId": 9, - "address": "axelar14t526efvs4r6pmg3ntjve9t5k3hagswngrnaya83365w0ad9ky0s333suh" - }, "flow": { "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", "adminAddress": "axelar1l7vz4m5g92kvga050vk9ycjynywdlk4zhs07dv", @@ -1979,7 +1776,7 @@ "encoder": "abi", "keyType": "ecdsa", "domainSeparator": "0x3dad2b901117c30d4f601c3b9e9ee89cec4371e79e9908122e8e1da1904347ee", - "codeId": 9, + "codeId": 21, "address": "axelar1u8cmvyq54fepjlt77vqnwyxhf4rqn5j5axgta7py34zlwue3v5fsy2pvhf" }, "hedera": { @@ -1994,65 +1791,27 @@ "encoder": "abi", "keyType": "ecdsa", "domainSeparator": "0xfbfcd8a4d93cdf3dc1099795eefb83c109414406fc09015f4d0758ed6b99c43c", - "codeId": 9, + "codeId": 21, "address": "axelar1x3xd2z2p3703cdwu98tc27x5j9tgq60lyxdwtnggx05zj3egg0wqsnckd0" }, - "storeCodeProposalId": "11", - "storeCodeProposalCodeHash": "6c4d2f520d62bcd7edd4de772257e74b48a8dfba39f853a9c12ff51ca9ea1e83", + "storeCodeProposalId": "69", + "storeCodeProposalCodeHash": "00428ef0483f103a6e1a5853c4b29466a83e5b180cc53a00d1ff9d022bc2f03a", "lastUploadedCodeId": 9 }, "Gateway": { - "test-avalanche": { - "codeId": 8, - "address": "axelar1m085sw92u49myttmelqaxxx04cu50wxv8ftz06cur32ct7v78wjqlzaej7" - }, - "test-sepolia": { - "codeId": 8, - "address": "axelar1rx2meeesr74reunatsdxh82yqsxzz9w6j2k38rjhkcq57gvefsrsrm2eys" - }, "flow": { - "codeId": 8, + "codeId": 22, "address": "axelar1t6ksvsckf48j5fey7cqhsu482yemaf8tcecterc4d38rw75vfvcsz85aum" }, "hedera": { - "codeId": 8, + "codeId": 22, "address": "axelar1zyr567z9v779kcdmf7rq624zk3ea4nq0s948r83h2f5xqzvhxyqs5vq7p7" }, - "storeCodeProposalId": "10", - "storeCodeProposalCodeHash": "eae97caf40ae6b5eea1e145eec27a59e73aa6f9de389fa9ca0cfc9354a3b68ac", + "storeCodeProposalId": "70", + "storeCodeProposalCodeHash": "2ba600ee0d162184c9387eaf6fad655f1d75db548f93e379f0565cb2042d856f", "lastUploadedCodeId": 8 }, "VotingVerifier": { - "test-avalanche": { - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "serviceName": "amplifier", - "sourceGatewayAddress": "0x6157b0801Bd08427E20a6A216694315DA2C9BF09", - "votingThreshold": [ - "51", - "100" - ], - "blockExpiry": 10, - "confirmationHeight": 1, - "msgIdFormat": "hex_tx_hash_and_event_index", - "addressFormat": "eip55", - "codeId": 7, - "address": "axelar10c8qetyyr5rart47a5luvm6lys4709u3jhyeakzd0e7nxdw0ah3stmxvd3" - }, - "test-sepolia": { - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "serviceName": "amplifier", - "sourceGatewayAddress": "0x6157b0801Bd08427E20a6A216694315DA2C9BF09", - "votingThreshold": [ - "51", - "100" - ], - "blockExpiry": 10, - "confirmationHeight": 1, - "msgIdFormat": "hex_tx_hash_and_event_index", - "addressFormat": "eip55", - "codeId": 7, - "address": "axelar1t3lwxcgjlauvcwsdvy4669azp9ks0q0hd2cxn95cdge63723z9ns8pdqms" - }, "flow": { "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", "serviceName": "amplifier", @@ -2065,7 +1824,7 @@ "confirmationHeight": 1, "msgIdFormat": "hex_tx_hash_and_event_index", "addressFormat": "eip55", - "codeId": 7, + "codeId": 24, "address": "axelar1adz8u3q5mdfp73weg3f65e8ce5jvq4dwlqqm3lxqyy4pjf77nwtql8gjwr" }, "hedera": { @@ -2080,12 +1839,36 @@ "confirmationHeight": 1, "msgIdFormat": "hex_tx_hash_and_event_index", "addressFormat": "eip55", - "codeId": 7, + "codeId": 24, "address": "axelar1h8gx392pzlj6ff5lv3kc9jwegu0wwqjrur7ht93frus5czape9ns3j3d0a" }, - "storeCodeProposalId": "9", - "storeCodeProposalCodeHash": "e256445185284a52fc0ca4163c5ffd02d7f605890fb5882d01d540966957465b", + "storeCodeProposalId": "72", + "storeCodeProposalCodeHash": "d9412440820a51bc48bf41a77ae39cfb33101ddc6562323845627ea2042bf708", "lastUploadedCodeId": 7 + }, + "InterchainTokenService": { + "storeCodeProposalId": "65", + "storeCodeProposalCodeHash": "b60d0d227c7a400a0fcc80ed52f0e6688e5da6db676a61ed8b6942823294031d", + "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", + "adminAddress": "axelar12qvsvse32cjyw60ztysd3v655aj5urqeup82ky", + "axelar": { + "codeId": 17, + "address": "axelar1ph8qufmsh556e40uk0ceaufc06nwhnw0ksgdqqk6ldszxchh8llq8x52dk" + }, + "address": "axelar1ph8qufmsh556e40uk0ceaufc06nwhnw0ksgdqqk6ldszxchh8llq8x52dk", + "lastUploadedCodeId": 17 + }, + "AxelarnetGateway": { + "storeCodeProposalId": "68", + "storeCodeProposalCodeHash": "c7286d0f59276b794641bdfbb4f96fafcee3553b67f3397d662a4683968f525b", + "nexus": "axelar17h8uk4ct0mdv9mgkuxszt4gp2htpfr08mge20r", + "address": "axelar1s9amtxejrdlsunwdf0cclhjtezdp6wmurxxnh45gfvtpa2jrsusqv934n6", + "codeId": 20, + "axelar": { + "codeId": 20, + "address": "axelar1s9amtxejrdlsunwdf0cclhjtezdp6wmurxxnh45gfvtpa2jrsusqv934n6" + }, + "lastUploadedCodeId": 20 } }, "axelarId": "axelar", diff --git a/cosmwasm/utils.js b/cosmwasm/utils.js index cbaf8400..fdc39758 100644 --- a/cosmwasm/utils.js +++ b/cosmwasm/utils.js @@ -43,7 +43,7 @@ const prepareWallet = async ({ mnemonic }) => await DirectSecp256k1HdWallet.from const prepareClient = async ({ axelar: { rpc, gasPrice } }, wallet) => await SigningCosmWasmClient.connectWithSigner(rpc, wallet, { gasPrice }); -const pascalToSnake = (str) => str.replace(/([A-Z])/g, (group) => `_${group.toLowerCase()}`).replace(/^_/, ''); +const pascalToKebab = (str) => str.replace(/([A-Z])/g, (group) => `-${group.toLowerCase()}`).replace(/^-/, ''); const isValidCosmosAddress = (str) => { try { @@ -61,7 +61,7 @@ const getSalt = (salt, contractName, chainName) => fromHex(getSaltFromKey(salt | const getLabel = ({ contractName, label }) => label || contractName; -const readWasmFile = ({ artifactPath, contractName }) => readFileSync(`${artifactPath}/${pascalToSnake(contractName)}.wasm`); +const readWasmFile = ({ artifactPath, contractName }) => readFileSync(`${artifactPath}/${pascalToKebab(contractName)}.wasm`); const initContractConfig = (config, { contractName, chainName }) => { config.axelar = config.axelar || {}; diff --git a/evm/gateway.js b/evm/gateway.js index 36c386af..118e1d2c 100644 --- a/evm/gateway.js +++ b/evm/gateway.js @@ -309,7 +309,7 @@ async function processCommand(config, chain, options) { const appContract = new Contract(options.destination, IAxelarExecutable.abi, wallet); - const tx = await appContract.execute(commandId, sourceChain, sourceAddress, payload); + const tx = await appContract.execute(commandId, sourceChain, sourceAddress, payload, gasOptions); printInfo('Execute tx', tx.hash); await tx.wait(chain.confirmations); diff --git a/evm/its.js b/evm/its.js index 2eb444ae..14277f11 100644 --- a/evm/its.js +++ b/evm/its.js @@ -571,7 +571,7 @@ async function processCommand(config, chain, options) { throw new Error(`${action} can only be performed by contract owner: ${owner}`); } - const pauseStatus = options.pauseStatus; + const pauseStatus = options.pauseStatus === 'true'; const tx = await interchainTokenService.setPauseStatus(pauseStatus, gasOptions); From 9b5e5516fda1f24130a8125b493a9ca3da99c135 Mon Sep 17 00:00:00 2001 From: eguajardo Date: Thu, 12 Dec 2024 16:32:21 -0600 Subject: [PATCH 3/4] fix(cosmwasm): reverts to use snake case for wasm files (#473) --- cosmwasm/utils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cosmwasm/utils.js b/cosmwasm/utils.js index fdc39758..cbaf8400 100644 --- a/cosmwasm/utils.js +++ b/cosmwasm/utils.js @@ -43,7 +43,7 @@ const prepareWallet = async ({ mnemonic }) => await DirectSecp256k1HdWallet.from const prepareClient = async ({ axelar: { rpc, gasPrice } }, wallet) => await SigningCosmWasmClient.connectWithSigner(rpc, wallet, { gasPrice }); -const pascalToKebab = (str) => str.replace(/([A-Z])/g, (group) => `-${group.toLowerCase()}`).replace(/^-/, ''); +const pascalToSnake = (str) => str.replace(/([A-Z])/g, (group) => `_${group.toLowerCase()}`).replace(/^_/, ''); const isValidCosmosAddress = (str) => { try { @@ -61,7 +61,7 @@ const getSalt = (salt, contractName, chainName) => fromHex(getSaltFromKey(salt | const getLabel = ({ contractName, label }) => label || contractName; -const readWasmFile = ({ artifactPath, contractName }) => readFileSync(`${artifactPath}/${pascalToKebab(contractName)}.wasm`); +const readWasmFile = ({ artifactPath, contractName }) => readFileSync(`${artifactPath}/${pascalToSnake(contractName)}.wasm`); const initContractConfig = (config, { contractName, chainName }) => { config.axelar = config.axelar || {}; From 5cb30ffb12cba57f71ef37b455c75f09d1ea9094 Mon Sep 17 00:00:00 2001 From: Foivos Date: Fri, 13 Dec 2024 13:59:27 +0200 Subject: [PATCH 4/4] feat: capture all OwnerCaps properly (#458) Co-authored-by: Blockchain Guy --- sui/deploy-contract.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sui/deploy-contract.js b/sui/deploy-contract.js index 9a3d853a..1e261577 100644 --- a/sui/deploy-contract.js +++ b/sui/deploy-contract.js @@ -96,14 +96,16 @@ const supportedPackages = PACKAGE_DIRS.map((dir) => ({ */ async function postDeployRelayerDiscovery(published, keypair, client, config, chain, options) { - const [relayerDiscoveryObjectId, relayerDiscoveryObjectIdv0] = getObjectIdsByObjectTypes(published.publishTxn, [ + const [relayerDiscoveryObjectId, relayerDiscoveryObjectIdv0, ownerCap] = getObjectIdsByObjectTypes(published.publishTxn, [ `${published.packageId}::discovery::RelayerDiscovery`, `${published.packageId}::relayer_discovery_v0::RelayerDiscovery_v0`, + `${published.packageId}::owner_cap::OwnerCap`, ]); chain.contracts.RelayerDiscovery.objects = { RelayerDiscovery: relayerDiscoveryObjectId, RelayerDiscoveryv0: relayerDiscoveryObjectIdv0, + OwnerCap: ownerCap, }; } @@ -235,15 +237,22 @@ async function postDeployAxelarGateway(published, keypair, client, config, chain async function postDeployIts(published, keypair, client, config, chain, options) { const relayerDiscovery = chain.contracts.RelayerDiscovery?.objects?.RelayerDiscovery; - const [itsObjectId, itsv0ObjectId, ownerCapObjectId] = getObjectIdsByObjectTypes(published.publishTxn, [ + const [itsObjectId, itsv0ObjectId, ownerCapObjectId, upgradeCapObjectId] = getObjectIdsByObjectTypes(published.publishTxn, [ `${published.packageId}::its::ITS`, `${published.packageId}::its_v0::ITS_v0`, `${published.packageId}::owner_cap::OwnerCap`, + `${suiPackageAddress}::package::UpgradeCap`, ]); const channelId = await getItsChannelId(client, itsv0ObjectId); - chain.contracts.ITS.objects = { ITS: itsObjectId, ITSv0: itsv0ObjectId, ChannelId: channelId, OwnerCap: ownerCapObjectId }; + chain.contracts.ITS.objects = { + ITS: itsObjectId, + ITSv0: itsv0ObjectId, + ChannelId: channelId, + OwnerCap: ownerCapObjectId, + UpgradeCap: upgradeCapObjectId, + }; const tx = new Transaction(); tx.moveCall({ @@ -257,9 +266,12 @@ async function postDeployIts(published, keypair, client, config, chain, options) async function postDeploySquid(published, keypair, client, config, chain, options) { const relayerDiscovery = chain.contracts.RelayerDiscovery?.objects?.RelayerDiscovery; - const [squidObjectId] = getObjectIdsByObjectTypes(published.publishTxn, [`${published.packageId}::squid::Squid`]); + const [squidObjectId, ownerCapObjectId] = getObjectIdsByObjectTypes(published.publishTxn, [ + `${published.packageId}::squid::Squid`, + `${published.packageId}::owner_cap::OwnerCap`, + ]); const channelId = await getSquidChannelId(client, squidObjectId); - chain.contracts.Squid.objects = { Squid: squidObjectId, ChannelId: channelId }; + chain.contracts.Squid.objects = { Squid: squidObjectId, ChannelId: channelId, OwnerCap: ownerCapObjectId }; const tx = new Transaction(); tx.moveCall({