From 321e6d89fa69c94abd26389aee2090ee6ed52d8e Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 6 Aug 2024 20:59:04 -0400 Subject: [PATCH 01/20] feat(evm)!: support its v2 deployment --- evm/deploy-its.js | 19 ++++++++++++++- package-lock.json | 62 ++++++++++++++++++++++++----------------------- package.json | 2 +- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/evm/deploy-its.js b/evm/deploy-its.js index 715fe1a2..1e5db49e 100644 --- a/evm/deploy-its.js +++ b/evm/deploy-its.js @@ -206,7 +206,23 @@ async function deployAll(config, wallet, chain, options) { deployMethod, wallet, getContractJSON('TokenHandler', artifactPath), - [], + [contracts.AxelarGateway.address], + deployOptions, + gasOptions, + verifyOptions, + chain, + ); + }, + }, + gatewayCaller: { + name: 'Gateway Caller', + contractName: 'GatewayCaller', + async deploy() { + return await deployContract( + deployMethod, + wallet, + getContractJSON('GatewayCaller', artifactPath), + [contracts.AxelarGateway.address, contracts.AxelarGasService.address], deployOptions, gasOptions, verifyOptions, @@ -227,6 +243,7 @@ async function deployAll(config, wallet, chain, options) { chain.axelarId, contractConfig.tokenManager, contractConfig.tokenHandler, + contractConfig.gatewayCaller, ]; printInfo('ITS Implementation args', args); diff --git a/package-lock.json b/package-lock.json index 503d6de1..9a8f736c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@axelar-network/axelar-cgp-solidity": "6.3.1", "@axelar-network/axelar-cgp-sui": "0.3.0", "@axelar-network/axelar-gmp-sdk-solidity": "5.10.0", - "@axelar-network/interchain-token-service": "1.2.4", + "@axelar-network/interchain-token-service": "file:../interchain-token-service", "@cosmjs/cosmwasm-stargate": "^0.32.1", "@ledgerhq/hw-app-eth": "6.32.2", "@mysten/sui": "^1.3.0", @@ -42,6 +42,35 @@ "node": ">=18" } }, + "../interchain-token-service": { + "version": "1.2.4", + "license": "MIT", + "dependencies": { + "@axelar-network/axelar-cgp-solidity": "6.2.1", + "@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" + }, + "devDependencies": { + "@axelar-network/axelar-chains-config": "^1.2.0", + "@axelarjs/evm": "^0.2.1", + "@nomicfoundation/hardhat-toolbox": "^2.0.2", + "@tsconfig/strictest": "^2.0.2", + "chai": "^4.3.7", + "cross-env": "^7.0.3", + "dotenv": "^16.0.1", + "eslint": "^8.43.0", + "eslint-config-richardpringle": "^2.0.0", + "hardhat": "~2.22.2", + "hardhat-contract-sizer": "^2.10.0", + "mocha": "^10.2.0", + "prettier": "^2.8.8", + "prettier-plugin-solidity": "^1.1.3", + "solhint": "^3.4.1", + "solidity-docgen": "^0.6.0-beta.36" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@0no-co/graphql.web": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.7.tgz", @@ -171,35 +200,8 @@ } }, "node_modules/@axelar-network/interchain-token-service": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@axelar-network/interchain-token-service/-/interchain-token-service-1.2.4.tgz", - "integrity": "sha512-Sgw2M4VzW5hjL9TBe2ljL5wo+paYqlL2XNQlq1dyaDAD6E7PG1MQ+0U44QnfJfhhAwcqZtKQmb92ZNwV+BEdVw==", - "dependencies": { - "@axelar-network/axelar-cgp-solidity": "6.2.1", - "@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@axelar-network/interchain-token-service/node_modules/@axelar-network/axelar-cgp-solidity": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@axelar-network/axelar-cgp-solidity/-/axelar-cgp-solidity-6.2.1.tgz", - "integrity": "sha512-0RaxLYmsp3elXBytn7+eZUil1KFS6jjHR/ECrN/3IC7TeTDPUYunyy6JDxCdNYNtiD6EKgUAfQ7G4DrBb6hRxg==", - "dependencies": { - "@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@axelar-network/interchain-token-service/node_modules/@axelar-network/axelar-gmp-sdk-solidity": { - "version": "5.6.4", - "resolved": "https://registry.npmjs.org/@axelar-network/axelar-gmp-sdk-solidity/-/axelar-gmp-sdk-solidity-5.6.4.tgz", - "integrity": "sha512-PQjV+HeJynmSRMhyM3SexwnbFNruSaiRUeNCWjV8/7CkdPsDqypoqIXVRVU8Zk92DUUHeqZZzL/3qP2LYuvlnA==", - "engines": { - "node": ">=16" - } + "resolved": "../interchain-token-service", + "link": true }, "node_modules/@chainsafe/as-sha256": { "version": "0.3.1", diff --git a/package.json b/package.json index 37d24349..a1fedc05 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@axelar-network/axelar-cgp-solidity": "6.3.1", "@axelar-network/axelar-cgp-sui": "0.3.0", "@axelar-network/axelar-gmp-sdk-solidity": "5.10.0", - "@axelar-network/interchain-token-service": "1.2.4", + "@axelar-network/interchain-token-service": "file:../interchain-token-service", "@cosmjs/cosmwasm-stargate": "^0.32.1", "@ledgerhq/hw-app-eth": "6.32.2", "@mysten/sui": "^1.3.0", From ad30402128f61a7d9e833db57934b5a92f528d25 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Fri, 30 Aug 2024 06:00:35 +0400 Subject: [PATCH 02/20] deploy its hub --- .../info/devnet-amplifier.json | 139 +++++++++++++++--- cosmwasm/utils.js | 38 +++-- evm/its.js | 2 +- 3 files changed, 150 insertions(+), 29 deletions(-) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index dc7e12c7..98db5c14 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -8,9 +8,6 @@ "rpc": "https://avalanche-fuji-c-chain-rpc.publicnode.com", "tokenSymbol": "ETH", "confirmations": 1, - "gasOptions": { - "gasLimit": 5000000 - }, "contracts": { "AxelarGateway": { "address": "0x146cbBBD1D03DA0619baa96Ed1d145A549959499", @@ -23,9 +20,6 @@ "domainSeparator": "0x598ba04d225cec385d1ce3cf3c9a076af803aa5c614bc0e0d176f04ac8d28f55", "minimumRotationDelay": 300, "salt": "AxelarAmplifierGateway devnet-amplifier", - "gasOptions": { - "gasLimit": 5000000 - }, "proxyDeploymentArgs": [ "0x25C97DC353fF1dBBD04d8096AC6C87B5244D856d", "0xd7A0e641Bfbb9AA83aAb9f3e89bf83e128d321c4", @@ -58,6 +52,33 @@ "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" + }, + "AxelarGasService": { + "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "AxelarGasService devnet-amplifier", + "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", + "implementation": "0xeF805CF590B12FD32F76Eb81A236461Cf4f3D796", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.0rc1 devnet-amplifier", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "proxySalt": "ITS v1.0.0 devnet-amplifier", + "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", + "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", + "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", + "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", + "tokenHandler": "0x615A40baEF70c2a18060C8A36655d1AB0c8d548A", + "gatewayCaller": "0x0133b5338BceD3C8C50FAB852A9043d13af07a2c", + "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" + }, + "InterchainTokenFactory": { + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "ITS Factory v1.0.0 devnet-amplifier", + "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", + "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" } }, "explorer": { @@ -75,7 +96,7 @@ "tokenSymbol": "ETH", "confirmations": 1, "gasOptions": { - "gasLimit": 5000000 + "gasLimit": 8000000 }, "contracts": { "AxelarGateway": { @@ -89,9 +110,6 @@ "domainSeparator": "0x9799ef60ed6cac8cd489e8932dcac928ed47c499a9cda8d128dcf1e934a196b4", "minimumRotationDelay": 300, "salt": "AxelarAmplifierGateway devnet-amplifier", - "gasOptions": { - "gasLimit": 5000000 - }, "proxyDeploymentArgs": [ "0x37e6F01C4BA68BA121dA57CfB0d54B822006010d", "0x0aa18e321c89bbdfCE9913aa0cA20B977aDc4B48", @@ -124,6 +142,33 @@ "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" + }, + "AxelarGasService": { + "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "AxelarGasService devnet-amplifier", + "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", + "implementation": "0x2d322ed5cB6b7edB87B4149E2f28a6fA2c8d10c0", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.0rc1 devnet-amplifier", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "proxySalt": "ITS v1.0.0 devnet-amplifier", + "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", + "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", + "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", + "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", + "tokenHandler": "0x4c6f3dF22b2AD650550E4B455eBf73CbB646Cac4", + "gatewayCaller": "0x474B03EE1Ec8f40d0C45528b0ABBFf62c33b2De8", + "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" + }, + "InterchainTokenFactory": { + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "ITS Factory v1.0.0 devnet-amplifier", + "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", + "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" } }, "explorer": { @@ -141,7 +186,7 @@ "tokenSymbol": "ETH", "confirmations": 1, "gasOptions": { - "gasLimit": 5000000 + "gasLimit": 8000000 }, "contracts": { "AxelarGateway": { @@ -157,9 +202,6 @@ "domainSeparator": "0x5034999c74b28c4db74dca67073b78629cc0ff7bf005f2f79cd8caf7d9588406", "minimumRotationDelay": 300, "salt": "AxelarAmplifierGateway devnet-amplifier", - "gasOptions": { - "gasLimit": 5000000 - }, "proxyDeploymentArgs": [ "0x957E7eC2da3Cd93Fd49E1ac7DF0499a3EC9814a1", "0x3Cd679Cd00b61a8540Fcc3aE90Bba30DC3eeb6ee", @@ -192,6 +234,33 @@ "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" + }, + "AxelarGasService": { + "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "AxelarGasService devnet-amplifier", + "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", + "implementation": "0x126C91CD0fBFC6c7EE438540C365F8FA2b3415fA", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.0rc1 devnet-amplifier", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "proxySalt": "ITS v1.0.0 devnet-amplifier", + "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", + "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", + "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", + "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", + "tokenHandler": "0x62aA80C43D569C39F062c463Eea0E6d95Cc56694", + "gatewayCaller": "0x6B6eEDf3707D80F0db8bf314E4391265CAeD5ABc", + "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" + }, + "InterchainTokenFactory": { + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "ITS Factory v1.0.0 devnet-amplifier", + "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", + "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" } }, "explorer": { @@ -209,7 +278,7 @@ "tokenSymbol": "ETH", "confirmations": 1, "gasOptions": { - "gasLimit": 5000000 + "gasLimit": 8000000 }, "contracts": { "AxelarGateway": { @@ -223,9 +292,6 @@ "domainSeparator": "0x6d61fa7631ca30c4a3c6e731891c867f9eddf00e909ef07a76e0790994dcd592", "minimumRotationDelay": 300, "salt": "AxelarAmplifierGateway devnet-amplifier", - "gasOptions": { - "gasLimit": 5000000 - }, "proxyDeploymentArgs": [ "0xC7547fb5bc2Fde4Aec37De85DecA111FF3E0169b", "0xE7741c9044F96FDb1fb08405a6199995E94Ef6ba", @@ -258,6 +324,33 @@ "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" + }, + "AxelarGasService": { + "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "AxelarGasService devnet-amplifier", + "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", + "implementation": "0x833CD30e0d4905D8150FeD75E18D8D3595ad30B4", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.0rc1 devnet-amplifier", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "proxySalt": "ITS v1.0.0 devnet-amplifier", + "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", + "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", + "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", + "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", + "tokenHandler": "0x85dD094faE5Ae5df1d2AB0d5d7dbAC8b2216cBc4", + "gatewayCaller": "0xb0Bd72329c378477F9072073F5d50A3285BbD055", + "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" + }, + "InterchainTokenFactory": { + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "ITS Factory v1.0.0 devnet-amplifier", + "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", + "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" } }, "explorer": { @@ -269,6 +362,16 @@ }, "axelar": { "contracts": { + "AxelarnetGateway": { + "codeId": 661, + "address": "axelar1yvfcrdke7fasxfaxx2r706h7h85rnk3w68cc5f4fkmafz5j755ssl8h9p0" + }, + "InterchainTokenService": { + "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", + "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", + "codeId": 664, + "address": "axelar10jzzmv5m7da7dn2xsfac0yqe7zamy34uedx3e28laq0p6f3f8dzqp649fp" + }, "ServiceRegistry": { "governanceAccount": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "codeId": 624, diff --git a/cosmwasm/utils.js b/cosmwasm/utils.js index f036a714..abfd4898 100644 --- a/cosmwasm/utils.js +++ b/cosmwasm/utils.js @@ -424,20 +424,17 @@ const makeMultisigProverInstantiateMsg = (config, chainName) => { }; }; -const makeAxelarnetGatewayInstantiateMsg = (config, chainName) => { +const makeAxelarnetGatewayInstantiateMsg = (config) => { const { - axelar: { contracts }, + axelar: { contracts, axelarId }, } = config; - const chainConfig = getChainConfig(config, chainName); - - const { axelarId } = chainConfig; const { Router: { address: routerAddress }, } = contracts; if (!isString(axelarId)) { - throw new Error(`Missing or invalid axelar ID for chain ${chainName}`); + throw new Error(`Missing or invalid axelar ID for Axelar`); } if (!validateAddress(routerAddress)) { @@ -450,6 +447,27 @@ const makeAxelarnetGatewayInstantiateMsg = (config, chainName) => { }; }; +const makeInterchainTokenServiceInstantiateMsg = (config, { adminAddress, governanceAddress }) => { + const { + axelar: { contracts }, + } = config; + + const { + AxelarnetGateway: { address: axelarnetGatewayAddress }, + } = contracts; + + if (!validateAddress(axelarnetGatewayAddress)) { + throw new Error('Missing or invalid AxelarnetGateway.address in axelar info'); + } + + return { + governance_address: governanceAddress, + admin_address: adminAddress, + axelarnet_gateway_address: axelarnetGatewayAddress, + its_addresses: {}, + }; +}; + const makeInstantiateMsg = (contractName, chainName, config) => { const { axelar: { contracts }, @@ -532,11 +550,11 @@ const makeInstantiateMsg = (contractName, chainName, config) => { } case 'AxelarnetGateway': { - if (!chainConfig) { - throw new Error('AxelarnetGateway requires chainNames option'); - } + return makeAxelarnetGatewayInstantiateMsg(config); + } - return makeAxelarnetGatewayInstantiateMsg(config, chainName); + case 'InterchainTokenService': { + return makeInterchainTokenServiceInstantiateMsg(config, contractConfig); } } diff --git a/evm/its.js b/evm/its.js index 783d9972..4b15d79a 100644 --- a/evm/its.js +++ b/evm/its.js @@ -373,7 +373,7 @@ async function processCommand(config, chain, options) { throw new Error(`Insufficient balance for transfer. Balance: ${balance}, amount: ${amount}`); } - if (implementationType !== tokenManagerImplementations.MINT_BURN) { + if (implementationType !== tokenManagerImplementations.MINT_BURN && implementationType !== tokenManagerImplementations.INTERCHAIN_TOKEN) { printInfo('Approving ITS for a transfer'); await token.approve(interchainTokenService.address, amount, gasOptions).then((tx) => tx.wait()); } From 17128c36bb17b7121c19703fa836557f383981ab Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Fri, 30 Aug 2024 07:02:39 +0400 Subject: [PATCH 03/20] prettier --- evm/its.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/evm/its.js b/evm/its.js index 4b15d79a..9e0cbd55 100644 --- a/evm/its.js +++ b/evm/its.js @@ -373,7 +373,10 @@ async function processCommand(config, chain, options) { throw new Error(`Insufficient balance for transfer. Balance: ${balance}, amount: ${amount}`); } - if (implementationType !== tokenManagerImplementations.MINT_BURN && implementationType !== tokenManagerImplementations.INTERCHAIN_TOKEN) { + if ( + implementationType !== tokenManagerImplementations.MINT_BURN && + implementationType !== tokenManagerImplementations.INTERCHAIN_TOKEN + ) { printInfo('Approving ITS for a transfer'); await token.approve(interchainTokenService.address, amount, gasOptions).then((tx) => tx.wait()); } From d44f38a7e55e40b5f4c56b6897f78c7a8750afdc Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 01:51:41 -0400 Subject: [PATCH 04/20] npm package lock --- package-lock.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package-lock.json b/package-lock.json index 7f7d9452..6746a350 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,6 +43,7 @@ } }, "../interchain-token-service": { + "name": "@axelar-network/interchain-token-service", "version": "2.0.0", "license": "MIT", "dependencies": { From 1bdfb5cc709e9de1c911a58367f81802d9cb85e2 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 01:55:19 -0400 Subject: [PATCH 05/20] reset config --- .../info/devnet-amplifier.json | 556 +++++++++--------- 1 file changed, 267 insertions(+), 289 deletions(-) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index 98db5c14..7024d23a 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -1,43 +1,72 @@ { "chains": { - "avalanche": { - "name": "Avalanche", - "id": "avalanche", - "axelarId": "avalanche", + "core-avalanche": { + "name": "Avalanche Fuji", + "id": "core-avalanche", + "axelarId": "core-avalanche", "chainId": 43113, "rpc": "https://avalanche-fuji-c-chain-rpc.publicnode.com", - "tokenSymbol": "ETH", + "tokenSymbol": "AVAX", "confirmations": 1, + "finality": "finalized", + "approxFinalityWaitTime": 1, + "chainType": "evm", + "explorer": { + "name": "Snowtrace", + "url": "https://testnet.snowtrace.io", + "api": "https://api.routescan.io/v2/network/testnet/evm/43113/etherscan" + }, "contracts": { - "AxelarGateway": { - "address": "0x146cbBBD1D03DA0619baa96Ed1d145A549959499", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "implementation": "0x25C97DC353fF1dBBD04d8096AC6C87B5244D856d", - "implementationCodehash": "0xfd4a15c7e849df6fd0feb9a9bfd642a6c4311f53295101b0d3e1207dc206521c", - "deploymentMethod": "create3", - "operator": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "previousSignersRetention": 15, - "domainSeparator": "0x598ba04d225cec385d1ce3cf3c9a076af803aa5c614bc0e0d176f04ac8d28f55", - "minimumRotationDelay": 300, - "salt": "AxelarAmplifierGateway devnet-amplifier", - "proxyDeploymentArgs": [ - "0x25C97DC353fF1dBBD04d8096AC6C87B5244D856d", - "0xd7A0e641Bfbb9AA83aAb9f3e89bf83e128d321c4", - "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a612330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000cb9e1000000000000000000000000000000000000000000000000000000000000000300000000000000000000000051380cbf0777990e197a3e498ffafd26143e35f8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000061373485594010371dfbf3a8f8bd1736bfda7c090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c70aa87b38e6ab3c0df6e56338f96a5c00e653080000000000000000000000000000000000000000000000000000000000000001" - ], - "initialVerifierSetId": "87bba3c9140d07b5e585b35254e9c1068574117685e34a51561cab4b719df381" + "ConstAddressDeployer": { + "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e", + "deployer": "0xE86375704CDb8491a5Ed82D90DceCE02Ee0ac25F", + "deploymentMethod": "create", + "codehash": "0x8fda47a596dfba923270da84e0c32a2d0312f1c03389f83e16f2b5a35ed37fbe", + "predeployCodehash": "0x8fda47a596dfba923270da84e0c32a2d0312f1c03389f83e16f2b5a35ed37fbe" }, - "InterchainGovernance": { - "governanceChain": "Axelarnet", - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "minimumTimeDelay": 100, - "address": "0xd7A0e641Bfbb9AA83aAb9f3e89bf83e128d321c4", - "deployer": "0xC5C73C3032e0577662000887D60d279B5Cc1C1AB", - "deploymentMethod": "create3", - "codehash": "0x7a42cdec9730e5e54cfd6b6eae340b35922e538338839cd5d23ff8e75fb24dd0", - "predeployCodehash": "0xe2de43b29f2387b6f3575a1b50d566908fc00e03a8d88ad6be74b674a70874d2", - "salt": "InterchainGovernance" + "Create3Deployer": { + "address": "0x6513Aedb4D1593BA12e50644401D976aebDc90d8", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "deploymentMethod": "create2", + "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", + "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", + "salt": "Create3Deployer" }, + "Operators": { + "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "address": "0x60607ebAE692cfD36af19b4779b72AC2f1Ca2798", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "deploymentMethod": "create2", + "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "salt": "Operators devnet-amplifier(core)" + }, + "AxelarGasService": { + "collector": "0x60607ebAE692cfD36af19b4779b72AC2f1Ca2798", + "salt": "AxelarGasService devnet-amplifier(core)", + "address": "0x5F80274696D9414a148E9D64822a42846AFFE2DC", + "implementation": "0x07988B56280B7654259e2A6E26d512517483DC02", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + } + } + }, + "core-ethereum": { + "name": "Ethereum Sepolia", + "id": "core-ethereum", + "axelarId": "core-ethereum", + "chainId": 11155111, + "rpc": "https://eth-sepolia-public.unifra.io", + "tokenSymbol": "ETH", + "confirmations": 1, + "chainType": "evm", + "explorer": { + "explorer": "Sepoliascan", + "url": "https://sepolia.etherscan.io", + "api": "https://api-sepolia.etherscan.io/api" + }, + "finality": "finalized", + "approxFinalityWaitTime": 25, + "contracts": { "ConstAddressDeployer": { "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e", "deployer": "0xE86375704CDb8491a5Ed82D90DceCE02Ee0ac25F", @@ -53,80 +82,112 @@ "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" }, + "Operators": { + "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "address": "0x60607ebAE692cfD36af19b4779b72AC2f1Ca2798", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "deploymentMethod": "create2", + "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "salt": "Operators devnet-amplifier(core)" + }, "AxelarGasService": { - "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "salt": "AxelarGasService devnet-amplifier", - "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", - "implementation": "0xeF805CF590B12FD32F76Eb81A236461Cf4f3D796", + "collector": "0x60607ebAE692cfD36af19b4779b72AC2f1Ca2798", + "salt": "AxelarGasService devnet-amplifier(core)", + "address": "0x5F80274696D9414a148E9D64822a42846AFFE2DC", + "implementation": "0x36D0555763F6787848777AFC88c832e1ac2fC80B", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + } + } + }, + "core-optimism": { + "name": "Optimism Sepolia", + "id": "core-optimism", + "axelarId": "core-optimism", + "chainId": 11155420, + "rpc": "https://sepolia.optimism.io", + "tokenSymbol": "ETH", + "confirmations": 1, + "chainType": "evm", + "explorer": { + "name": "Opscan", + "url": "https://sepolia-optimistic.etherscan.io", + "api": "https://api-sepolia-optimistic.etherscan.io/api" + }, + "finality": "finalized", + "approxFinalityWaitTime": 40, + "contracts": { + "ConstAddressDeployer": { + "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e", + "deployer": "0xE86375704CDb8491a5Ed82D90DceCE02Ee0ac25F", + "deploymentMethod": "create", + "codehash": "0x8fda47a596dfba923270da84e0c32a2d0312f1c03389f83e16f2b5a35ed37fbe", + "predeployCodehash": "0x8fda47a596dfba923270da84e0c32a2d0312f1c03389f83e16f2b5a35ed37fbe" }, - "InterchainTokenService": { - "salt": "ITS v2.0.0rc1 devnet-amplifier", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxySalt": "ITS v1.0.0 devnet-amplifier", - "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", - "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", - "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", - "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", - "tokenHandler": "0x615A40baEF70c2a18060C8A36655d1AB0c8d548A", - "gatewayCaller": "0x0133b5338BceD3C8C50FAB852A9043d13af07a2c", - "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", - "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" + "Create3Deployer": { + "address": "0x6513Aedb4D1593BA12e50644401D976aebDc90d8", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "deploymentMethod": "create2", + "codehash": "0xf0ad66defbe082df243d4d274e626f557f97579c5c9e19f33d8093d6160808b7", + "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", + "salt": "Create3Deployer" }, - "InterchainTokenFactory": { + "Operators": { + "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "address": "0x60607ebAE692cfD36af19b4779b72AC2f1Ca2798", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "salt": "ITS Factory v1.0.0 devnet-amplifier", - "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", - "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" + "deploymentMethod": "create2", + "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "salt": "Operators devnet-amplifier(core)" + }, + "AxelarGasService": { + "collector": "0x60607ebAE692cfD36af19b4779b72AC2f1Ca2798", + "salt": "AxelarGasService devnet-amplifier(core)", + "address": "0x5F80274696D9414a148E9D64822a42846AFFE2DC", + "implementation": "0x163223c2e74728c6BE8d57F5491E749410acB908", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" } - }, + } + }, + "avalanche-fuji": { + "name": "Avalanche Fuji", + "id": "avalanche-fuji", + "axelarId": "avalanche-fuji", + "chainId": 43113, + "rpc": "https://avalanche-fuji-c-chain-rpc.publicnode.com", + "tokenSymbol": "AVAX", + "confirmations": 1, + "chainType": "evm", "explorer": { "name": "Snowtrace", "url": "https://testnet.snowtrace.io", "api": "https://api.routescan.io/v2/network/testnet/evm/43113/etherscan" - } - }, - "fantom": { - "name": "fantom", - "id": "fantom", - "axelarId": "fantom", - "chainId": 4002, - "rpc": "https://rpc.testnet.fantom.network", - "tokenSymbol": "ETH", - "confirmations": 1, - "gasOptions": { - "gasLimit": 8000000 }, + "finality": "finalized", + "approxFinalityWaitTime": 1, "contracts": { "AxelarGateway": { - "address": "0xFe34259F1EEc1Ea702A175bC5C2a4a29df6cfb43", + "gasOptions": { + "gasLimit": 5000000 + }, "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "implementation": "0x37e6F01C4BA68BA121dA57CfB0d54B822006010d", - "implementationCodehash": "0x6b7c920082c38c45886db0d7e1826ee424079993209d249b1ec714622f01e23f", - "deploymentMethod": "create3", "operator": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "previousSignersRetention": 15, - "domainSeparator": "0x9799ef60ed6cac8cd489e8932dcac928ed47c499a9cda8d128dcf1e934a196b4", - "minimumRotationDelay": 300, - "salt": "AxelarAmplifierGateway devnet-amplifier", "proxyDeploymentArgs": [ - "0x37e6F01C4BA68BA121dA57CfB0d54B822006010d", - "0x0aa18e321c89bbdfCE9913aa0cA20B977aDc4B48", - "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a612330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000cba59000000000000000000000000000000000000000000000000000000000000000300000000000000000000000051380cbf0777990e197a3e498ffafd26143e35f8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000061373485594010371dfbf3a8f8bd1736bfda7c090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c70aa87b38e6ab3c0df6e56338f96a5c00e653080000000000000000000000000000000000000000000000000000000000000001" + "0x3c19E701ed674350DE8cAEb0B85A388499246D2d", + "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a612330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002b5c75000000000000000000000000000000000000000000000000000000000000000300000000000000000000000051380cbf0777990e197a3e498ffafd26143e35f8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000061373485594010371dfbf3a8f8bd1736bfda7c090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c70aa87b38e6ab3c0df6e56338f96a5c00e653080000000000000000000000000000000000000000000000000000000000000001" ], - "initialVerifierSetId": "6fa58485dfe7043bd61ce646c3353e4afdb30d5686371e7ef5d00fba13d589fd" - }, - "InterchainGovernance": { - "governanceChain": "Axelarnet", - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "minimumTimeDelay": 100, - "address": "0x0aa18e321c89bbdfCE9913aa0cA20B977aDc4B48", - "deployer": "0xC5C73C3032e0577662000887D60d279B5Cc1C1AB", + "initialVerifierSetId": "23b68feb94699d32d762ad7264d416d5324408018f9ecd172a3aadd38a255c36", + "address": "0xF128c84c3326727c3e155168daAa4C0156B87AD1", + "implementation": "0x3c19E701ed674350DE8cAEb0B85A388499246D2d", + "implementationCodehash": "0xdb3dd6f58bf1295e87d39ec97e90a9a7cab857458af46d31e40fbe0589af2317", "deploymentMethod": "create3", - "codehash": "0x239a905161dd2c2ee8f567b0d3f10d8c82285bbc9bcd0a283ca20c1e743ce734", - "predeployCodehash": "0xe2de43b29f2387b6f3575a1b50d566908fc00e03a8d88ad6be74b674a70874d2", - "salt": "InterchainGovernance" + "previousSignersRetention": 15, + "domainSeparator": "0xfa2912a57d663fcffbcb3d4c56334eb8babe48008b4b7458f4332e0828a12f40", + "minimumRotationDelay": 0, + "salt": "AxelarGateway devnet-amplifier", + "connectionType": "amplifier" }, "ConstAddressDeployer": { "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e", @@ -143,82 +204,65 @@ "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" }, + "InterchainGovernance": { + "address": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + }, "AxelarGasService": { - "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "collector": "0x505381EEd15c828b3158836d0196bC2E6B51c49f", "salt": "AxelarGasService devnet-amplifier", "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", - "implementation": "0x2d322ed5cB6b7edB87B4149E2f28a6fA2c8d10c0", + "implementation": "0xDC290c5e736c7ae15af984300bB7db0D30f248eC", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" }, - "InterchainTokenService": { - "salt": "ITS v2.0.0rc1 devnet-amplifier", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxySalt": "ITS v1.0.0 devnet-amplifier", - "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", - "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", - "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", - "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", - "tokenHandler": "0x4c6f3dF22b2AD650550E4B455eBf73CbB646Cac4", - "gatewayCaller": "0x474B03EE1Ec8f40d0C45528b0ABBFf62c33b2De8", - "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", - "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" - }, - "InterchainTokenFactory": { + "Operators": { + "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "address": "0x505381EEd15c828b3158836d0196bC2E6B51c49f", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "salt": "ITS Factory v1.0.0 devnet-amplifier", - "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", - "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" + "deploymentMethod": "create2", + "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "salt": "Operators devnet-amplifier" } - }, - "explorer": { - "name": "Ftmscan", - "url": "https://testnet.ftmscan.com", - "api": "https://api-testnet.ftmscan.com/api" } }, - "ethereum-sepolia": { - "name": "ethereum-sepolia", - "id": "ethereum-sepolia", - "axelarId": "ethereum-sepolia", + "eth-sepolia": { + "name": "Ethereum Sepolia", + "id": "eth-sepolia", + "axelarId": "eth-sepolia", "chainId": 11155111, - "rpc": "https://rpc.ankr.com/eth_sepolia", + "rpc": "https://1rpc.io/sepolia", "tokenSymbol": "ETH", "confirmations": 1, - "gasOptions": { - "gasLimit": 8000000 + "chainType": "evm", + "explorer": { + "explorer": "Sepoliascan", + "url": "https://sepolia.etherscan.io", + "api": "https://api-sepolia.etherscan.io/api" }, + "finality": "finalized", + "approxFinalityWaitTime": 25, "contracts": { "AxelarGateway": { - "address": "0xeE9E463Fd8bE9AF266e1B143C27F7D42648f4006", + "gasOptions": { + "gasLimit": 5000000 + }, "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "implementation": "0x957E7eC2da3Cd93Fd49E1ac7DF0499a3EC9814a1", - "implementationCodehash": "0x325acd254c3c32b5da3a8f4379dfe6a3dccef30f6697bbc53e2cbef3fd5bd3c1", - "authModule": "0x3bBF2f935177dc06356dCbD83365788C0F21a865", - "tokenDeployer": "0x17310d0967626063af4C81cc7d0A9C631d9546c0", - "deploymentMethod": "create3", "operator": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "previousSignersRetention": 15, - "domainSeparator": "0x5034999c74b28c4db74dca67073b78629cc0ff7bf005f2f79cd8caf7d9588406", - "minimumRotationDelay": 300, - "salt": "AxelarAmplifierGateway devnet-amplifier", "proxyDeploymentArgs": [ - "0x957E7eC2da3Cd93Fd49E1ac7DF0499a3EC9814a1", - "0x3Cd679Cd00b61a8540Fcc3aE90Bba30DC3eeb6ee", - "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a612330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000cbac7000000000000000000000000000000000000000000000000000000000000000300000000000000000000000051380cbf0777990e197a3e498ffafd26143e35f8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000061373485594010371dfbf3a8f8bd1736bfda7c090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c70aa87b38e6ab3c0df6e56338f96a5c00e653080000000000000000000000000000000000000000000000000000000000000001" + "0x3c19E701ed674350DE8cAEb0B85A388499246D2d", + "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a612330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002b8b47000000000000000000000000000000000000000000000000000000000000000300000000000000000000000051380cbf0777990e197a3e498ffafd26143e35f8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000061373485594010371dfbf3a8f8bd1736bfda7c090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c70aa87b38e6ab3c0df6e56338f96a5c00e653080000000000000000000000000000000000000000000000000000000000000001" ], - "initialVerifierSetId": "7c394e3acd7ab02d9518e18f21a73499275623b19fb51d9a428bf329eea1e1e8" - }, - "InterchainGovernance": { - "governanceChain": "Axelarnet", - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "minimumTimeDelay": 100, - "address": "0x3Cd679Cd00b61a8540Fcc3aE90Bba30DC3eeb6ee", - "deployer": "0xC5C73C3032e0577662000887D60d279B5Cc1C1AB", + "initialVerifierSetId": "e5283a7b64fded588737f495421f8d0bf453f6a1deee353bcb9105551a01d4ea", + "address": "0xF128c84c3326727c3e155168daAa4C0156B87AD1", + "implementation": "0x3c19E701ed674350DE8cAEb0B85A388499246D2d", + "implementationCodehash": "0x547e0c45465a734b83b4670a395d33d2acb0caeaca5f11851d08811891fa56f1", "deploymentMethod": "create3", - "codehash": "0x186df8a587b3ad2edea4fbaf0a44c1da6a365dcd9481cca1645bd99d857485ca", - "predeployCodehash": "0xe2de43b29f2387b6f3575a1b50d566908fc00e03a8d88ad6be74b674a70874d2", - "salt": "InterchainGovernance" + "previousSignersRetention": 15, + "domainSeparator": "0xc04aba7c8ccda4059d622ac3e17bb4ef1c1e2358f25bfea5902a44d3a34d616a", + "minimumRotationDelay": 0, + "salt": "AxelarGateway devnet-amplifier", + "connectionType": "amplifier" }, "ConstAddressDeployer": { "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e", @@ -235,80 +279,65 @@ "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" }, + "InterchainGovernance": { + "address": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + }, "AxelarGasService": { - "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "collector": "0x505381EEd15c828b3158836d0196bC2E6B51c49f", "salt": "AxelarGasService devnet-amplifier", "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", - "implementation": "0x126C91CD0fBFC6c7EE438540C365F8FA2b3415fA", + "implementation": "0xC75c1Dc33514db5c39a13b2e7fE82A05050535EF", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" }, - "InterchainTokenService": { - "salt": "ITS v2.0.0rc1 devnet-amplifier", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxySalt": "ITS v1.0.0 devnet-amplifier", - "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", - "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", - "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", - "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", - "tokenHandler": "0x62aA80C43D569C39F062c463Eea0E6d95Cc56694", - "gatewayCaller": "0x6B6eEDf3707D80F0db8bf314E4391265CAeD5ABc", - "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", - "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" - }, - "InterchainTokenFactory": { + "Operators": { + "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "address": "0x505381EEd15c828b3158836d0196bC2E6B51c49f", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "salt": "ITS Factory v1.0.0 devnet-amplifier", - "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", - "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" + "deploymentMethod": "create2", + "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "salt": "Operators devnet-amplifier" } - }, - "explorer": { - "explorer": "Sepoliascan", - "url": "https://sepolia.etherscan.io", - "api": "https://api-sepolia.etherscan.io/api" } }, - "op-sepolia": { - "name": "op-sepolia", - "id": "op-sepolia", - "axelarId": "op-sepolia", + "optimism-sepolia": { + "name": "Optimism Sepolia", + "id": "optimism-sepolia", + "axelarId": "optimism-sepolia", "chainId": 11155420, "rpc": "https://sepolia.optimism.io", "tokenSymbol": "ETH", "confirmations": 1, - "gasOptions": { - "gasLimit": 8000000 + "chainType": "evm", + "explorer": { + "name": "Opscan", + "url": "https://sepolia-optimistic.etherscan.io", + "api": "https://api-sepolia-optimistic.etherscan.io/api" }, + "finality": "finalized", + "approxFinalityWaitTime": 40, "contracts": { "AxelarGateway": { - "address": "0x4a6991003d59c55710FD4D9ecE71e93883961510", + "gasOptions": { + "gasLimit": 5000000 + }, "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "implementation": "0xC7547fb5bc2Fde4Aec37De85DecA111FF3E0169b", - "implementationCodehash": "0x88ada364cc70966a39887ae006d790a7af331377a0f073472f4efdf2cc60e717", - "deploymentMethod": "create3", "operator": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "previousSignersRetention": 15, - "domainSeparator": "0x6d61fa7631ca30c4a3c6e731891c867f9eddf00e909ef07a76e0790994dcd592", - "minimumRotationDelay": 300, - "salt": "AxelarAmplifierGateway devnet-amplifier", "proxyDeploymentArgs": [ - "0xC7547fb5bc2Fde4Aec37De85DecA111FF3E0169b", - "0xE7741c9044F96FDb1fb08405a6199995E94Ef6ba", - "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a612330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000cbb3c000000000000000000000000000000000000000000000000000000000000000300000000000000000000000051380cbf0777990e197a3e498ffafd26143e35f8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000061373485594010371dfbf3a8f8bd1736bfda7c090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c70aa87b38e6ab3c0df6e56338f96a5c00e653080000000000000000000000000000000000000000000000000000000000000001" + "0x3c19E701ed674350DE8cAEb0B85A388499246D2d", + "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "0x000000000000000000000000ba76c6980428a0b10cfc5d8ccb61949677a612330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002b8d4d000000000000000000000000000000000000000000000000000000000000000300000000000000000000000051380cbf0777990e197a3e498ffafd26143e35f8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000061373485594010371dfbf3a8f8bd1736bfda7c090000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c70aa87b38e6ab3c0df6e56338f96a5c00e653080000000000000000000000000000000000000000000000000000000000000001" ], - "initialVerifierSetId": "f844cbd6aa9c37f48687a07818a8938291054e7ce0347bc2e4b788d38521baba" - }, - "InterchainGovernance": { - "governanceChain": "Axelarnet", - "governanceAddress": "axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj", - "minimumTimeDelay": 100, - "address": "0xE7741c9044F96FDb1fb08405a6199995E94Ef6ba", - "deployer": "0xC5C73C3032e0577662000887D60d279B5Cc1C1AB", + "initialVerifierSetId": "371d01f95380c32d6077ec54b726a7cf65e536acc860d26a6399b879f71a8e42", + "address": "0xF128c84c3326727c3e155168daAa4C0156B87AD1", + "implementation": "0x3c19E701ed674350DE8cAEb0B85A388499246D2d", + "implementationCodehash": "0x6101dacb6747d4e231d9aa697b51da66f04b32296558b90d19463d4a416dc108", "deploymentMethod": "create3", - "codehash": "0x5d6623658f7d8d16360ef8060d5ad5be7bbd0cc0204339565d9f94e6889c559c", - "predeployCodehash": "0xe2de43b29f2387b6f3575a1b50d566908fc00e03a8d88ad6be74b674a70874d2", - "salt": "InterchainGovernance" + "previousSignersRetention": 15, + "domainSeparator": "0xf865bf16595139bf568a034d575ffdbdd524dd2dbf8cce1de2ddaf7b964bf8e6", + "minimumRotationDelay": 0, + "salt": "AxelarGateway devnet-amplifier", + "connectionType": "amplifier" }, "ConstAddressDeployer": { "address": "0x98B2920D53612483F91F12Ed7754E51b4A77919e", @@ -325,53 +354,30 @@ "predeployCodehash": "0x73fc31262c4bad113c79439fd231281201c7c7d45b50328bd86bccf37684bf92", "salt": "Create3Deployer" }, + "InterchainGovernance": { + "address": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" + }, "AxelarGasService": { - "collector": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "collector": "0x505381EEd15c828b3158836d0196bC2E6B51c49f", "salt": "AxelarGasService devnet-amplifier", "address": "0x1179d44e69ba5252B7478a8602617d5EEeb2F377", - "implementation": "0x833CD30e0d4905D8150FeD75E18D8D3595ad30B4", + "implementation": "0xB7477c7c249d3378858Cd74E2790eAF0b7777CC2", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233" }, - "InterchainTokenService": { - "salt": "ITS v2.0.0rc1 devnet-amplifier", - "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "proxySalt": "ITS v1.0.0 devnet-amplifier", - "tokenManagerDeployer": "0x7A169413177C53abE8A6DF73404d910DA14cb18A", - "interchainToken": "0x86Aed56f98FEbB214a50C56DC0EAfFA80ef3BC9F", - "interchainTokenDeployer": "0xf5249EED2832AA09FbaD4C68d6308b590790cdc8", - "tokenManager": "0xad3b7C2757e4E66958ed0e619a3dD7fF5650F965", - "tokenHandler": "0x85dD094faE5Ae5df1d2AB0d5d7dbAC8b2216cBc4", - "gatewayCaller": "0xb0Bd72329c378477F9072073F5d50A3285BbD055", - "implementation": "0x36d8EAB43BF6Daf3a80ca3Ea76821C39c9d2311C", - "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", - "address": "0x4FDE6E2ED0EF4642478F562f73D2F3Ff5648D55e" - }, - "InterchainTokenFactory": { + "Operators": { + "owner": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "address": "0x505381EEd15c828b3158836d0196bC2E6B51c49f", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", - "salt": "ITS Factory v1.0.0 devnet-amplifier", - "implementation": "0x57b6b52067ED861D8B4A0001B322acc756A43736", - "address": "0x1dc68354c38A00e48af46BA9DADB96Aaf58A893c" + "deploymentMethod": "create2", + "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", + "salt": "Operators devnet-amplifier" } - }, - "explorer": { - "name": "Opscan", - "url": "https://sepolia-optimistic.etherscan.io", - "api": "https://api-sepolia-optimistic.etherscan.io/api" } } }, "axelar": { "contracts": { - "AxelarnetGateway": { - "codeId": 661, - "address": "axelar1yvfcrdke7fasxfaxx2r706h7h85rnk3w68cc5f4fkmafz5j755ssl8h9p0" - }, - "InterchainTokenService": { - "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", - "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", - "codeId": 664, - "address": "axelar10jzzmv5m7da7dn2xsfac0yqe7zamy34uedx3e28laq0p6f3f8dzqp649fp" - }, "ServiceRegistry": { "governanceAccount": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "codeId": 624, @@ -405,7 +411,7 @@ "10" ] }, - "codeId": 620, + "codeId": 737, "address": "axelar1vaj9sfzc3z0gpel90wu4ljutncutv0wuhvvwfsh30rqxq422z89qnd989l" }, "NexusGateway": { @@ -414,10 +420,10 @@ "address": "axelar1jjjr3tqs0nzjv3y9fg4xvzkww50jq06a9qp77r8kzmqyla97556sxx7702" }, "VotingVerifier": { - "avalanche": { + "avalanche-fuji": { "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "serviceName": "validators", - "sourceGatewayAddress": "0x146cbBBD1D03DA0619baa96Ed1d145A549959499", + "sourceGatewayAddress": "0xF128c84c3326727c3e155168daAa4C0156B87AD1", "votingThreshold": [ "6", "10" @@ -425,13 +431,14 @@ "blockExpiry": 10, "confirmationHeight": 1, "msgIdFormat": "hex_tx_hash_and_event_index", - "address": "axelar1ty7mx0cllgz8xuvhn2j7e3qy8999ssgmjtktyqetl335em0g88lq6rjhl2" + "addressFormat": "eip55", + "address": "axelar1252ahkw208d08ls64atp2pql4cnl9naxy7ahhq3lrthvq3spseys26l8xj" }, "codeId": 626, - "fantom": { + "eth-sepolia": { "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "serviceName": "validators", - "sourceGatewayAddress": "0xFe34259F1EEc1Ea702A175bC5C2a4a29df6cfb43", + "sourceGatewayAddress": "0xF128c84c3326727c3e155168daAa4C0156B87AD1", "votingThreshold": [ "6", "10" @@ -439,12 +446,13 @@ "blockExpiry": 10, "confirmationHeight": 1, "msgIdFormat": "hex_tx_hash_and_event_index", - "address": "axelar1n7sftvs3ul6yy5wqykka4dtmzm76ewmlc58q8xgvuxuurkjxtjcsw7ucyf" + "addressFormat": "eip55", + "address": "axelar16swl5eh3vspnyzddwltuf93hc65nwju7498u0zyq33u4cj8rxy4sgxx30m" }, - "ethereum-sepolia": { + "optimism-sepolia": { "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "serviceName": "validators", - "sourceGatewayAddress": "0xeE9E463Fd8bE9AF266e1B143C27F7D42648f4006", + "sourceGatewayAddress": "0xF128c84c3326727c3e155168daAa4C0156B87AD1", "votingThreshold": [ "6", "10" @@ -452,39 +460,24 @@ "blockExpiry": 10, "confirmationHeight": 1, "msgIdFormat": "hex_tx_hash_and_event_index", - "address": "axelar1e6jnuljng6aljk0tjct6f0hl9tye6l0n9p067pwx2374h82dmr0s9qcqy9" - }, - "op-sepolia": { - "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", - "serviceName": "validators", - "sourceGatewayAddress": "0x4a6991003d59c55710FD4D9ecE71e93883961510", - "votingThreshold": [ - "6", - "10" - ], - "blockExpiry": 10, - "confirmationHeight": 1, - "msgIdFormat": "hex_tx_hash_and_event_index", - "address": "axelar1h6k0vnwagv3a5pmwck0g2dlwahr6p8aqlcueqnk259y6252adx5sn0f8jx" + "addressFormat": "eip55", + "address": "axelar1qtg2es55w6zp539a2xh9mnajxqq2rsqghf604muyw85vrn0ky97qyu795s" } }, "Gateway": { - "avalanche": { - "address": "axelar16hdkkxjyapw5zyf2wxs42854278tpwgqkz87kst8wamvr4pcy4pqrpn96s" + "avalanche-fuji": { + "address": "axelar1agyunp32jwynnkrf92wuvac2xa7cvgthtk5yr3wh7jypg59zjjqqsqf36s" }, "codeId": 616, - "fantom": { - "address": "axelar1pvcj8m7gp30tl26kt7n2ncg9g7xnt86wlqatlvwehh8s2ve2anmq6ea96w" + "eth-sepolia": { + "address": "axelar18zrymnzgdmutdjhqlfsslzy4yvzw8uylysjwqlq4uk4muq3qx30qde39qz" }, - "ethereum-sepolia": { - "address": "axelar1hdx49xndyxzrs3t5jkzart00taqysu6kmaf77waxv8regwxxpp4qcsea2w" - }, - "op-sepolia": { - "address": "axelar1ap6vtz5gf2wcayqgl39aag07auj6qecd78el7m6fxw76sl5rnnuqqhvugs" + "optimism-sepolia": { + "address": "axelar16wd6350f575t5cts9sduqmt7nsw9kc822ltf6dcn46rvejmmg8cqrq4ara" } }, "MultisigProver": { - "avalanche": { + "avalanche-fuji": { "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "destinationChainID": "43113", @@ -496,26 +489,11 @@ "verifierSetDiffThreshold": 1, "encoder": "abi", "keyType": "ecdsa", - "domainSeparator": "0x598ba04d225cec385d1ce3cf3c9a076af803aa5c614bc0e0d176f04ac8d28f55", - "address": "axelar1g6520uhs8u37el40wqngf60z06mjgk6z7nezytd2mxrmh7yesnmsyc0zjw" + "domainSeparator": "0xfa2912a57d663fcffbcb3d4c56334eb8babe48008b4b7458f4332e0828a12f40", + "address": "axelar1p22kz5jr7a9ruu8ypg40smual0uagl64dwvz5xt042vu8fa7l7dsl3wx8q" }, "codeId": 618, - "fantom": { - "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", - "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", - "destinationChainID": "4002", - "signingThreshold": [ - "6", - "10" - ], - "serviceName": "validators", - "verifierSetDiffThreshold": 1, - "encoder": "abi", - "keyType": "ecdsa", - "domainSeparator": "0x9799ef60ed6cac8cd489e8932dcac928ed47c499a9cda8d128dcf1e934a196b4", - "address": "axelar17fa8wruwmk2y0h32wrg5rxwespvcvz5zc2hjnczz58tnmg8enh0sunsshp" - }, - "ethereum-sepolia": { + "eth-sepolia": { "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "destinationChainID": "11155111", @@ -527,10 +505,10 @@ "verifierSetDiffThreshold": 1, "encoder": "abi", "keyType": "ecdsa", - "domainSeparator": "0x5034999c74b28c4db74dca67073b78629cc0ff7bf005f2f79cd8caf7d9588406", - "address": "axelar1274ntw3prlrzzys4m0mc5xxhzu09x0r3d37886xdz65w59ey7mgs6v0j5z" + "domainSeparator": "0xc04aba7c8ccda4059d622ac3e17bb4ef1c1e2358f25bfea5902a44d3a34d616a", + "address": "axelar15ra7d5uvnmc6ety6sqxsvsfz4t34ud6lc5gmt39res0c5thkqp2qdwj4af" }, - "op-sepolia": { + "optimism-sepolia": { "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "destinationChainID": "11155420", @@ -542,13 +520,13 @@ "verifierSetDiffThreshold": 1, "encoder": "abi", "keyType": "ecdsa", - "domainSeparator": "0x6d61fa7631ca30c4a3c6e731891c867f9eddf00e909ef07a76e0790994dcd592", - "address": "axelar1xdmwwl44tcdpljupjkafqpznrny4t60xgyyqw7hgnvztjtvlgurqx9k960" + "domainSeparator": "0xf865bf16595139bf568a034d575ffdbdd524dd2dbf8cce1de2ddaf7b964bf8e6", + "address": "axelar1p0yyfy7f70zdc0ludh6kffjzs8mvun5prdf7nh7s2cgq74g67nmsjcw7t4" } } }, "id": "Axelarnet", - "axelarId": "Axelarnet", + "axelarId": "axelar", "chainId": "devnet-amplifier", "rpc": "http://devnet-amplifier.axelar.dev:26657", "lcd": "http://devnet-amplifier.axelar.dev:1317", From 8230cf48144a357f4aa8a70ff8a5f9c1ad694196 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 01:57:29 -0400 Subject: [PATCH 06/20] ITS config --- axelar-chains-config/info/devnet-amplifier.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index 7024d23a..ae6fd658 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -419,6 +419,16 @@ "codeId": 619, "address": "axelar1jjjr3tqs0nzjv3y9fg4xvzkww50jq06a9qp77r8kzmqyla97556sxx7702" }, + "AxelarnetGateway": { + "codeId": 661, + "address": "axelar1yvfcrdke7fasxfaxx2r706h7h85rnk3w68cc5f4fkmafz5j755ssl8h9p0" + }, + "InterchainTokenService": { + "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", + "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", + "codeId": 664, + "address": "axelar10jzzmv5m7da7dn2xsfac0yqe7zamy34uedx3e28laq0p6f3f8dzqp649fp" + }, "VotingVerifier": { "avalanche-fuji": { "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", From d39d668115222a1400cbbb2173ad1d8488c16065 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 02:19:01 -0400 Subject: [PATCH 07/20] EVM ITS deployments --- .../info/devnet-amplifier.json | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index ae6fd658..bb1a766b 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -222,6 +222,26 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators devnet-amplifier" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.0rc2 devnet-amplifier", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "proxySalt": "ITS v2.0.0 devnet-amplifier", + "tokenManagerDeployer": "0x534aa11e06A667007f8008c636f9238f743D72B8", + "interchainToken": "0x34c8C8d2E212E3D5eBECAdf4769388B2e36C4561", + "interchainTokenDeployer": "0x437D54eB4fF71055E384E2d61C2b30948203E5E1", + "tokenManager": "0x61fDdE18b8B98DECc0EE4111B40BAa4b03547723", + "tokenHandler": "0xaB517e07d09882F3C527FB99dc2Cc6Aaf81b7b50", + "gatewayCaller": "0x11935f46E14bA1f506AD65Ce9481ba03AC8D2B81", + "implementation": "0x8eC6b222628EFdEF40a511244AfC984af2C7bc0C", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x144c3d7A5f5198EF3B46A8258b35E903cf197A66" + }, + "InterchainTokenFactory": { + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "ITS Factory v2.0.0 devnet-amplifier", + "implementation": "0x98B5CB69EC695f827CbB0b3d33DBF0F17760b599", + "address": "0x6Ae8C8498d5FDA930e6ABeB0E15E5A00471702a7" } } }, @@ -297,6 +317,26 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators devnet-amplifier" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.0rc2 devnet-amplifier", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "proxySalt": "ITS v2.0.0 devnet-amplifier", + "tokenManagerDeployer": "0x534aa11e06A667007f8008c636f9238f743D72B8", + "interchainToken": "0x34c8C8d2E212E3D5eBECAdf4769388B2e36C4561", + "interchainTokenDeployer": "0x437D54eB4fF71055E384E2d61C2b30948203E5E1", + "tokenManager": "0x61fDdE18b8B98DECc0EE4111B40BAa4b03547723", + "tokenHandler": "0xaB517e07d09882F3C527FB99dc2Cc6Aaf81b7b50", + "gatewayCaller": "0x11935f46E14bA1f506AD65Ce9481ba03AC8D2B81", + "implementation": "0x8eC6b222628EFdEF40a511244AfC984af2C7bc0C", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x144c3d7A5f5198EF3B46A8258b35E903cf197A66" + }, + "InterchainTokenFactory": { + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "ITS Factory v2.0.0 devnet-amplifier", + "implementation": "0x98B5CB69EC695f827CbB0b3d33DBF0F17760b599", + "address": "0x6Ae8C8498d5FDA930e6ABeB0E15E5A00471702a7" } } }, @@ -372,6 +412,26 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators devnet-amplifier" + }, + "InterchainTokenService": { + "salt": "ITS v2.0.0rc2 devnet-amplifier", + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "proxySalt": "ITS v2.0.0 devnet-amplifier", + "tokenManagerDeployer": "0x534aa11e06A667007f8008c636f9238f743D72B8", + "interchainToken": "0x34c8C8d2E212E3D5eBECAdf4769388B2e36C4561", + "interchainTokenDeployer": "0x437D54eB4fF71055E384E2d61C2b30948203E5E1", + "tokenManager": "0x61fDdE18b8B98DECc0EE4111B40BAa4b03547723", + "tokenHandler": "0xaB517e07d09882F3C527FB99dc2Cc6Aaf81b7b50", + "gatewayCaller": "0x11935f46E14bA1f506AD65Ce9481ba03AC8D2B81", + "implementation": "0x8eC6b222628EFdEF40a511244AfC984af2C7bc0C", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0x144c3d7A5f5198EF3B46A8258b35E903cf197A66" + }, + "InterchainTokenFactory": { + "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", + "salt": "ITS Factory v2.0.0 devnet-amplifier", + "implementation": "0x98B5CB69EC695f827CbB0b3d33DBF0F17760b599", + "address": "0x6Ae8C8498d5FDA930e6ABeB0E15E5A00471702a7" } } } From 7c190892239890aeac66111215df4b44088d3801 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 02:39:39 -0400 Subject: [PATCH 08/20] update ITS verification --- .../src/utils/verifyContract.js | 7 ++- evm/verify-contract.js | 61 ++++++++++--------- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/axelar-chains-config/src/utils/verifyContract.js b/axelar-chains-config/src/utils/verifyContract.js index 45812107..91c9a444 100644 --- a/axelar-chains-config/src/utils/verifyContract.js +++ b/axelar-chains-config/src/utils/verifyContract.js @@ -20,7 +20,8 @@ const verifyContract = (env, chain, contract, args, options = {}) => { const contractArg = options.contractPath ? `--contract ${options.contractPath}` : ''; const dirPrefix = options.dir ? `cd ${options.dir};` : ''; - const cmd = `${dirPrefix} ENV=${env} npx hardhat verify --network ${chain.toLowerCase()} ${contractArg} --no-compile --constructor-args ${file} ${contract} --show-stack-traces`; + const normalizedChainName = chain.toLowerCase().replace(' ', '-'); + const cmd = `${dirPrefix} ENV=${env} npx hardhat verify --network ${normalizedChainName} ${contractArg} --no-compile --constructor-args ${file} ${contract} --show-stack-traces`; writeFileSync(filePath, content, 'utf-8'); @@ -32,9 +33,9 @@ const verifyContract = (env, chain, contract, args, options = {}) => { console.log('Verified!'); } catch (error) { if (error.message.toLowerCase().includes('already verified')) { - console.log(`Contract ${contract} is already verified on ${chain.toLowerCase()}.`); + console.log(`Contract ${contract} is already verified on ${normalizedChainName}.`); } else { - throw new Error(`An error occurred while trying to verify ${contract} on ${chain.toLowerCase()}:\n${error}`); + throw new Error(`An error occurred while trying to verify ${contract} on ${normalizedChainName}:\n${error}`); } } }; diff --git a/evm/verify-contract.js b/evm/verify-contract.js index 84cf255f..cff19aa4 100644 --- a/evm/verify-contract.js +++ b/evm/verify-contract.js @@ -38,14 +38,14 @@ async function processCommand(config, chain, options) { switch (contractName) { case 'Create3Deployer': { - await verifyContract(env, chain.name, contractAddress, [], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [], verifyOptions); break; } case 'InterchainGovernance': { await verifyContract( env, - chain.name, + chain.axelarId, contractAddress, [ chain.contracts.AxelarGateway.address, @@ -59,14 +59,14 @@ async function processCommand(config, chain, options) { } case 'Multisig': { - await verifyContract(env, chain.name, contractAddress, [contractConfig.signers, contractConfig.threshold], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [contractConfig.signers, contractConfig.threshold], verifyOptions); break; } case 'InterchainProposalSender': { await verifyContract( env, - chain.name, + chain.axelarId, contractAddress, [chain.contracts.AxelarGateway.address, chain.contracts.AxelarGasService.address], verifyOptions, @@ -75,17 +75,17 @@ async function processCommand(config, chain, options) { } case 'ConstAddressDeployer': { - await verifyContract(env, chain.name, contractAddress, [], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [], verifyOptions); break; } case 'CreateDeployer': { - await verifyContract(env, chain.name, contractAddress, [], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [], verifyOptions); break; } case 'Operators': { - await verifyContract(env, chain.name, contractAddress, [contractConfig.owner], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [contractConfig.owner], verifyOptions); break; } @@ -104,10 +104,10 @@ async function processCommand(config, chain, options) { [contractConfig.deployer, contractConfig.deployer, '0x'], ); - await verifyContract(env, chain.name, auth, [authParams], verifyOptions); - await verifyContract(env, chain.name, tokenDeployer, [], verifyOptions); - await verifyContract(env, chain.name, implementation, [auth, tokenDeployer], verifyOptions); - await verifyContract(env, chain.name, contractAddress, [implementation, setupParams], verifyOptions); + await verifyContract(env, chain.axelarId, auth, [authParams], verifyOptions); + await verifyContract(env, chain.axelarId, tokenDeployer, [], verifyOptions); + await verifyContract(env, chain.axelarId, implementation, [auth, tokenDeployer], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [implementation, setupParams], verifyOptions); break; } @@ -116,8 +116,8 @@ async function processCommand(config, chain, options) { const gasService = contractFactory.attach(contractAddress); const implementation = await gasService.implementation(); - await verifyContract(env, chain.name, implementation, [contractConfig.collector], verifyOptions); - await verifyContract(env, chain.name, contractAddress, [], verifyOptions); + await verifyContract(env, chain.axelarId, implementation, [contractConfig.collector], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [], verifyOptions); break; } @@ -125,12 +125,12 @@ async function processCommand(config, chain, options) { const depositService = contractFactory.attach(contractAddress); const implementation = await depositService.implementation(); - await verifyContract(env, chain.name, implementation, [ + await verifyContract(env, chain.axelarId, implementation, [ chain.contracts.AxelarGateway.address, contractConfig.wrappedSymbol, contractConfig.refundIssuer, ]); - await verifyContract(env, chain.name, contractAddress, [], verifyOptions); + await verifyContract(env, chain.axelarId, contractAddress, [], verifyOptions); break; } @@ -151,9 +151,9 @@ async function processCommand(config, chain, options) { printInfo(defaultAbiCoder.encode(['string', 'string', 'uint8', 'uint256'], [name, symbol, decimals, cap])); - printInfo(`Verifying ${name} (${symbol}) decimals ${decimals} on ${chain.name}...`); + printInfo(`Verifying ${name} (${symbol}) decimals ${decimals} on ${chain.axelarId}...`); - await verifyContract(env, chain.name, tokenContract.address, [name, symbol, decimals, cap], verifyOptions); + await verifyContract(env, chain.axelarId, tokenContract.address, [name, symbol, decimals, cap], verifyOptions); break; } @@ -178,6 +178,7 @@ async function processCommand(config, chain, options) { const tokenManager = await its.tokenManager(); const tokenHandler = await its.tokenHandler(); + const gatewayCaller = await its.gatewayCaller(); const [trustedChains, trustedAddresses] = await getTrustedChainsAndAddresses(config, its); @@ -186,14 +187,15 @@ async function processCommand(config, chain, options) { [contractConfig.deployer, chain.axelarId, trustedChains, trustedAddresses], ); - await verifyContract(env, chain.name, tokenManagerDeployer, [], verifyOptions); - await verifyContract(env, chain.name, interchainToken, [contractAddress], verifyOptions); - await verifyContract(env, chain.name, interchainTokenDeployer, [interchainToken], verifyOptions); - await verifyContract(env, chain.name, tokenManager, [contractAddress], verifyOptions); - await verifyContract(env, chain.name, tokenHandler, [], verifyOptions); + await verifyContract(env, chain.axelarId, tokenManagerDeployer, [], verifyOptions); + await verifyContract(env, chain.axelarId, interchainToken, [contractAddress], verifyOptions); + await verifyContract(env, chain.axelarId, interchainTokenDeployer, [interchainToken], verifyOptions); + await verifyContract(env, chain.axelarId, tokenManager, [contractAddress], verifyOptions); + await verifyContract(env, chain.axelarId, tokenHandler, [chain.contracts.AxelarGateway.address], verifyOptions); + await verifyContract(env, chain.axelarId, gatewayCaller, [chain.contracts.AxelarGateway.address, chain.contracts.AxelarGasService.address], verifyOptions); await verifyContract( env, - chain.name, + chain.axelarId, implementation, [ tokenManagerDeployer, @@ -204,13 +206,14 @@ async function processCommand(config, chain, options) { chain.axelarId, tokenManager, tokenHandler, + gatewayCaller, ], verifyOptions, ); - await verifyContract(env, chain.name, interchainTokenFactoryImplementation, [contractAddress], verifyOptions); + await verifyContract(env, chain.axelarId, interchainTokenFactoryImplementation, [contractAddress], verifyOptions); await verifyContract( env, - chain.name, + chain.axelarId, contractAddress, [implementation, chain.contracts.InterchainTokenService.deployer, setupParams], { @@ -220,7 +223,7 @@ async function processCommand(config, chain, options) { ); await verifyContract( env, - chain.name, + chain.axelarId, interchainTokenFactory, [interchainTokenFactoryImplementation, chain.contracts.InterchainTokenFactory.deployer, '0x'], { @@ -253,7 +256,7 @@ async function processCommand(config, chain, options) { await verifyContract( env, - chain.name, + chain.axelarId, tokenManagerAddress, [interchainTokenService.address, implementationType, tokenId, params], { @@ -276,13 +279,13 @@ async function processCommand(config, chain, options) { await verifyContract( env, - chain.name, + chain.axelarId, implementation, [previousSignersRetention, domainSeparator, minimumRotationDelay], verifyOptions, ); - await verifyContract(env, chain.name, amplifierGateway.address, contractConfig.proxyDeploymentArgs, verifyOptions); + await verifyContract(env, chain.axelarId, amplifierGateway.address, contractConfig.proxyDeploymentArgs, verifyOptions); break; } From 7928cac7452942180dc3caff78b7dda130dc48f7 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 03:12:31 -0400 Subject: [PATCH 09/20] print more info on token deployment --- evm/interchainTokenFactory.js | 13 ++++++++++++- evm/its.js | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/evm/interchainTokenFactory.js b/evm/interchainTokenFactory.js index 20884831..d8b745c4 100644 --- a/evm/interchainTokenFactory.js +++ b/evm/interchainTokenFactory.js @@ -132,11 +132,14 @@ async function processCommand(config, chain, options) { name, symbol, decimals, - parseInt(initialSupply * 10 ** decimals), + parseInt(initialSupply * (10 ** decimals)), minter, gasOptions, ); + const tokenId = await interchainTokenFactory.interchainTokenId(wallet.address, deploymentSalt); + printInfo('tokenId', tokenId); + await handleTx(tx, chain, interchainTokenService, options.action, 'TokenManagerDeployed', 'InterchainTokenDeploymentStarted'); break; @@ -164,6 +167,8 @@ async function processCommand(config, chain, options) { gasValue, { value: gasValue, ...gasOptions }, ); + const tokenId = await interchainTokenFactory.interchainTokenId(wallet.address, deploymentSalt); + printInfo('tokenId', tokenId); await handleTx(tx, chain, interchainTokenService, options.action, 'TokenManagerDeployed', 'InterchainTokenDeploymentStarted'); @@ -177,6 +182,9 @@ async function processCommand(config, chain, options) { const tx = await interchainTokenFactory.registerCanonicalInterchainToken(tokenAddress, gasOptions); + const tokenId = await interchainTokenFactory.canonicalInterchainTokenId(tokenAddress); + printInfo('tokenId', tokenId); + await handleTx(tx, chain, interchainTokenService, options.action, 'TokenManagerDeployed', 'TokenManagerDeploymentStarted'); break; @@ -202,6 +210,9 @@ async function processCommand(config, chain, options) { { value: gasValue, ...gasOptions }, ); + const tokenId = await interchainTokenFactory.canonicalInterchainTokenId(tokenAddress); + printInfo('tokenId', tokenId); + await handleTx(tx, chain, interchainTokenService, options.action, 'TokenManagerDeployed', 'InterchainTokenDeploymentStarted'); break; diff --git a/evm/its.js b/evm/its.js index 9e0cbd55..12a60f03 100644 --- a/evm/its.js +++ b/evm/its.js @@ -364,7 +364,7 @@ async function processCommand(config, chain, options) { wallet, ); - const implementationType = await tokenManager.implementationType(); + const implementationType = (await tokenManager.implementationType()).toNumber(); const decimals = await token.decimals(); amount = BigNumber.from(amount).mul(BigNumber.from(10).pow(decimals)); const balance = await token.balanceOf(wallet.address); @@ -377,7 +377,7 @@ async function processCommand(config, chain, options) { implementationType !== tokenManagerImplementations.MINT_BURN && implementationType !== tokenManagerImplementations.INTERCHAIN_TOKEN ) { - printInfo('Approving ITS for a transfer'); + printInfo('Approving ITS for a transfer for token with token manager type', implementationType); await token.approve(interchainTokenService.address, amount, gasOptions).then((tx) => tx.wait()); } From 423aade43bd49860c6155796d815c58d22c60907 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 03:13:22 -0400 Subject: [PATCH 10/20] prettier --- evm/interchainTokenFactory.js | 2 +- evm/verify-contract.js | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/evm/interchainTokenFactory.js b/evm/interchainTokenFactory.js index d8b745c4..0c2d2d76 100644 --- a/evm/interchainTokenFactory.js +++ b/evm/interchainTokenFactory.js @@ -132,7 +132,7 @@ async function processCommand(config, chain, options) { name, symbol, decimals, - parseInt(initialSupply * (10 ** decimals)), + parseInt(initialSupply * 10 ** decimals), minter, gasOptions, ); diff --git a/evm/verify-contract.js b/evm/verify-contract.js index cff19aa4..a9894dff 100644 --- a/evm/verify-contract.js +++ b/evm/verify-contract.js @@ -192,7 +192,13 @@ async function processCommand(config, chain, options) { await verifyContract(env, chain.axelarId, interchainTokenDeployer, [interchainToken], verifyOptions); await verifyContract(env, chain.axelarId, tokenManager, [contractAddress], verifyOptions); await verifyContract(env, chain.axelarId, tokenHandler, [chain.contracts.AxelarGateway.address], verifyOptions); - await verifyContract(env, chain.axelarId, gatewayCaller, [chain.contracts.AxelarGateway.address, chain.contracts.AxelarGasService.address], verifyOptions); + await verifyContract( + env, + chain.axelarId, + gatewayCaller, + [chain.contracts.AxelarGateway.address, chain.contracts.AxelarGasService.address], + verifyOptions, + ); await verifyContract( env, chain.axelarId, From 0da2e280c8632ffc39dfc2f7f719ccfb95c996b8 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 04:03:36 -0400 Subject: [PATCH 11/20] trusted address setting --- axelar-chains-config/info/devnet-amplifier.json | 4 ++-- evm/its.js | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index bb1a766b..a4046e4e 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -595,8 +595,8 @@ } } }, - "id": "Axelarnet", - "axelarId": "axelar", + "id": "axelarnet", + "axelarId": "axelarnet", "chainId": "devnet-amplifier", "rpc": "http://devnet-amplifier.axelar.dev:26657", "lcd": "http://devnet-amplifier.axelar.dev:1317", diff --git a/evm/its.js b/evm/its.js index 12a60f03..da22896a 100644 --- a/evm/its.js +++ b/evm/its.js @@ -23,6 +23,7 @@ const { getGasOptions, isNonEmptyString, isValidChain, + getChainConfig, } = require('./utils'); const { getWallet } = require('./sign-utils'); const IInterchainTokenService = getContractJSON('IInterchainTokenService'); @@ -479,9 +480,9 @@ async function processCommand(config, chain, options) { trustedChains = itsChains.map((chain) => chain.axelarId); trustedAddresses = itsChains.map((_) => chain.contracts?.InterchainTokenService?.address); } else { - const trustedChain = config.chains[options.trustedChain.toLowerCase()]?.axelarId; + const trustedChain = getChainConfig(config, options.trustedChain.toLowerCase()).axelarId; const trustedAddress = - options.trustedAddress || config.chains[options.trustedChain.toLowerCase()]?.contracts?.InterchainTokenService?.address; + options.trustedAddress || getChainConfig(config, options.trustedChain.toLowerCase())?.contracts?.InterchainTokenService?.address; if (trustedChain === undefined || trustedAddress === undefined) { throw new Error(`Invalid chain/address: ${options.trustedChain}`); From 53a003ae639ef49486bce507877b51d1a9fdfc41 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 05:20:59 -0400 Subject: [PATCH 12/20] amplifier execute --- evm/gateway.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/evm/gateway.js b/evm/gateway.js index 2cf1a512..5f275450 100644 --- a/evm/gateway.js +++ b/evm/gateway.js @@ -278,8 +278,15 @@ async function processCommand(config, chain, options) { // eslint-disable-next-line no-duplicate-case,no-fallthrough case 'approveAndExecute': { const payloadHash = payload.startsWith('0x') ? keccak256(arrayify(payload)) : id(payload); + const { sourceChain, sourceAddress } = options; - const commandID = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString()); + let commandID; + + if (options.messageId) { + commandID = id(`${sourceChain}_${options.messageId}`); + } else { + commandID = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString()); + } if (!options.destination) { throw new Error('Missing destination contract address'); @@ -291,8 +298,8 @@ async function processCommand(config, chain, options) { if ( !(await gateway.isContractCallApproved( commandID, - 'Axelarnet', - 'axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj', + sourceChain, + sourceAddress, options.destination, payloadHash, )) @@ -303,7 +310,7 @@ async function processCommand(config, chain, options) { const appContract = new Contract(options.destination, IAxelarExecutable.abi, wallet); - const tx = await appContract.execute(commandID, 'Axelarnet', 'axelar10d07y265gmmuvt4z0w9aw880jnsr700j7v9daj', payload); + const tx = await appContract.execute(commandID, sourceChain, sourceAddress, payload); printInfo('Execute tx', tx.hash); await tx.wait(chain.confirmations); @@ -508,6 +515,9 @@ if (require.main === module) { program.addOption(new Option('--payload ', 'gmp payload')); program.addOption(new Option('--commandID ', 'execute command ID')); + program.addOption(new Option('--messageId ', 'GMP call message ID')); + program.addOption(new Option('--sourceChain ', 'GMP source chain')); + program.addOption(new Option('--sourceAddress ', 'GMP source address')); program.addOption(new Option('--destination ', 'GMP destination address')); program.addOption(new Option('--destinationChain ', 'GMP destination chain')); program.addOption(new Option('--batchID ', 'EVM batch ID').default('')); From 5cd9c9a83d51f0c27fa99a94298eecb0cf63b934 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 06:12:26 -0400 Subject: [PATCH 13/20] misc fixes --- .../info/devnet-amplifier.json | 2 +- common/utils.js | 4 ++-- evm/gateway.js | 20 +++++++++++-------- evm/its.js | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index a4046e4e..2f37ae7a 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -486,7 +486,7 @@ "InterchainTokenService": { "adminAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", "governanceAddress": "axelar1zlr7e5qf3sz7yf890rkh9tcnu87234k6k7ytd9", - "codeId": 664, + "codeId": 738, "address": "axelar10jzzmv5m7da7dn2xsfac0yqe7zamy34uedx3e28laq0p6f3f8dzqp649fp" }, "VotingVerifier": { diff --git a/common/utils.js b/common/utils.js index b49e3f35..85c97836 100644 --- a/common/utils.js +++ b/common/utils.js @@ -409,14 +409,14 @@ async function getDomainSeparator(config, chain, options) { return expectedDomainSeparator; } -const getChainConfig = (config, chainName) => { +const getChainConfig = (config, chainName, options = {}) => { if (chainName === 'none') { return undefined; } const chainConfig = config.chains[chainName] || config[chainName]; - if (!chainConfig) { + if (!options.skipCheck && !chainConfig) { throw new Error(`Chain ${chainName} not found in config`); } diff --git a/evm/gateway.js b/evm/gateway.js index 5f275450..88066168 100644 --- a/evm/gateway.js +++ b/evm/gateway.js @@ -91,7 +91,10 @@ async function processCommand(config, chain, options) { return; } - const payload = options.payload || '0x'; + let payload = options.payload || '0x'; + if (!payload.startsWith('0x')) { + payload = '0x' + payload; + } if (!payload) { throw new Error('Missing GMP payload'); @@ -238,7 +241,7 @@ async function processCommand(config, chain, options) { // eslint-disable-next-line no-fallthrough case 'approveAndExecute': { - const payloadHash = payload.startsWith('0x') ? keccak256(arrayify(payload)) : id(payload); + const payloadHash = keccak256(arrayify(payload)); const commandID = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString()); @@ -277,15 +280,16 @@ async function processCommand(config, chain, options) { // eslint-disable-next-line no-duplicate-case,no-fallthrough case 'approveAndExecute': { - const payloadHash = payload.startsWith('0x') ? keccak256(arrayify(payload)) : id(payload); + const payloadHash = keccak256(arrayify(payload)); const { sourceChain, sourceAddress } = options; - let commandID; + let commandId; if (options.messageId) { - commandID = id(`${sourceChain}_${options.messageId}`); + // Derive commandId for Amplifier gateway + commandId = id(`${sourceChain}_${options.messageId}`); } else { - commandID = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString()); + commandId = options.commandID.startsWith('0x') ? options.commandID : id(parseInt(options.commandID).toString()); } if (!options.destination) { @@ -297,7 +301,7 @@ async function processCommand(config, chain, options) { if ( !(await gateway.isContractCallApproved( - commandID, + commandId, sourceChain, sourceAddress, options.destination, @@ -310,7 +314,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); printInfo('Execute tx', tx.hash); await tx.wait(chain.confirmations); diff --git a/evm/its.js b/evm/its.js index da22896a..641bfafb 100644 --- a/evm/its.js +++ b/evm/its.js @@ -480,7 +480,7 @@ async function processCommand(config, chain, options) { trustedChains = itsChains.map((chain) => chain.axelarId); trustedAddresses = itsChains.map((_) => chain.contracts?.InterchainTokenService?.address); } else { - const trustedChain = getChainConfig(config, options.trustedChain.toLowerCase()).axelarId; + const trustedChain = getChainConfig(config, options.trustedChain.toLowerCase(), { skipCheck: true })?.axelarId || options.trustedChain.toLowerCase(); const trustedAddress = options.trustedAddress || getChainConfig(config, options.trustedChain.toLowerCase())?.contracts?.InterchainTokenService?.address; From c63f30e542fd3b412f81fef5697b9c40578bc43c Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 24 Sep 2024 06:37:19 -0400 Subject: [PATCH 14/20] prettier --- evm/gateway.js | 10 +--------- evm/its.js | 7 +++++-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/evm/gateway.js b/evm/gateway.js index 88066168..2f3ca5ce 100644 --- a/evm/gateway.js +++ b/evm/gateway.js @@ -299,15 +299,7 @@ async function processCommand(config, chain, options) { printInfo('Destination app contract', options.destination); printInfo('Payload Hash', payloadHash); - if ( - !(await gateway.isContractCallApproved( - commandId, - sourceChain, - sourceAddress, - options.destination, - payloadHash, - )) - ) { + if (!(await gateway.isContractCallApproved(commandId, sourceChain, sourceAddress, options.destination, payloadHash))) { printWarn('Contract call not approved at the gateway'); return; } diff --git a/evm/its.js b/evm/its.js index 641bfafb..2b053090 100644 --- a/evm/its.js +++ b/evm/its.js @@ -480,9 +480,12 @@ async function processCommand(config, chain, options) { trustedChains = itsChains.map((chain) => chain.axelarId); trustedAddresses = itsChains.map((_) => chain.contracts?.InterchainTokenService?.address); } else { - const trustedChain = getChainConfig(config, options.trustedChain.toLowerCase(), { skipCheck: true })?.axelarId || options.trustedChain.toLowerCase(); + const trustedChain = + getChainConfig(config, options.trustedChain.toLowerCase(), { skipCheck: true })?.axelarId || + options.trustedChain.toLowerCase(); const trustedAddress = - options.trustedAddress || getChainConfig(config, options.trustedChain.toLowerCase())?.contracts?.InterchainTokenService?.address; + options.trustedAddress || + getChainConfig(config, options.trustedChain.toLowerCase())?.contracts?.InterchainTokenService?.address; if (trustedChain === undefined || trustedAddress === undefined) { throw new Error(`Invalid chain/address: ${options.trustedChain}`); From 483a6a2d79bf59aa00b9a5201b632774ae800774 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 1 Oct 2024 15:38:19 -0400 Subject: [PATCH 15/20] cleaner upgrade processing --- evm/deploy-its.js | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/evm/deploy-its.js b/evm/deploy-its.js index f03dd015..8c6213b5 100644 --- a/evm/deploy-its.js +++ b/evm/deploy-its.js @@ -53,8 +53,23 @@ async function deployAll(config, wallet, chain, options) { const itsFactoryContractConfig = contracts[itsFactoryContractName] || {}; const salt = options.salt ? `ITS ${options.salt}` : 'ITS'; - const proxySalt = options.proxySalt || options.salt ? `ITS ${options.proxySalt || options.salt}` : 'ITS'; - const factorySalt = options.proxySalt || options.salt ? `ITS Factory ${options.proxySalt || options.salt}` : 'ITS Factory'; + let proxySalt, factorySalt; + + // If reusing the proxy, then proxy salt is the existing value + if (options.reuseProxy) { + proxySalt = contractConfig.proxySalt; + factorySalt = itsFactoryContractConfig.salt; + } else if (options.proxySalt) { + proxySalt = `ITS ${options.proxySalt}`; + factorySalt = `ITS Factory ${options.proxySalt}`; + } else if (options.salt) { + proxySalt = `ITS ${options.salt}`; + factorySalt = `ITS Factory ${options.salt}`; + } else { + proxySalt = 'ITS'; + factorySalt = 'ITS Factory'; + } + const implementationSalt = `${salt} Implementation`; contractConfig.salt = salt; @@ -86,7 +101,11 @@ async function deployAll(config, wallet, chain, options) { throw new Error(`Invalid ITS address: ${interchainTokenService}`); } - printInfo('Interchain Token Service will be deployed to', interchainTokenService); + if (options.reuseProxy) { + printInfo('Reusing existing Interchain Token Service proxy', interchainTokenService); + } else { + printInfo('Interchain Token Service will be deployed to', interchainTokenService); + } const interchainTokenFactory = options.reuseProxy ? itsFactoryContractConfig.address @@ -102,14 +121,22 @@ async function deployAll(config, wallet, chain, options) { throw new Error(`Invalid Interchain Token Factory address: ${interchainTokenFactory}`); } - printInfo('Interchain Token Factory will be deployed to', interchainTokenFactory); + if (options.reuseProxy) { + printInfo('Reusing existing Interchain Token Factory proxy', interchainTokenFactory); + } else { + printInfo('Interchain Token Factory will be deployed to', interchainTokenFactory); + } // Register all chains that ITS is or will be deployed on. // Add a "skip": true under ITS key in the config if the chain will not have ITS. const itsChains = Object.values(config.chains).filter((chain) => chain.contracts?.InterchainTokenService?.skip !== true); const trustedChains = itsChains.map((chain) => chain.axelarId); const trustedAddresses = itsChains.map((_) => chain.contracts?.InterchainTokenService?.address || interchainTokenService); - printInfo('Trusted chains', trustedChains); + + // Trusted addresses are only used when deploying a new proxy + if (!options.reuseProxy) { + printInfo('Trusted chains', trustedChains); + } const existingAddress = config.chains.ethereum?.contracts?.[contractName]?.address; @@ -331,7 +358,7 @@ async function deployAll(config, wallet, chain, options) { // When upgrading/reusing proxy, avoid re-deploying the proxy and the interchain token contract if (options.reuseProxy && ['InterchainToken', 'InterchainProxy'].includes(deployment.contractName)) { - printInfo(`Reusing ${deployment.name} deployment for contract ${deployment.contractName} at ${contractConfig[key]}`); + printInfo(`Reusing ${deployment.name} deployment`); continue; } From be74b689e0d753f3cd1eb76aff353c9128870190 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Tue, 1 Oct 2024 15:52:57 -0400 Subject: [PATCH 16/20] upgrade avalanche fuji --- axelar-chains-config/info/devnet-amplifier.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index 2f37ae7a..99ad38d6 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -224,23 +224,23 @@ "salt": "Operators devnet-amplifier" }, "InterchainTokenService": { - "salt": "ITS v2.0.0rc2 devnet-amplifier", + "salt": "ITS v2.0.0rc3 devnet-amplifier", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", "proxySalt": "ITS v2.0.0 devnet-amplifier", - "tokenManagerDeployer": "0x534aa11e06A667007f8008c636f9238f743D72B8", + "tokenManagerDeployer": "0x4cE9EC3ECB34aD0284f77BF6AafdBef9d136bd24", "interchainToken": "0x34c8C8d2E212E3D5eBECAdf4769388B2e36C4561", - "interchainTokenDeployer": "0x437D54eB4fF71055E384E2d61C2b30948203E5E1", - "tokenManager": "0x61fDdE18b8B98DECc0EE4111B40BAa4b03547723", - "tokenHandler": "0xaB517e07d09882F3C527FB99dc2Cc6Aaf81b7b50", - "gatewayCaller": "0x11935f46E14bA1f506AD65Ce9481ba03AC8D2B81", - "implementation": "0x8eC6b222628EFdEF40a511244AfC984af2C7bc0C", + "interchainTokenDeployer": "0x8Be3C8bbFAFeE70AEAC14406a5F5C6dCD4D4fCb0", + "tokenManager": "0x64291364740eb10aeC672f06eCD7c7a91ea5A752", + "tokenHandler": "0x445C50CC6085ff2d35364bcc3CDce8b3FE08b27d", + "gatewayCaller": "0xFE0144B9C5B487Ec0a6Db38F7f100E99125117b3", + "implementation": "0x110D33345f031b9b630366c8399838bE445fF22d", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", "address": "0x144c3d7A5f5198EF3B46A8258b35E903cf197A66" }, "InterchainTokenFactory": { "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", "salt": "ITS Factory v2.0.0 devnet-amplifier", - "implementation": "0x98B5CB69EC695f827CbB0b3d33DBF0F17760b599", + "implementation": "0x429E1bA4EF86B684741D04a97f18B25E78b8A8f1", "address": "0x6Ae8C8498d5FDA930e6ABeB0E15E5A00471702a7" } } From abf28267b9a515d93636d0fe2c5b858a4ef910a1 Mon Sep 17 00:00:00 2001 From: ahramy Date: Tue, 1 Oct 2024 16:30:34 -0700 Subject: [PATCH 17/20] fix: post upgrade - config update (#394) --- .../info/devnet-amplifier.json | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/axelar-chains-config/info/devnet-amplifier.json b/axelar-chains-config/info/devnet-amplifier.json index 99ad38d6..893b2f40 100644 --- a/axelar-chains-config/info/devnet-amplifier.json +++ b/axelar-chains-config/info/devnet-amplifier.json @@ -319,23 +319,23 @@ "salt": "Operators devnet-amplifier" }, "InterchainTokenService": { - "salt": "ITS v2.0.0rc2 devnet-amplifier", + "salt": "ITS v2.0.0rc3 devnet-amplifier", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", "proxySalt": "ITS v2.0.0 devnet-amplifier", - "tokenManagerDeployer": "0x534aa11e06A667007f8008c636f9238f743D72B8", + "tokenManagerDeployer": "0x4cE9EC3ECB34aD0284f77BF6AafdBef9d136bd24", "interchainToken": "0x34c8C8d2E212E3D5eBECAdf4769388B2e36C4561", - "interchainTokenDeployer": "0x437D54eB4fF71055E384E2d61C2b30948203E5E1", - "tokenManager": "0x61fDdE18b8B98DECc0EE4111B40BAa4b03547723", - "tokenHandler": "0xaB517e07d09882F3C527FB99dc2Cc6Aaf81b7b50", - "gatewayCaller": "0x11935f46E14bA1f506AD65Ce9481ba03AC8D2B81", - "implementation": "0x8eC6b222628EFdEF40a511244AfC984af2C7bc0C", + "interchainTokenDeployer": "0x8Be3C8bbFAFeE70AEAC14406a5F5C6dCD4D4fCb0", + "tokenManager": "0x64291364740eb10aeC672f06eCD7c7a91ea5A752", + "tokenHandler": "0x445C50CC6085ff2d35364bcc3CDce8b3FE08b27d", + "gatewayCaller": "0xFE0144B9C5B487Ec0a6Db38F7f100E99125117b3", + "implementation": "0x110D33345f031b9b630366c8399838bE445fF22d", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", "address": "0x144c3d7A5f5198EF3B46A8258b35E903cf197A66" }, "InterchainTokenFactory": { "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", "salt": "ITS Factory v2.0.0 devnet-amplifier", - "implementation": "0x98B5CB69EC695f827CbB0b3d33DBF0F17760b599", + "implementation": "0x429E1bA4EF86B684741D04a97f18B25E78b8A8f1", "address": "0x6Ae8C8498d5FDA930e6ABeB0E15E5A00471702a7" } } @@ -414,23 +414,23 @@ "salt": "Operators devnet-amplifier" }, "InterchainTokenService": { - "salt": "ITS v2.0.0rc2 devnet-amplifier", + "salt": "ITS v2.0.0rc3 devnet-amplifier", "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", "proxySalt": "ITS v2.0.0 devnet-amplifier", - "tokenManagerDeployer": "0x534aa11e06A667007f8008c636f9238f743D72B8", + "tokenManagerDeployer": "0x4cE9EC3ECB34aD0284f77BF6AafdBef9d136bd24", "interchainToken": "0x34c8C8d2E212E3D5eBECAdf4769388B2e36C4561", - "interchainTokenDeployer": "0x437D54eB4fF71055E384E2d61C2b30948203E5E1", - "tokenManager": "0x61fDdE18b8B98DECc0EE4111B40BAa4b03547723", - "tokenHandler": "0xaB517e07d09882F3C527FB99dc2Cc6Aaf81b7b50", - "gatewayCaller": "0x11935f46E14bA1f506AD65Ce9481ba03AC8D2B81", - "implementation": "0x8eC6b222628EFdEF40a511244AfC984af2C7bc0C", + "interchainTokenDeployer": "0x8Be3C8bbFAFeE70AEAC14406a5F5C6dCD4D4fCb0", + "tokenManager": "0x64291364740eb10aeC672f06eCD7c7a91ea5A752", + "tokenHandler": "0x445C50CC6085ff2d35364bcc3CDce8b3FE08b27d", + "gatewayCaller": "0xFE0144B9C5B487Ec0a6Db38F7f100E99125117b3", + "implementation": "0x110D33345f031b9b630366c8399838bE445fF22d", "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", "address": "0x144c3d7A5f5198EF3B46A8258b35E903cf197A66" }, "InterchainTokenFactory": { "deployer": "0xba76c6980428A0b10CFC5d8ccb61949677A61233", "salt": "ITS Factory v2.0.0 devnet-amplifier", - "implementation": "0x98B5CB69EC695f827CbB0b3d33DBF0F17760b599", + "implementation": "0x429E1bA4EF86B684741D04a97f18B25E78b8A8f1", "address": "0x6Ae8C8498d5FDA930e6ABeB0E15E5A00471702a7" } } From 9a963e2c094e0c721afb8bcc1a0aea28ff55f7b6 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Fri, 4 Oct 2024 07:53:45 -0400 Subject: [PATCH 18/20] fix package install --- package-lock.json | 63 ++++++++++++++++++++++------------------------- package.json | 2 +- 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index cc3138f8..3e18bb38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@axelar-network/axelar-cgp-solidity": "6.3.1", "@axelar-network/axelar-cgp-sui": "^0.6.4", "@axelar-network/axelar-gmp-sdk-solidity": "5.10.0", - "@axelar-network/interchain-token-service": "file:../interchain-token-service", + "@axelar-network/interchain-token-service": "1.2.4", "@cosmjs/cosmwasm-stargate": "^0.32.1", "@ledgerhq/hw-app-eth": "6.32.2", "@mysten/sui": "^1.3.0", @@ -42,36 +42,6 @@ "node": ">=18" } }, - "../interchain-token-service": { - "name": "@axelar-network/interchain-token-service", - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "@axelar-network/axelar-cgp-solidity": "6.2.1", - "@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" - }, - "devDependencies": { - "@axelar-network/axelar-chains-config": "^1.2.0", - "@axelarjs/evm": "^0.2.1", - "@nomicfoundation/hardhat-toolbox": "^2.0.2", - "@tsconfig/strictest": "^2.0.2", - "chai": "^4.3.7", - "cross-env": "^7.0.3", - "dotenv": "^16.0.1", - "eslint": "^8.43.0", - "eslint-config-richardpringle": "^2.0.0", - "hardhat": "~2.22.2", - "hardhat-contract-sizer": "^2.10.0", - "mocha": "^10.2.0", - "prettier": "^2.8.8", - "prettier-plugin-solidity": "^1.1.3", - "solhint": "^3.4.1", - "solidity-docgen": "^0.6.0-beta.36" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@0no-co/graphql.web": { "version": "1.0.7", "license": "MIT", @@ -187,8 +157,35 @@ } }, "node_modules/@axelar-network/interchain-token-service": { - "resolved": "../interchain-token-service", - "link": true + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@axelar-network/interchain-token-service/-/interchain-token-service-1.2.4.tgz", + "integrity": "sha512-Sgw2M4VzW5hjL9TBe2ljL5wo+paYqlL2XNQlq1dyaDAD6E7PG1MQ+0U44QnfJfhhAwcqZtKQmb92ZNwV+BEdVw==", + "dependencies": { + "@axelar-network/axelar-cgp-solidity": "6.2.1", + "@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@axelar-network/interchain-token-service/node_modules/@axelar-network/axelar-cgp-solidity": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@axelar-network/axelar-cgp-solidity/-/axelar-cgp-solidity-6.2.1.tgz", + "integrity": "sha512-0RaxLYmsp3elXBytn7+eZUil1KFS6jjHR/ECrN/3IC7TeTDPUYunyy6JDxCdNYNtiD6EKgUAfQ7G4DrBb6hRxg==", + "dependencies": { + "@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@axelar-network/interchain-token-service/node_modules/@axelar-network/axelar-gmp-sdk-solidity": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/@axelar-network/axelar-gmp-sdk-solidity/-/axelar-gmp-sdk-solidity-5.6.4.tgz", + "integrity": "sha512-PQjV+HeJynmSRMhyM3SexwnbFNruSaiRUeNCWjV8/7CkdPsDqypoqIXVRVU8Zk92DUUHeqZZzL/3qP2LYuvlnA==", + "engines": { + "node": ">=16" + } }, "node_modules/@chainsafe/as-sha256": { "version": "0.3.1", diff --git a/package.json b/package.json index 89481b88..463a77ad 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@axelar-network/axelar-cgp-solidity": "6.3.1", "@axelar-network/axelar-cgp-sui": "^0.6.4", "@axelar-network/axelar-gmp-sdk-solidity": "5.10.0", - "@axelar-network/interchain-token-service": "file:../interchain-token-service", + "@axelar-network/interchain-token-service": "1.2.4", "@cosmjs/cosmwasm-stargate": "^0.32.1", "@ledgerhq/hw-app-eth": "6.32.2", "@mysten/sui": "^1.3.0", From 4e1656af7677ba0bdd9fff74a08104229374dd24 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Wed, 16 Oct 2024 06:14:50 -0400 Subject: [PATCH 19/20] use ITS release snapshot --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 60ae56f4..a42df2a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@axelar-network/axelar-cgp-solidity": "6.3.1", "@axelar-network/axelar-cgp-sui": "0.0.0-snapshot.b13218e", "@axelar-network/axelar-gmp-sdk-solidity": "5.10.0", - "@axelar-network/interchain-token-service": "1.2.4", + "@axelar-network/interchain-token-service": "0.0.0-snapshot.b4a6870", "@cosmjs/cosmwasm-stargate": "^0.32.1", "@ledgerhq/hw-app-eth": "6.32.2", "@mysten/sui": "^1.3.0", @@ -157,15 +157,15 @@ } }, "node_modules/@axelar-network/interchain-token-service": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@axelar-network/interchain-token-service/-/interchain-token-service-1.2.4.tgz", - "integrity": "sha512-Sgw2M4VzW5hjL9TBe2ljL5wo+paYqlL2XNQlq1dyaDAD6E7PG1MQ+0U44QnfJfhhAwcqZtKQmb92ZNwV+BEdVw==", + "version": "0.0.0-snapshot.b4a6870", + "resolved": "https://registry.npmjs.org/@axelar-network/interchain-token-service/-/interchain-token-service-0.0.0-snapshot.b4a6870.tgz", + "integrity": "sha512-B8aQTObyOd9DCCRJQzaXaYYv6taBPfKY2Iu+1kUtdFWX6sITbY0/hLnY70thmcXO9Pq3XX5tnynFuN3B5j+xnA==", "dependencies": { "@axelar-network/axelar-cgp-solidity": "6.2.1", "@axelar-network/axelar-gmp-sdk-solidity": "5.6.4" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@axelar-network/interchain-token-service/node_modules/@axelar-network/axelar-cgp-solidity": { diff --git a/package.json b/package.json index e7b1ef4f..78aaccd3 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@axelar-network/axelar-cgp-solidity": "6.3.1", "@axelar-network/axelar-cgp-sui": "0.0.0-snapshot.b13218e", "@axelar-network/axelar-gmp-sdk-solidity": "5.10.0", - "@axelar-network/interchain-token-service": "1.2.4", + "@axelar-network/interchain-token-service": "0.0.0-snapshot.b4a6870", "@cosmjs/cosmwasm-stargate": "^0.32.1", "@ledgerhq/hw-app-eth": "6.32.2", "@mysten/sui": "^1.3.0", From 5e89938161cfd7a0a48e7882fec5d5e7f06343d8 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Wed, 16 Oct 2024 06:19:34 -0400 Subject: [PATCH 20/20] lint --- common/utils.js | 2 +- evm/gateway.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/common/utils.js b/common/utils.js index b8354c72..a63f1eb6 100644 --- a/common/utils.js +++ b/common/utils.js @@ -417,7 +417,7 @@ async function getDomainSeparator(config, chain, options) { return expectedDomainSeparator; } -const getChainConfig = (config, chainName) => { +const getChainConfig = (config, chainName, options = {}) => { if (!chainName) { return undefined; } diff --git a/evm/gateway.js b/evm/gateway.js index 2f3ca5ce..0ad0cf7d 100644 --- a/evm/gateway.js +++ b/evm/gateway.js @@ -92,6 +92,7 @@ async function processCommand(config, chain, options) { } let payload = options.payload || '0x'; + if (!payload.startsWith('0x')) { payload = '0x' + payload; }