@hyperlane-xyz/sdk 1.1.4 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/HyperlaneApp.d.ts +7 -8
- package/dist/HyperlaneApp.d.ts.map +1 -1
- package/dist/HyperlaneApp.js +1 -4
- package/dist/HyperlaneApp.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +229 -25
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +132 -78
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chainMetadata.test.d.ts +2 -0
- package/dist/consts/chainMetadata.test.d.ts.map +1 -0
- package/dist/consts/chainMetadata.test.js +40 -0
- package/dist/consts/chainMetadata.test.js.map +1 -0
- package/dist/consts/chains.d.ts +5 -5
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +5 -1
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +22 -2
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/mainnet.json +18 -9
- package/dist/consts/environments/test.json +25 -22
- package/dist/consts/environments/testnet.json +16 -8
- package/dist/core/HyperlaneCore.d.ts +10 -387
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +7 -12
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +2 -3
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +5 -5
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +2 -4
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +6 -6
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +15 -6
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/contracts.d.ts +6 -2
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +1 -0
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -12
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +8 -8
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +5 -5
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +15 -15
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +44 -39
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts +12 -9
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.js +72 -12
- package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +18 -14
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.js +69 -27
- package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/deploy/core/types.d.ts +31 -3
- package/dist/deploy/core/types.d.ts.map +1 -1
- package/dist/deploy/core/types.js +11 -1
- package/dist/deploy/core/types.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts +17 -17
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.js +26 -35
- package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +6 -9
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +15 -21
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/deploy/middleware/deploy.d.ts +14 -17
- package/dist/deploy/middleware/deploy.d.ts.map +1 -1
- package/dist/deploy/middleware/deploy.js +25 -38
- package/dist/deploy/middleware/deploy.js.map +1 -1
- package/dist/deploy/router/GasRouterDeployer.d.ts +4 -4
- package/dist/deploy/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/router/GasRouterDeployer.js +3 -6
- package/dist/deploy/router/GasRouterDeployer.js.map +1 -1
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts +6 -6
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterChecker.js +2 -2
- package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +7 -7
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.js +18 -21
- package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/deploy/types.d.ts +3 -4
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/utils.d.ts +2 -6
- package/dist/deploy/utils.d.ts.map +1 -1
- package/dist/deploy/utils.js +1 -27
- package/dist/deploy/utils.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +7 -7
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +3 -5
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/utils.js +1 -1
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/events.d.ts +4 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +12 -9
- package/dist/events.js.map +1 -1
- package/dist/gas/calculator.d.ts +20 -20
- package/dist/gas/calculator.d.ts.map +1 -1
- package/dist/gas/calculator.hardhat-test.js +11 -8
- package/dist/gas/calculator.hardhat-test.js.map +1 -1
- package/dist/gas/calculator.js +9 -11
- package/dist/gas/calculator.js.map +1 -1
- package/dist/gas/calculator.test.js +2 -14
- package/dist/gas/calculator.test.js.map +1 -1
- package/dist/gas/token-prices.d.ts +5 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +12 -2
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/index.d.ts +28 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +63 -71
- package/dist/index.js.map +1 -1
- package/dist/middleware/accounts.hardhat-test.js +19 -13
- package/dist/middleware/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/liquidity-layer.hardhat-test.js +11 -10
- package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/queries.hardhat-test.js +11 -10
- package/dist/middleware/queries.hardhat-test.js.map +1 -1
- package/dist/middleware.d.ts +4 -4
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +204 -37
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +455 -63
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +3 -1
- package/dist/proxy.js.map +1 -1
- package/dist/router.d.ts +11 -6
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +1 -2
- package/dist/router.js.map +1 -1
- package/dist/test/envSubsetDeployer/app.d.ts +12 -21
- package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/app.js +13 -18
- package/dist/test/envSubsetDeployer/app.js.map +1 -1
- package/dist/test/envSubsetDeployer/check-single-chain.js +1 -11
- package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.js +3 -9
- package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +4 -3
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
- package/dist/test/envSubsetDeployer/utils.d.ts +0 -3
- package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/utils.js +2 -10
- package/dist/test/envSubsetDeployer/utils.js.map +1 -1
- package/dist/test/testUtils.d.ts +5 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +8 -1
- package/dist/test/testUtils.js.map +1 -1
- package/dist/types.d.ts +2 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.d.ts +11 -12
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +3 -6
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/wagmi.d.ts +1 -1
- package/dist/utils/wagmi.d.ts.map +1 -1
- package/dist/utils/wagmi.js +7 -6
- package/dist/utils/wagmi.js.map +1 -1
- package/package.json +5 -5
- package/dist/consts/chainConnectionConfigs.d.ts +0 -21
- package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
- package/dist/consts/chainConnectionConfigs.js +0 -35
- package/dist/consts/chainConnectionConfigs.js.map +0 -1
- package/dist/core/message.d.ts +0 -146
- package/dist/core/message.d.ts.map +0 -1
- package/dist/core/message.js +0 -285
- package/dist/core/message.js.map +0 -1
- package/dist/domains.d.ts +0 -4
- package/dist/domains.d.ts.map +0 -1
- package/dist/domains.js +0 -12
- package/dist/domains.js.map +0 -1
- package/dist/providers/ChainConnection.d.ts +0 -23
- package/dist/providers/ChainConnection.d.ts.map +0 -1
- package/dist/providers/ChainConnection.js +0 -67
- package/dist/providers/ChainConnection.js.map +0 -1
|
@@ -13,26 +13,35 @@ exports.TestCoreDeployer = void 0;
|
|
|
13
13
|
const ethers_1 = require("ethers");
|
|
14
14
|
const core_1 = require("@hyperlane-xyz/core");
|
|
15
15
|
const HyperlaneCoreDeployer_1 = require("../deploy/core/HyperlaneCoreDeployer");
|
|
16
|
+
const types_1 = require("../deploy/core/types");
|
|
16
17
|
const TestCoreApp_1 = require("./TestCoreApp");
|
|
17
18
|
const contracts_1 = require("./contracts");
|
|
18
19
|
const nonZeroAddress = ethers_1.ethers.constants.AddressZero.replace('00', '01');
|
|
19
20
|
// dummy config as TestInbox and TestOutbox do not use deployed ISM
|
|
20
|
-
const
|
|
21
|
+
const testConfig = {
|
|
21
22
|
owner: nonZeroAddress,
|
|
22
23
|
multisigIsm: {
|
|
23
24
|
validators: [nonZeroAddress],
|
|
24
25
|
threshold: 1,
|
|
25
26
|
},
|
|
27
|
+
igp: {
|
|
28
|
+
beneficiary: nonZeroAddress,
|
|
29
|
+
gasOracles: {
|
|
30
|
+
test1: types_1.GasOracleContractType.StorageGasOracle,
|
|
31
|
+
test2: types_1.GasOracleContractType.StorageGasOracle,
|
|
32
|
+
test3: types_1.GasOracleContractType.StorageGasOracle,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
26
35
|
};
|
|
27
|
-
const testCoreFactories = Object.assign(Object.assign({}, contracts_1.coreFactories), { mailbox: new core_1.TestMailbox__factory(), testIsm: new core_1.TestIsm__factory() });
|
|
36
|
+
const testCoreFactories = Object.assign(Object.assign({}, contracts_1.coreFactories), { mailbox: new core_1.TestMailbox__factory(), testIsm: new core_1.TestIsm__factory(), interchainGasPaymaster: new core_1.TestInterchainGasPaymaster__factory() });
|
|
28
37
|
class TestCoreDeployer extends HyperlaneCoreDeployer_1.HyperlaneCoreDeployer {
|
|
29
38
|
constructor(multiProvider, configMap) {
|
|
30
39
|
// Note that the multisig module configs are unused.
|
|
31
40
|
const configs = configMap !== null && configMap !== void 0 ? configMap : {
|
|
32
|
-
test1:
|
|
33
|
-
test2:
|
|
34
|
-
test3:
|
|
35
|
-
};
|
|
41
|
+
test1: testConfig,
|
|
42
|
+
test2: testConfig,
|
|
43
|
+
test3: testConfig,
|
|
44
|
+
};
|
|
36
45
|
super(multiProvider, configs, testCoreFactories);
|
|
37
46
|
this.multiProvider = multiProvider;
|
|
38
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,8CAK6B;AAE7B,gFAA6E;AAC7E,gDAAyE;AAIzE,+CAA4C;AAC5C,2CAA4C;AAE5C,MAAM,cAAc,GAAG,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAExE,mEAAmE;AACnE,MAAM,UAAU,GAAe;IAC7B,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE;QACX,UAAU,EAAE,CAAC,cAAc,CAAC;QAC5B,SAAS,EAAE,CAAC;KACb;IACD,GAAG,EAAE;QACH,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE;YACV,KAAK,EAAE,6BAAqB,CAAC,gBAAgB;YAC7C,KAAK,EAAE,6BAAqB,CAAC,gBAAgB;YAC7C,KAAK,EAAE,6BAAqB,CAAC,gBAAgB;SAC9C;KACF;CACF,CAAC;AAEF,MAAM,iBAAiB,mCAClB,yBAAa,KAChB,OAAO,EAAE,IAAI,2BAAoB,EAAE,EACnC,OAAO,EAAE,IAAI,uBAAgB,EAAE,EAC/B,sBAAsB,EAAE,IAAI,0CAAmC,EAAE,GAClE,CAAC;AAEF,MAAa,gBAAiB,SAAQ,6CAAqB;IACzD,YACkB,aAA4B,EAC5C,SAAgC;QAEhC,oDAAoD;QACpD,MAAM,OAAO,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI;YAC3B,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;SAClB,CAAC;QAEF,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAVjC,kBAAa,GAAb,aAAa,CAAe;IAW9C,CAAC;IAED,+CAA+C;IACzC,iBAAiB,CAAC,KAAgB;;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,KAAK,EACL,iBAAiB,CAAC,OAAO,EACzB,SAAS,EACT,EAAE,CACH,CAAC;YACF,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,OAAiC,CAAC;QAC3C,CAAC;KAAA;IAED,wDAAwD;IAClD,4BAA4B;;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAEK,SAAS;;YACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC;KAAA;CACF;AAnCD,4CAmCC"}
|
package/dist/core/contracts.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { Create2Factory__factory, InterchainAccountRouter__factory, InterchainGasPaymaster, InterchainGasPaymaster__factory, InterchainQueryRouter__factory, Mailbox, Mailbox__factory, MultisigIsm, MultisigIsm__factory, OverheadIgp, OverheadIgp__factory, ProxyAdmin, ProxyAdmin__factory, ValidatorAnnounce, ValidatorAnnounce__factory } from '@hyperlane-xyz/core';
|
|
1
|
+
import { Create2Factory__factory, InterchainAccountRouter__factory, InterchainGasPaymaster, InterchainGasPaymaster__factory, InterchainQueryRouter__factory, Mailbox, Mailbox__factory, MultisigIsm, MultisigIsm__factory, OverheadIgp, OverheadIgp__factory, ProxyAdmin, ProxyAdmin__factory, StorageGasOracle, StorageGasOracle__factory, ValidatorAnnounce, ValidatorAnnounce__factory } from '@hyperlane-xyz/core';
|
|
2
2
|
import { ProxiedContract, TransparentProxyAddresses } from '../proxy';
|
|
3
|
+
export declare type GasOracleContracts = {
|
|
4
|
+
storageGasOracle: StorageGasOracle;
|
|
5
|
+
};
|
|
3
6
|
export declare type ConnectionClientContracts = {
|
|
4
7
|
interchainGasPaymaster: ProxiedContract<InterchainGasPaymaster, TransparentProxyAddresses>;
|
|
5
8
|
defaultIsmInterchainGasPaymaster: OverheadIgp;
|
|
6
9
|
};
|
|
7
|
-
export declare type CoreContracts = ConnectionClientContracts & {
|
|
10
|
+
export declare type CoreContracts = GasOracleContracts & ConnectionClientContracts & {
|
|
8
11
|
mailbox: ProxiedContract<Mailbox, TransparentProxyAddresses>;
|
|
9
12
|
multisigIsm: MultisigIsm;
|
|
10
13
|
proxyAdmin: ProxyAdmin;
|
|
@@ -18,6 +21,7 @@ export declare const coreFactories: {
|
|
|
18
21
|
proxyAdmin: ProxyAdmin__factory;
|
|
19
22
|
interchainGasPaymaster: InterchainGasPaymaster__factory;
|
|
20
23
|
defaultIsmInterchainGasPaymaster: OverheadIgp__factory;
|
|
24
|
+
storageGasOracle: StorageGasOracle__factory;
|
|
21
25
|
multisigIsm: MultisigIsm__factory;
|
|
22
26
|
mailbox: Mailbox__factory;
|
|
23
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,+BAA+B,EAC/B,8BAA8B,EAC9B,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,oBAAY,yBAAyB,GAAG;IACtC,sBAAsB,EAAE,eAAe,CACrC,sBAAsB,EACtB,yBAAyB,CAC1B,CAAC;IACF,gCAAgC,EAAE,WAAW,CAAC;CAC/C,CAAC;AAEF,oBAAY,aAAa,GAAG,yBAAyB,GAAG;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,+BAA+B,EAC/B,8BAA8B,EAC9B,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,oBAAY,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,sBAAsB,EAAE,eAAe,CACrC,sBAAsB,EACtB,yBAAyB,CAC1B,CAAC;IACF,gCAAgC,EAAE,WAAW,CAAC;CAC/C,CAAC;AAEF,oBAAY,aAAa,GAAG,kBAAkB,GAC5C,yBAAyB,GAAG;IAC1B,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAC7D,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC;AAEJ,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAC"}
|
package/dist/core/contracts.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.coreFactories = {
|
|
|
10
10
|
proxyAdmin: new core_1.ProxyAdmin__factory(),
|
|
11
11
|
interchainGasPaymaster: new core_1.InterchainGasPaymaster__factory(),
|
|
12
12
|
defaultIsmInterchainGasPaymaster: new core_1.OverheadIgp__factory(),
|
|
13
|
+
storageGasOracle: new core_1.StorageGasOracle__factory(),
|
|
13
14
|
multisigIsm: new core_1.MultisigIsm__factory(),
|
|
14
15
|
mailbox: new core_1.Mailbox__factory(),
|
|
15
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":";;;AAAA,8CAkB6B;AAwBhB,QAAA,aAAa,GAAG;IAC3B,uBAAuB,EAAE,IAAI,uCAAgC,EAAE;IAC/D,qBAAqB,EAAE,IAAI,qCAA8B,EAAE;IAC3D,iBAAiB,EAAE,IAAI,iCAA0B,EAAE;IACnD,cAAc,EAAE,IAAI,8BAAuB,EAAE;IAC7C,UAAU,EAAE,IAAI,0BAAmB,EAAE;IACrC,sBAAsB,EAAE,IAAI,sCAA+B,EAAE;IAC7D,gCAAgC,EAAE,IAAI,2BAAoB,EAAE;IAC5D,gBAAgB,EAAE,IAAI,gCAAyB,EAAE;IACjD,WAAW,EAAE,IAAI,2BAAoB,EAAE;IACvC,OAAO,EAAE,IAAI,uBAAgB,EAAE;CAChC,CAAC"}
|
|
@@ -15,30 +15,26 @@ const chai_1 = require("chai");
|
|
|
15
15
|
const hardhat_1 = require("hardhat");
|
|
16
16
|
const core_1 = require("@hyperlane-xyz/core");
|
|
17
17
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
18
|
-
const
|
|
19
|
-
const
|
|
18
|
+
const chains_1 = require("../consts/chains");
|
|
19
|
+
const MultiProvider_1 = require("../providers/MultiProvider");
|
|
20
20
|
const TestCoreDeployer_1 = require("./TestCoreDeployer");
|
|
21
|
-
const localChain =
|
|
22
|
-
const
|
|
23
|
-
const remoteChain = 'test2';
|
|
24
|
-
const remoteDomain = chainMetadata_1.chainMetadata[remoteChain].id;
|
|
21
|
+
const localChain = chains_1.Chains.test1;
|
|
22
|
+
const remoteChain = chains_1.Chains.test2;
|
|
25
23
|
const message = '0xdeadbeef';
|
|
26
24
|
describe('TestCoreDeployer', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
25
|
let testCoreApp, localMailbox, remoteMailbox, dispatchReceipt;
|
|
28
26
|
beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
27
|
const [signer] = yield hardhat_1.ethers.getSigners();
|
|
30
|
-
const multiProvider = (
|
|
28
|
+
const multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
|
|
31
29
|
const deployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
|
|
32
30
|
testCoreApp = yield deployer.deployApp();
|
|
33
31
|
const recipient = yield new core_1.TestRecipient__factory(signer).deploy();
|
|
34
32
|
localMailbox = testCoreApp.getContracts(localChain).mailbox.contract;
|
|
35
|
-
const dispatchResponse = localMailbox.dispatch(
|
|
33
|
+
const dispatchResponse = localMailbox.dispatch(multiProvider.getDomainId(remoteChain), utils_1.utils.addressToBytes32(recipient.address), message);
|
|
36
34
|
yield (0, chai_1.expect)(dispatchResponse).to.emit(localMailbox, 'Dispatch');
|
|
37
|
-
dispatchReceipt = yield testCoreApp.multiProvider
|
|
38
|
-
.getChainConnection(localChain)
|
|
39
|
-
.handleTx(dispatchResponse);
|
|
35
|
+
dispatchReceipt = yield testCoreApp.multiProvider.handleTx(localChain, dispatchResponse);
|
|
40
36
|
remoteMailbox = testCoreApp.getContracts(remoteChain).mailbox.contract;
|
|
41
|
-
yield (0, chai_1.expect)(remoteMailbox.dispatch(
|
|
37
|
+
yield (0, chai_1.expect)(remoteMailbox.dispatch(multiProvider.getDomainId(localChain), utils_1.utils.addressToBytes32(recipient.address), message)).to.emit(remoteMailbox, 'Dispatch');
|
|
42
38
|
}));
|
|
43
39
|
it('processes outbound messages for a single domain', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
40
|
const responses = yield testCoreApp.processOutboundMessages(localChain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testHyperlaneDeploy.hardhat-test.js","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,qCAAmC;AACnC,qCAAmC;AACnC,+BAA8B;AAE9B,qCAAiC;AAEjC,8CAA0E;AAC1E,gDAA6C;AAE7C,
|
|
1
|
+
{"version":3,"file":"testHyperlaneDeploy.hardhat-test.js","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,19 +5,19 @@ import { MultiProvider } from '../providers/MultiProvider';
|
|
|
5
5
|
import { TransparentProxyAddresses } from '../proxy';
|
|
6
6
|
import { ChainMap, ChainName } from '../types';
|
|
7
7
|
import { CheckerViolation } from './types';
|
|
8
|
-
export declare abstract class HyperlaneAppChecker<
|
|
9
|
-
readonly multiProvider: MultiProvider
|
|
8
|
+
export declare abstract class HyperlaneAppChecker<App extends HyperlaneApp<any>, Config> {
|
|
9
|
+
readonly multiProvider: MultiProvider;
|
|
10
10
|
readonly app: App;
|
|
11
|
-
readonly configMap: ChainMap<
|
|
11
|
+
readonly configMap: ChainMap<Config>;
|
|
12
12
|
readonly violations: CheckerViolation[];
|
|
13
|
-
constructor(multiProvider: MultiProvider
|
|
14
|
-
abstract checkChain(chain:
|
|
13
|
+
constructor(multiProvider: MultiProvider, app: App, configMap: ChainMap<Config>);
|
|
14
|
+
abstract checkChain(chain: ChainName): Promise<void>;
|
|
15
15
|
check(): Promise<void[]>;
|
|
16
16
|
addViolation(violation: CheckerViolation): void;
|
|
17
|
-
checkProxiedContract(chain:
|
|
17
|
+
checkProxiedContract(chain: ChainName, name: string, proxiedAddress: TransparentProxyAddresses, proxyAdminAddress?: types.Address): Promise<void>;
|
|
18
18
|
private removeBytecodeMetadata;
|
|
19
|
-
checkBytecode(chain:
|
|
20
|
-
checkOwnership(chain:
|
|
19
|
+
checkBytecode(chain: ChainName, name: string, address: string, expectedBytecodeHash: string, modifyBytecodePriorToHash?: (bytecode: string) => string): Promise<void>;
|
|
20
|
+
checkOwnership(chain: ChainName, owner: types.Address, ownables: Ownable[]): Promise<void>;
|
|
21
21
|
expectViolations(violationCounts: Record<string, number>): void;
|
|
22
22
|
expectEmpty(): void;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EAEL,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAEjB,8BAAsB,mBAAmB,CACvC,GAAG,SAAS,YAAY,CAAC,GAAG,CAAC,EAC7B,MAAM;IAEN,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAGtC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC;IAQ7B,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9C,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAiB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,oBAAoB,CACxB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,yBAAyB,EACzC,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,GAChC,OAAO,CAAC,IAAI,CAAC;IAiBhB,OAAO,CAAC,sBAAsB;IAOxB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,yBAAyB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAiB,GACjE,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBhB,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
|
|
@@ -28,7 +28,7 @@ class HyperlaneAppChecker {
|
|
|
28
28
|
.filter((_) => !this.app.chains().includes(_))
|
|
29
29
|
.forEach((chain) => this.addViolation({
|
|
30
30
|
type: types_1.ViolationType.NotDeployed,
|
|
31
|
-
chain
|
|
31
|
+
chain,
|
|
32
32
|
expected: '',
|
|
33
33
|
actual: '',
|
|
34
34
|
}));
|
|
@@ -40,13 +40,13 @@ class HyperlaneAppChecker {
|
|
|
40
40
|
}
|
|
41
41
|
checkProxiedContract(chain, name, proxiedAddress, proxyAdminAddress) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const
|
|
44
|
-
const implementation = yield (0, proxy_1.proxyImplementation)(
|
|
43
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
44
|
+
const implementation = yield (0, proxy_1.proxyImplementation)(provider, proxiedAddress.proxy);
|
|
45
45
|
if (implementation !== proxiedAddress.implementation) {
|
|
46
46
|
this.addViolation((0, proxy_1.proxyViolation)(chain, name, proxiedAddress, implementation));
|
|
47
47
|
}
|
|
48
48
|
if (proxyAdminAddress) {
|
|
49
|
-
const admin = yield (0, proxy_1.proxyAdmin)(
|
|
49
|
+
const admin = yield (0, proxy_1.proxyAdmin)(provider, proxiedAddress.proxy);
|
|
50
50
|
utils_2.utils.assert(admin === proxyAdminAddress, 'Proxy admin mismatch');
|
|
51
51
|
}
|
|
52
52
|
});
|
|
@@ -59,7 +59,7 @@ class HyperlaneAppChecker {
|
|
|
59
59
|
// This method checks whether the bytecode of a contract matches the expected bytecode. It forces the deployer to explicitly acknowledge a change in bytecode. The violations can be remediated by updating the expected bytecode hash.
|
|
60
60
|
checkBytecode(chain, name, address, expectedBytecodeHash, modifyBytecodePriorToHash = (_) => _) {
|
|
61
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
const provider = this.multiProvider.
|
|
62
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
63
63
|
const bytecode = yield provider.getCode(address);
|
|
64
64
|
const bytecodeHash = (0, utils_1.keccak256)(modifyBytecodePriorToHash(this.removeBytecodeMetadata(bytecode)));
|
|
65
65
|
if (bytecodeHash !== expectedBytecodeHash) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA6C;
|
|
1
|
+
{"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,32 +15,32 @@ export interface DeployOptions {
|
|
|
15
15
|
initCalldata?: string;
|
|
16
16
|
}
|
|
17
17
|
export declare const CREATE2FACTORY_ADDRESS = "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a";
|
|
18
|
-
export declare abstract class HyperlaneDeployer<
|
|
19
|
-
protected readonly multiProvider: MultiProvider
|
|
20
|
-
protected readonly configMap: ChainMap<
|
|
18
|
+
export declare abstract class HyperlaneDeployer<Config, Contracts extends HyperlaneContracts, Factories extends HyperlaneFactories> {
|
|
19
|
+
protected readonly multiProvider: MultiProvider;
|
|
20
|
+
protected readonly configMap: ChainMap<Config>;
|
|
21
21
|
protected readonly factories: Factories;
|
|
22
22
|
protected readonly options?: DeployerOptions | undefined;
|
|
23
|
-
deployedContracts:
|
|
24
|
-
verificationInputs: ChainMap<
|
|
23
|
+
deployedContracts: ChainMap<Contracts>;
|
|
24
|
+
verificationInputs: ChainMap<ContractVerificationInput[]>;
|
|
25
25
|
protected logger: Debugger;
|
|
26
|
-
constructor(multiProvider: MultiProvider
|
|
27
|
-
abstract deployContracts(chain:
|
|
28
|
-
deploy(partialDeployment?:
|
|
29
|
-
protected runIfOwner<T>(chain:
|
|
30
|
-
protected deployContractFromFactory<F extends ethers.ContractFactory>(chain:
|
|
31
|
-
deployContract<K extends keyof Factories>(chain:
|
|
32
|
-
protected deployProxy<C extends ethers.Contract>(chain:
|
|
26
|
+
constructor(multiProvider: MultiProvider, configMap: ChainMap<Config>, factories: Factories, options?: DeployerOptions | undefined);
|
|
27
|
+
abstract deployContracts(chain: ChainName, config: Config): Promise<Contracts>;
|
|
28
|
+
deploy(partialDeployment?: ChainMap<Contracts>): Promise<ChainMap<Contracts>>;
|
|
29
|
+
protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
|
|
30
|
+
protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
|
|
31
|
+
deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<Factories[K]['deploy']>>;
|
|
32
|
+
protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
|
|
33
33
|
private cacheContract;
|
|
34
34
|
/**
|
|
35
35
|
* Deploys the Implementation and Proxy for a given contract
|
|
36
36
|
*
|
|
37
37
|
*/
|
|
38
|
-
deployProxiedContract<K extends keyof Factories, C extends Awaited<ReturnType<Factories[K]['deploy']>>>(chain:
|
|
38
|
+
deployProxiedContract<K extends keyof Factories, C extends Awaited<ReturnType<Factories[K]['deploy']>>>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
|
|
39
39
|
/**
|
|
40
40
|
* Changes the proxyAdmin of `proxyAddress` from `currentProxyAdmin` to `desiredProxyAdmin`
|
|
41
41
|
* if the admin is not already the `desiredProxyAdmin`.
|
|
42
42
|
*/
|
|
43
|
-
changeProxyAdmin(chain:
|
|
44
|
-
mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<
|
|
43
|
+
changeProxyAdmin(chain: ChainName, proxyAddress: types.Address, currentProxyAdmin: ProxyAdmin, desiredProxyAdmin: ProxyAdmin): Promise<void>;
|
|
44
|
+
mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<ContractVerificationInput[]>): ChainMap<ContractVerificationInput[]>;
|
|
45
45
|
}
|
|
46
46
|
//# sourceMappingURL=HyperlaneDeployer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAEL,OAAO,EACP,UAAU,EAIX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,eAAe,EAEf,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,sBAAsB,+CACW,CAAC;
|
|
1
|
+
{"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,21 +28,19 @@ class HyperlaneDeployer {
|
|
|
28
28
|
this.verificationInputs = (0, objects_1.objMap)(configMap, () => []);
|
|
29
29
|
this.logger = (options === null || options === void 0 ? void 0 : options.logger) || (0, debug_1.debug)('hyperlane:AppDeployer');
|
|
30
30
|
}
|
|
31
|
-
deploy(partialDeployment = this
|
|
32
|
-
.deployedContracts) {
|
|
31
|
+
deploy(partialDeployment = this.deployedContracts) {
|
|
33
32
|
var _a;
|
|
34
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
34
|
(0, objects_1.objMap)(partialDeployment, (chain, contracts) => {
|
|
36
35
|
this.logger(`Recovering contracts for ${chain} from partial deployment`);
|
|
37
|
-
const
|
|
38
|
-
this.deployedContracts[chain] = (0, contracts_1.connectContracts)(contracts,
|
|
36
|
+
const signer = this.multiProvider.getSigner(chain);
|
|
37
|
+
this.deployedContracts[chain] = (0, contracts_1.connectContracts)(contracts, signer);
|
|
39
38
|
});
|
|
40
39
|
const configChains = Object.keys(this.configMap);
|
|
41
|
-
const targetChains = this.multiProvider.intersect(configChains,
|
|
40
|
+
const targetChains = this.multiProvider.intersect(configChains, true).intersection;
|
|
42
41
|
this.logger(`Start deploy to ${targetChains}`);
|
|
43
42
|
for (const chain of targetChains) {
|
|
44
|
-
const
|
|
45
|
-
const signerUrl = yield chainConnection.getAddressUrl();
|
|
43
|
+
const signerUrl = yield this.multiProvider.tryGetExplorerAddressUrl(chain);
|
|
46
44
|
this.logger(`Deploying to ${chain} from ${signerUrl} ...`);
|
|
47
45
|
this.deployedContracts[chain] = yield this.deployContracts(chain, this.configMap[chain]);
|
|
48
46
|
// TODO: remove these logs once we have better timeouts
|
|
@@ -53,8 +51,7 @@ class HyperlaneDeployer {
|
|
|
53
51
|
}
|
|
54
52
|
runIfOwner(chain, ownable, fn) {
|
|
55
53
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const
|
|
57
|
-
const address = yield dc.signer.getAddress();
|
|
54
|
+
const address = yield this.multiProvider.getSignerAddress(chain);
|
|
58
55
|
const owner = yield ownable.owner();
|
|
59
56
|
const logObj = { owner, signer: address };
|
|
60
57
|
if (address === owner) {
|
|
@@ -71,19 +68,16 @@ class HyperlaneDeployer {
|
|
|
71
68
|
var _a;
|
|
72
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
70
|
const cachedContract = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
|
|
74
|
-
if (cachedContract) {
|
|
75
|
-
this.logger(`Recovered contract ${contractName} on ${chain}
|
|
71
|
+
if (cachedContract && !(cachedContract instanceof proxy_1.ProxiedContract)) {
|
|
72
|
+
this.logger(`Recovered contract ${contractName} on ${chain}`, cachedContract);
|
|
76
73
|
return cachedContract;
|
|
77
74
|
}
|
|
78
|
-
const
|
|
79
|
-
const signer =
|
|
80
|
-
|
|
81
|
-
throw new Error(`No signer for ${chain}`);
|
|
82
|
-
}
|
|
75
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
76
|
+
const signer = this.multiProvider.getSigner(chain);
|
|
77
|
+
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
83
78
|
this.logger(`Deploy ${contractName} on ${chain}`);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
(yield chainConnection.provider.getCode(exports.CREATE2FACTORY_ADDRESS)) != '0x') {
|
|
79
|
+
const factoryCode = yield provider.getCode(exports.CREATE2FACTORY_ADDRESS);
|
|
80
|
+
if (deployOpts && deployOpts.create2Salt && factoryCode != '0x') {
|
|
87
81
|
this.logger(`Deploying with CREATE2 factory`);
|
|
88
82
|
const create2Factory = core_1.Create2Factory__factory.connect(exports.CREATE2FACTORY_ADDRESS, signer);
|
|
89
83
|
const salt = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(deployOpts.create2Salt)));
|
|
@@ -91,11 +85,12 @@ class HyperlaneDeployer {
|
|
|
91
85
|
const bytecode = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.concat([factory.bytecode, encodedConstructorArgs]));
|
|
92
86
|
// TODO: Maybe recover deployed contracts?
|
|
93
87
|
const contractAddr = yield create2Factory.deployedAddress(bytecode, yield signer.getAddress(), salt);
|
|
94
|
-
|
|
88
|
+
const contractCode = yield provider.getCode(contractAddr);
|
|
89
|
+
if (contractCode === '0x') {
|
|
95
90
|
const deployTx = deployOpts.initCalldata
|
|
96
|
-
? yield create2Factory.deployAndInit(bytecode, salt, deployOpts.initCalldata,
|
|
97
|
-
: yield create2Factory.deploy(bytecode, salt,
|
|
98
|
-
yield
|
|
91
|
+
? yield create2Factory.deployAndInit(bytecode, salt, deployOpts.initCalldata, overrides)
|
|
92
|
+
: yield create2Factory.deploy(bytecode, salt, overrides);
|
|
93
|
+
yield this.multiProvider.handleTx(chain, deployTx);
|
|
99
94
|
}
|
|
100
95
|
else {
|
|
101
96
|
this.logger(`Found contract deployed at CREATE2 address, skipping contract deploy`);
|
|
@@ -111,15 +106,15 @@ class HyperlaneDeployer {
|
|
|
111
106
|
else {
|
|
112
107
|
const contract = yield factory
|
|
113
108
|
.connect(signer)
|
|
114
|
-
.deploy(...constructorArgs,
|
|
115
|
-
yield
|
|
109
|
+
.deploy(...constructorArgs, overrides);
|
|
110
|
+
yield this.multiProvider.handleTx(chain, contract.deployTransaction);
|
|
116
111
|
if (deployOpts === null || deployOpts === void 0 ? void 0 : deployOpts.initCalldata) {
|
|
117
112
|
this.logger(`Initialize ${contractName} on ${chain}`);
|
|
118
113
|
const initTx = yield signer.sendTransaction({
|
|
119
114
|
to: contract.address,
|
|
120
115
|
data: deployOpts.initCalldata,
|
|
121
116
|
});
|
|
122
|
-
yield
|
|
117
|
+
yield this.multiProvider.handleTx(chain, initTx);
|
|
123
118
|
}
|
|
124
119
|
const verificationInput = (0, utils_1.getContractVerificationInput)(contractName, contract, factory.bytecode);
|
|
125
120
|
this.verificationInputs[chain].push(verificationInput);
|
|
@@ -138,11 +133,12 @@ class HyperlaneDeployer {
|
|
|
138
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
139
134
|
const initData = implementation.interface.encodeFunctionData('initialize', initArgs);
|
|
140
135
|
let proxy;
|
|
141
|
-
const
|
|
136
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
137
|
+
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
142
138
|
this.logger(`Deploying transparent upgradable proxy`);
|
|
143
139
|
if (deployOpts &&
|
|
144
140
|
deployOpts.create2Salt &&
|
|
145
|
-
(yield
|
|
141
|
+
(yield provider.getCode(exports.CREATE2FACTORY_ADDRESS)) != '0x') {
|
|
146
142
|
// To get consistent addresses with Create2, we need to use
|
|
147
143
|
// consistent constructor arguments.
|
|
148
144
|
// The three constructor arguments we need to configure are:
|
|
@@ -161,9 +157,7 @@ class HyperlaneDeployer {
|
|
|
161
157
|
// Note this requires the proxy contracts to ensure admin power has been
|
|
162
158
|
// transferred to the canonical proxy admin at some point in the future.
|
|
163
159
|
const proxyAdminOwner = yield proxyAdmin.owner();
|
|
164
|
-
const deployer = yield this.multiProvider
|
|
165
|
-
.getChainSigner(chain)
|
|
166
|
-
.getAddress();
|
|
160
|
+
const deployer = yield this.multiProvider.getSignerAddress(chain);
|
|
167
161
|
let deployerOwnedProxyAdmin = proxyAdmin;
|
|
168
162
|
if (proxyAdminOwner.toLowerCase() !== deployer.toLowerCase()) {
|
|
169
163
|
deployerOwnedProxyAdmin = yield this.deployContractFromFactory(chain, new core_1.ProxyAdmin__factory(), 'DeployerOwnedProxyAdmin', []);
|
|
@@ -175,8 +169,8 @@ class HyperlaneDeployer {
|
|
|
175
169
|
this.logger(`Upgrading and initializing transparent upgradable proxy`);
|
|
176
170
|
// We now have a deployed proxy admin'd by deployerOwnedProxyAdmin.
|
|
177
171
|
// Upgrade its implementation and initialize it
|
|
178
|
-
const upgradeAndCallTx = yield deployerOwnedProxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData,
|
|
179
|
-
yield
|
|
172
|
+
const upgradeAndCallTx = yield deployerOwnedProxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides);
|
|
173
|
+
yield this.multiProvider.handleTx(chain, upgradeAndCallTx);
|
|
180
174
|
// Change the proxy admin from deployerOwnedProxyAdmin to proxyAdmin if necessary.
|
|
181
175
|
yield this.changeProxyAdmin(chain, proxy.address, deployerOwnedProxyAdmin, proxyAdmin);
|
|
182
176
|
}
|
|
@@ -206,11 +200,23 @@ class HyperlaneDeployer {
|
|
|
206
200
|
var _a;
|
|
207
201
|
return __awaiter(this, void 0, void 0, function* () {
|
|
208
202
|
const cachedProxy = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
|
|
209
|
-
if (cachedProxy
|
|
210
|
-
|
|
203
|
+
if (cachedProxy &&
|
|
204
|
+
cachedProxy.addresses.proxy &&
|
|
205
|
+
cachedProxy.addresses.implementation) {
|
|
206
|
+
this.logger(`Recovered proxy and implementation ${contractName.toString()} on ${chain}`, cachedProxy);
|
|
211
207
|
return cachedProxy;
|
|
212
208
|
}
|
|
213
209
|
const implementation = yield this.deployContract(chain, contractName, constructorArgs, deployOpts);
|
|
210
|
+
// If the proxy already existed in artifacts but the implementation did not,
|
|
211
|
+
// we only deploy the implementation and keep the proxy.
|
|
212
|
+
// Changing the proxy's implementation address on-chain is left to
|
|
213
|
+
// the govern / checker script
|
|
214
|
+
if (cachedProxy && cachedProxy.addresses.proxy) {
|
|
215
|
+
this.logger(`Recovered proxy ${contractName.toString()} on ${chain}`, cachedProxy);
|
|
216
|
+
cachedProxy.addresses.implementation = implementation.address;
|
|
217
|
+
this.cacheContract(chain, contractName, cachedProxy);
|
|
218
|
+
return cachedProxy;
|
|
219
|
+
}
|
|
214
220
|
const contract = yield this.deployProxy(chain, implementation, proxyAdmin, initArgs, deployOpts);
|
|
215
221
|
this.cacheContract(chain, contractName, contract);
|
|
216
222
|
return contract;
|
|
@@ -228,16 +234,15 @@ class HyperlaneDeployer {
|
|
|
228
234
|
return;
|
|
229
235
|
}
|
|
230
236
|
this.logger(`Transferring proxy admin from ${currentProxyAdmin} to ${desiredProxyAdmin}`);
|
|
231
|
-
const
|
|
232
|
-
const changeAdminTx = yield currentProxyAdmin.changeProxyAdmin(proxyAddress, desiredProxyAdmin.address,
|
|
233
|
-
yield
|
|
237
|
+
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
238
|
+
const changeAdminTx = yield currentProxyAdmin.changeProxyAdmin(proxyAddress, desiredProxyAdmin.address, overrides);
|
|
239
|
+
yield this.multiProvider.handleTx(chain, changeAdminTx);
|
|
234
240
|
});
|
|
235
241
|
}
|
|
236
242
|
mergeWithExistingVerificationInputs(existingInputsMap) {
|
|
237
243
|
const allChains = new Set();
|
|
238
244
|
Object.keys(existingInputsMap).forEach((_) => allChains.add(_));
|
|
239
245
|
Object.keys(this.verificationInputs).forEach((_) => allChains.add(_));
|
|
240
|
-
// @ts-ignore
|
|
241
246
|
const ret = {};
|
|
242
247
|
for (const chain of allChains) {
|
|
243
248
|
const existingInputs = existingInputsMap[chain] || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;AACxC,mCAAgC;AAEhC,8CAO6B;AAG7B,4CAMsB;AAEtB,oCAIkB;AAElB,8CAA0C;AAG1C,0CAA8D;AAWjD,QAAA,sBAAsB,GACjC,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import { types } from '@hyperlane-xyz/utils';
|
|
1
2
|
import { HyperlaneCore } from '../../core/HyperlaneCore';
|
|
2
3
|
import { ChainName } from '../../types';
|
|
3
4
|
import { HyperlaneAppChecker } from '../HyperlaneAppChecker';
|
|
4
5
|
import { CoreConfig } from './types';
|
|
5
|
-
export declare class HyperlaneCoreChecker
|
|
6
|
-
checkChain(chain:
|
|
7
|
-
checkDomainOwnership(chain:
|
|
8
|
-
checkMailbox(chain:
|
|
9
|
-
checkBytecodes(chain:
|
|
10
|
-
checkProxiedContracts(chain:
|
|
11
|
-
checkValidatorAnnounce(chain:
|
|
12
|
-
checkMultisigIsm(local:
|
|
13
|
-
checkMultisigIsmForRemote(local:
|
|
6
|
+
export declare class HyperlaneCoreChecker extends HyperlaneAppChecker<HyperlaneCore, CoreConfig> {
|
|
7
|
+
checkChain(chain: ChainName): Promise<void>;
|
|
8
|
+
checkDomainOwnership(chain: ChainName): Promise<void>;
|
|
9
|
+
checkMailbox(chain: ChainName): Promise<void>;
|
|
10
|
+
checkBytecodes(chain: ChainName): Promise<void>;
|
|
11
|
+
checkProxiedContracts(chain: ChainName): Promise<void>;
|
|
12
|
+
checkValidatorAnnounce(chain: ChainName): Promise<void>;
|
|
13
|
+
checkMultisigIsm(local: ChainName): Promise<void>;
|
|
14
|
+
checkMultisigIsmForRemote(local: ChainName, remote: ChainName): Promise<void>;
|
|
15
|
+
checkInterchainGasPaymaster(local: ChainName): Promise<void>;
|
|
16
|
+
getGasOracleAddress(local: ChainName, remote: ChainName): types.Address;
|
|
14
17
|
}
|
|
15
18
|
//# sourceMappingURL=HyperlaneCoreChecker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACL,UAAU,EAYX,MAAM,SAAS,CAAC;AAejB,qBAAa,oBAAqB,SAAQ,mBAAmB,CAC3D,aAAa,EACb,UAAU,CACX;IACO,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3C,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAarD,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA0E/C,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtD,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,yBAAyB,CAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC;IAiDV,2BAA2B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDlE,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO;CAgBxE"}
|