From e224f8ac25c228404b96650052d82c50f3139d67 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Mon, 18 Dec 2023 14:30:06 -0500 Subject: [PATCH 1/2] feat: deploy ITS on mainnet --- axelar-chains-config/info/mainnet.json | 235 ++++++++++++++++++++++++- evm/balances.js | 2 - evm/deploy-its.js | 44 +++-- 3 files changed, 254 insertions(+), 27 deletions(-) diff --git a/axelar-chains-config/info/mainnet.json b/axelar-chains-config/info/mainnet.json index 52417ab3..baa1d19c 100644 --- a/axelar-chains-config/info/mainnet.json +++ b/axelar-chains-config/info/mainnet.json @@ -92,6 +92,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -191,15 +206,27 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { "url": "https://snowtrace.io", "api": "https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan" }, - "gasOptions": { - "gasLimit": 6000000 - }, "staticGasOptions": { "gasLimit": 3000000, "gasPrice": 150000000000 @@ -293,6 +320,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -300,7 +342,7 @@ "api": "https://api.ftmscan.com/api" }, "gasOptions": { - "gasLimit": 5000000, + "gasLimit": 8000000, "gasPriceAdjustment": 1.4 }, "staticGasOptions": { @@ -396,6 +438,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "proxySalt": "ITS v1.0.0", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -498,6 +555,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -598,6 +670,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -701,6 +788,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -803,6 +905,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "proxySalt": "ITS v1.0.0", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -902,6 +1019,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -1001,6 +1133,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "confirmations": 3, @@ -1008,7 +1155,7 @@ "url": "https://www.filfox.info" }, "gasOptions": { - "gasLimit": 100000000 + "gasLimit": 500000000 }, "eip1559": true, "staticGasOptions": { @@ -1104,6 +1251,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -1111,7 +1273,7 @@ "api": "https://api-optimistic.etherscan.io/api" }, "gasOptions": { - "gasLimit": 5000000 + "gasLimit": 8000000 }, "confirmations": 3, "staticGasOptions": { @@ -1207,6 +1369,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { @@ -1218,6 +1395,7 @@ "gasPrice": 10000000000 }, "gasOptions": { + "gasLimit": 8000000, "gasPriceAdjustment": 2 } }, @@ -1309,6 +1487,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "confirmations": 2, @@ -1409,6 +1602,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "confirmations": 2, @@ -1507,6 +1715,21 @@ "codehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "predeployCodehash": "0xc561dc32ef670c929db9d7fbf6b5f6c074a62a30602481ba3b88912ca6d79feb", "salt": "Operators" + }, + "InterchainTokenService": { + "salt": "ITS v1.2.1", + "deployer": "0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05", + "proxySalt": "ITS v1.0.0", + "tokenManagerDeployer": "0x121b0e54Cd7ad2BBCb4c4C9275697978EBaF3653", + "interchainToken": "0x7F9F70Da4af54671a6abAc58e705b5634cac8819", + "interchainTokenDeployer": "0x58667c5f134420Bf6904C7dD01fDDcB4Fea3a760", + "tokenManager": "0xC1B09c9c16117417A1B414A52Dd92CF1f634e786", + "tokenHandler": "0x9Ef1f24EF4Ed0520DC1Da282a0fe76271A183b36", + "implementation": "0x30DEFb998D7FdDC75ffb8D002fC15BbB75115758", + "predeployCodehash": "0x08a4a556c4db879b4f24104d13a8baf86915d58b12c81b382dfea2a82d2856cf", + "address": "0xB5FB4BE02232B1bBA4dC8f81dc24C26980dE9e3C", + "interchainTokenFactoryImplementation": "0x440B118f34d6224B20b4641835AC9161BD4f0994", + "interchainTokenFactory": "0x83a93500d23Fbc3e82B410aD07A6a9F7A0670D66" } }, "explorer": { diff --git a/evm/balances.js b/evm/balances.js index 9587f2c1..fa1cbde4 100644 --- a/evm/balances.js +++ b/evm/balances.js @@ -10,8 +10,6 @@ const { getWallet } = require('./sign-utils'); async function processCommand(_, chain, options) { const provider = getDefaultProvider(chain.rpc); - printInfo('Chain', chain.name); - const wallet = await getWallet(options.privateKey, provider); await printWalletInfo(wallet, options); } diff --git a/evm/deploy-its.js b/evm/deploy-its.js index a981a93a..f511f7b4 100644 --- a/evm/deploy-its.js +++ b/evm/deploy-its.js @@ -48,16 +48,11 @@ async function deployAll(config, wallet, chain, options) { const contractName = 'InterchainTokenService'; const contracts = chain.contracts; - // Reset config data if it's a fresh deployment - if (!skipExisting && !options.reuseProxy) { - contracts[contractName] = {}; - } - const contractConfig = contracts[contractName] || {}; const salt = options.salt ? `ITS ${options.salt}` : 'ITS'; - const proxySalt = options.proxySalt || options.salt ? `ITS ${options.proxySalt || options.salt}` : 'ITS'; - const factorySalt = `${proxySalt} Factory`; + 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'; const implementationSalt = `${salt} Implementation`; contractConfig.salt = salt; contractConfig.proxySalt = proxySalt; @@ -107,6 +102,7 @@ async function deployAll(config, wallet, chain, options) { const itsChains = Object.values(config.chains).filter((chain) => chain.contracts?.InterchainTokenService?.skip !== true); const trustedChains = itsChains.map((chain) => chain.id); const trustedAddresses = itsChains.map((_) => chain.contracts?.InterchainTokenService?.address || interchainTokenService); + printInfo('Trusted chains', trustedChains); const existingAddress = config.chains.ethereum?.contracts?.[contractName]?.address; @@ -209,20 +205,24 @@ async function deployAll(config, wallet, chain, options) { implementation: { name: 'Interchain Token Service Implementation', async deploy() { + const args = [ + contractConfig.tokenManagerDeployer, + contractConfig.interchainTokenDeployer, + contracts.AxelarGateway.address, + contracts.AxelarGasService.address, + interchainTokenFactory, + chain.id, + contractConfig.tokenManager, + contractConfig.tokenHandler, + ]; + + printInfo('ITS Implementation args', args); + return await deployContract( proxyDeployMethod, wallet, InterchainTokenService, - [ - contractConfig.tokenManagerDeployer, - contractConfig.interchainTokenDeployer, - contracts.AxelarGateway.address, - contracts.AxelarGasService.address, - interchainTokenFactory, - chain.id, - contractConfig.tokenManager, - contractConfig.tokenHandler, - ], + args, getDeployOptions(proxyDeployMethod, implementationSalt, chain), gasOptions, verifyOptions, @@ -241,11 +241,14 @@ async function deployAll(config, wallet, chain, options) { ); contractConfig.predeployCodehash = predeployCodehash; + const args = [contractConfig.implementation, wallet.address, deploymentParams]; + printInfo('ITS Proxy args', args); + return await deployContract( proxyDeployMethod, wallet, getContractJSON('InterchainProxy', artifactPath), - [contractConfig.implementation, wallet.address, deploymentParams], + args, getDeployOptions(proxyDeployMethod, proxySalt, chain), gasOptions, verifyOptions, @@ -271,11 +274,14 @@ async function deployAll(config, wallet, chain, options) { interchainTokenFactory: { name: 'Interchain Token Factory Proxy', async deploy() { + const args = [contractConfig.interchainTokenFactoryImplementation, wallet.address, '0x']; + printInfo('ITS Factory Proxy args', args); + return await deployContract( proxyDeployMethod, wallet, getContractJSON('InterchainProxy', artifactPath), - [contractConfig.interchainTokenFactoryImplementation, wallet.address, '0x'], + args, getDeployOptions(proxyDeployMethod, factorySalt, chain), gasOptions, verifyOptions, From 961eb587b50040b5c0651f6e521a97fa731bee2d Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Mon, 18 Dec 2023 14:32:11 -0500 Subject: [PATCH 2/2] prettier --- evm/balances.js | 2 +- evm/deploy-its.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/evm/balances.js b/evm/balances.js index fa1cbde4..8c06934c 100644 --- a/evm/balances.js +++ b/evm/balances.js @@ -3,7 +3,7 @@ const { ethers } = require('hardhat'); const { getDefaultProvider } = ethers; const { Command } = require('commander'); -const { mainProcessor, printWalletInfo, printInfo } = require('./utils'); +const { mainProcessor, printWalletInfo } = require('./utils'); const { addBaseOptions } = require('./cli-utils'); const { getWallet } = require('./sign-utils'); diff --git a/evm/deploy-its.js b/evm/deploy-its.js index f511f7b4..3476b58f 100644 --- a/evm/deploy-its.js +++ b/evm/deploy-its.js @@ -51,8 +51,8 @@ async function deployAll(config, wallet, chain, options) { const contractConfig = contracts[contractName] || {}; 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'; + 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'; const implementationSalt = `${salt} Implementation`; contractConfig.salt = salt; contractConfig.proxySalt = proxySalt;