@hyperlane-xyz/sdk 1.5.7-beta1 → 3.0.0-beta0
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/consts/chainMetadata.d.ts +3 -0
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +99 -11
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +3 -0
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +8 -0
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +1135 -407
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js +1 -6
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +827 -131
- package/dist/consts/environments/testnet.json +362 -19
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +73 -59
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/contracts/contracts.d.ts +8 -3
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +39 -9
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +62 -10
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +1 -0
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +1 -1
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +19 -16
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/MultiProtocolCore.test.js +53 -2
- package/dist/core/MultiProtocolCore.test.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +1 -5
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +0 -20
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.js +9 -4
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +5 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +1 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +25 -2
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +9 -4
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +85 -66
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +8 -4
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts +1 -0
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +8 -1
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +7 -2
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.js +1 -0
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +15 -5
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +2 -1
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +12 -2
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +99 -13
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +4 -1
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +4 -1
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +24 -2
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +3 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +3 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +3 -3
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +87 -26
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/types.d.ts +24 -7
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +33 -1
- package/dist/ism/types.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +92 -92
- package/dist/metadata/matchingList.d.ts +12 -12
- package/dist/metadata/matchingList.d.ts.map +1 -1
- package/dist/metadata/matchingList.js +1 -5
- package/dist/metadata/matchingList.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +4 -1
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +5 -1
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +5 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQuery.js +1 -0
- package/dist/middleware/query/InterchainQuery.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +5 -1
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +1 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +1 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts +5 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +41 -6
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/RouterApps.d.ts +7 -1
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +17 -0
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/types.d.ts +12 -1
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +5 -1
- package/dist/router/types.js.map +1 -1
- package/dist/test/testUtils.d.ts +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +15 -37
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +13 -1
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/config.d.ts +6 -3
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +11 -3
- package/dist/token/config.js.map +1 -1
- package/dist/token/contracts.d.ts +2 -2
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/deploy.d.ts +1 -1
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +21 -2
- package/dist/token/deploy.js.map +1 -1
- package/package.json +3 -3
- package/dist/consts/environments/testnet-sealevel.json +0 -19
- package/logos/black/base.svg +0 -12
- package/logos/black/polygonzkevm.svg +0 -49
- package/logos/black/scroll.svg +0 -66
- package/logos/color/base.svg +0 -18
- package/logos/color/polygonzkevm.svg +0 -22
- package/logos/color/scroll.svg +0 -36
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { Ownable } from '@hyperlane-xyz/core';
|
|
2
|
-
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { Address, ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { ChainMetadataManager } from '../metadata/ChainMetadataManager';
|
|
4
4
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
5
5
|
import { ChainMap, Connection } from '../types';
|
|
6
6
|
import { HyperlaneAddresses, HyperlaneAddressesMap, HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from './types';
|
|
7
7
|
export declare function serializeContractsMap<F extends HyperlaneFactories>(contractsMap: HyperlaneContractsMap<F>): HyperlaneAddressesMap<F>;
|
|
8
|
-
export declare function serializeContracts<F extends HyperlaneFactories>(contracts: HyperlaneContracts<F>):
|
|
8
|
+
export declare function serializeContracts<F extends HyperlaneFactories>(contracts: HyperlaneContracts<F>): any;
|
|
9
9
|
export declare function filterAddressesMap<F extends HyperlaneFactories>(addressesMap: HyperlaneAddressesMap<any>, factories: F): HyperlaneAddressesMap<F>;
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function filterChainMapToProtocol(contractsMap: ChainMap<any>, protocolType: ProtocolType, metadataManager: ChainMetadataManager<any>): ChainMap<any>;
|
|
11
|
+
export declare function filterChainMapExcludeProtocol(contractsMap: ChainMap<any>, protocolType: ProtocolType, metadataManager: ChainMetadataManager<any>): ChainMap<any>;
|
|
11
12
|
export declare function attachContracts<F extends HyperlaneFactories>(addresses: HyperlaneAddresses<F>, factories: F): HyperlaneContracts<F>;
|
|
12
13
|
export declare function attachContractsMap<F extends HyperlaneFactories>(addressesMap: HyperlaneAddressesMap<any>, factories: F): HyperlaneContractsMap<F>;
|
|
14
|
+
export declare function attachContractsMapAndGetForeignDeployments<F extends HyperlaneFactories>(addressesMap: HyperlaneAddressesMap<any>, factories: F, metadataManager: ChainMetadataManager<any>): {
|
|
15
|
+
contractsMap: HyperlaneContractsMap<F>;
|
|
16
|
+
foreignDeployments: ChainMap<Address>;
|
|
17
|
+
};
|
|
13
18
|
export declare function connectContracts<F extends HyperlaneFactories>(contracts: HyperlaneContracts<F>, connection: Connection): HyperlaneContracts<F>;
|
|
14
19
|
export declare function connectContractsMap<F extends HyperlaneFactories>(contractsMap: ChainMap<HyperlaneContracts<F>>, multiProvider: MultiProvider): ChainMap<HyperlaneContracts<F>>;
|
|
15
20
|
export declare function filterOwnableContracts(contracts: HyperlaneContracts<any>): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.appFromAddressesMapHelper = exports.filterOwnableContracts = exports.connectContractsMap = exports.connectContracts = exports.attachContractsMap = exports.attachContracts = exports.
|
|
3
|
+
exports.appFromAddressesMapHelper = exports.filterOwnableContracts = exports.connectContractsMap = exports.connectContracts = exports.attachContractsMapAndGetForeignDeployments = exports.attachContractsMap = exports.attachContracts = exports.filterChainMapExcludeProtocol = exports.filterChainMapToProtocol = exports.filterAddressesMap = exports.serializeContracts = exports.serializeContractsMap = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
4
5
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
5
6
|
function serializeContractsMap(contractsMap) {
|
|
6
7
|
return (0, utils_1.objMap)(contractsMap, (_, contracts) => {
|
|
@@ -9,7 +10,7 @@ function serializeContractsMap(contractsMap) {
|
|
|
9
10
|
}
|
|
10
11
|
exports.serializeContractsMap = serializeContractsMap;
|
|
11
12
|
function serializeContracts(contracts) {
|
|
12
|
-
return (0, utils_1.objMap)(contracts, (_, contract) => contract.address);
|
|
13
|
+
return (0, utils_1.objMap)(contracts, (_, contract) => contract.address ? contract.address : serializeContracts(contract));
|
|
13
14
|
}
|
|
14
15
|
exports.serializeContracts = serializeContracts;
|
|
15
16
|
function getFactory(key, factories) {
|
|
@@ -28,12 +29,14 @@ function filterAddressesMap(addressesMap, factories) {
|
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
exports.filterAddressesMap = filterAddressesMap;
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
metadataManager) {
|
|
34
|
-
return (0, utils_1.objFilter)(addresses, (c, _addrs) => metadataManager.tryGetChainMetadata(c)?.protocol === protocolType);
|
|
32
|
+
function filterChainMapToProtocol(contractsMap, protocolType, metadataManager) {
|
|
33
|
+
return (0, utils_1.objFilter)(contractsMap, (c, _addrs) => metadataManager.tryGetChainMetadata(c)?.protocol === protocolType);
|
|
35
34
|
}
|
|
36
|
-
exports.
|
|
35
|
+
exports.filterChainMapToProtocol = filterChainMapToProtocol;
|
|
36
|
+
function filterChainMapExcludeProtocol(contractsMap, protocolType, metadataManager) {
|
|
37
|
+
return (0, utils_1.objFilter)(contractsMap, (c, _addrs) => metadataManager.tryGetChainMetadata(c)?.protocol !== protocolType);
|
|
38
|
+
}
|
|
39
|
+
exports.filterChainMapExcludeProtocol = filterChainMapExcludeProtocol;
|
|
37
40
|
function attachContracts(addresses, factories) {
|
|
38
41
|
return (0, utils_1.objMap)(addresses, (key, address) => {
|
|
39
42
|
const factory = getFactory(key, factories);
|
|
@@ -46,8 +49,23 @@ function attachContractsMap(addressesMap, factories) {
|
|
|
46
49
|
return (0, utils_1.objMap)(filteredAddressesMap, (_, addresses) => attachContracts(addresses, factories));
|
|
47
50
|
}
|
|
48
51
|
exports.attachContractsMap = attachContractsMap;
|
|
52
|
+
function attachContractsMapAndGetForeignDeployments(addressesMap, factories, metadataManager) {
|
|
53
|
+
const contractsMap = attachContractsMap(filterChainMapToProtocol(addressesMap, utils_1.ProtocolType.Ethereum, metadataManager), factories);
|
|
54
|
+
const foreignDeployments = (0, utils_1.objMap)(filterChainMapExcludeProtocol(addressesMap, utils_1.ProtocolType.Ethereum, metadataManager), (_, addresses) => (0, utils_1.hexOrBase58ToHex)(addresses.router));
|
|
55
|
+
return {
|
|
56
|
+
contractsMap,
|
|
57
|
+
foreignDeployments,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
exports.attachContractsMapAndGetForeignDeployments = attachContractsMapAndGetForeignDeployments;
|
|
49
61
|
function connectContracts(contracts, connection) {
|
|
50
|
-
|
|
62
|
+
const connectedContracts = (0, utils_1.objMap)(contracts, (_, contract) => {
|
|
63
|
+
if (!contract.connect) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
return contract.connect(connection);
|
|
67
|
+
});
|
|
68
|
+
return Object.fromEntries(Object.entries(connectedContracts).filter(([_, contract]) => !!contract));
|
|
51
69
|
}
|
|
52
70
|
exports.connectContracts = connectContracts;
|
|
53
71
|
function connectContractsMap(contractsMap, multiProvider) {
|
|
@@ -69,9 +87,21 @@ async function filterOwnableContracts(contracts) {
|
|
|
69
87
|
}
|
|
70
88
|
exports.filterOwnableContracts = filterOwnableContracts;
|
|
71
89
|
function appFromAddressesMapHelper(addressesMap, factories, multiProvider) {
|
|
90
|
+
// Hack to accommodate non-Ethereum artifacts, while still retaining their
|
|
91
|
+
// presence in the addressesMap so that they are included in the list of chains
|
|
92
|
+
// on the MultiProvider (needed for getting metadata). A non-Ethereum-style address
|
|
93
|
+
// from another execution environment will cause Ethers to throw if we try to attach
|
|
94
|
+
// it, so we just replace it with the zero address.
|
|
95
|
+
const addressesMapWithEthereumizedAddresses = (0, utils_1.objMap)(addressesMap, (chain, addresses) => {
|
|
96
|
+
const metadata = multiProvider.getChainMetadata(chain);
|
|
97
|
+
if (metadata.protocol === utils_1.ProtocolType.Ethereum) {
|
|
98
|
+
return addresses;
|
|
99
|
+
}
|
|
100
|
+
return (0, utils_1.objMap)(addresses, (_key, _address) => ethers_1.ethers.constants.AddressZero);
|
|
101
|
+
});
|
|
72
102
|
// Attaches contracts for each chain for which we have a complete set of
|
|
73
103
|
// addresses
|
|
74
|
-
const contractsMap = attachContractsMap(
|
|
104
|
+
const contractsMap = attachContractsMap(addressesMapWithEthereumizedAddresses, factories);
|
|
75
105
|
// Filters out providers for chains for which we don't have a complete set
|
|
76
106
|
// of addresses
|
|
77
107
|
const intersection = multiProvider.intersect(Object.keys(contractsMap));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts/contracts.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/contracts/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,11 @@ require("@nomiclabs/hardhat-waffle");
|
|
|
7
7
|
const chai_1 = require("chai");
|
|
8
8
|
const hardhat_1 = require("hardhat");
|
|
9
9
|
const sinon_1 = __importDefault(require("sinon"));
|
|
10
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
10
11
|
const chains_1 = require("../consts/chains");
|
|
11
12
|
const HyperlaneProxyFactoryDeployer_1 = require("../deploy/HyperlaneProxyFactoryDeployer");
|
|
12
13
|
const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
|
|
14
|
+
const types_1 = require("../ism/types");
|
|
13
15
|
const MultiProvider_1 = require("../providers/MultiProvider");
|
|
14
16
|
const testUtils_1 = require("../test/testUtils");
|
|
15
17
|
const HyperlaneCore_1 = require("./HyperlaneCore");
|
|
@@ -26,20 +28,65 @@ describe('core', async () => {
|
|
|
26
28
|
const [signer] = await hardhat_1.ethers.getSigners();
|
|
27
29
|
multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
|
|
28
30
|
const proxyFactoryDeployer = new HyperlaneProxyFactoryDeployer_1.HyperlaneProxyFactoryDeployer(multiProvider);
|
|
29
|
-
coreConfig = (0, testUtils_1.testCoreConfig)(chains_1.TestChains);
|
|
31
|
+
coreConfig = (0, testUtils_1.testCoreConfig)(chains_1.TestChains, signer.address);
|
|
30
32
|
const ismFactories = await proxyFactoryDeployer.deploy(coreConfig);
|
|
31
33
|
ismFactory = new HyperlaneIsmFactory_1.HyperlaneIsmFactory(ismFactories, multiProvider);
|
|
32
|
-
|
|
33
|
-
beforeEach(async () => {
|
|
34
|
-
const [signer] = await hardhat_1.ethers.getSigners();
|
|
35
|
-
// This is kind of awkward and really these tests shouldn't live here
|
|
36
|
-
multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
|
|
34
|
+
deployer = new HyperlaneCoreDeployer_1.HyperlaneCoreDeployer(multiProvider, ismFactory);
|
|
37
35
|
});
|
|
38
36
|
it('deploys', async () => {
|
|
39
|
-
deployer = new HyperlaneCoreDeployer_1.HyperlaneCoreDeployer(multiProvider, ismFactory);
|
|
40
37
|
contracts = await deployer.deploy(coreConfig);
|
|
41
38
|
core = new HyperlaneCore_1.HyperlaneCore(contracts, multiProvider);
|
|
42
39
|
});
|
|
40
|
+
describe('idempotency', () => {
|
|
41
|
+
beforeEach(async () => {
|
|
42
|
+
contracts = await deployer.deploy(coreConfig);
|
|
43
|
+
});
|
|
44
|
+
it('rotates default and required hooks and recovers artifacts', async () => {
|
|
45
|
+
const getHooks = async (contracts) => (0, utils_1.promiseObjAll)((0, utils_1.objMap)(contracts, async (_, { mailbox }) => ({
|
|
46
|
+
default: await mailbox.defaultHook(),
|
|
47
|
+
required: await mailbox.requiredHook(),
|
|
48
|
+
})));
|
|
49
|
+
const hooksBefore = await getHooks(contracts);
|
|
50
|
+
const updatedConfig = (0, utils_1.objMap)(coreConfig, (_, config) => ({
|
|
51
|
+
...config,
|
|
52
|
+
defaultHook: config.requiredHook,
|
|
53
|
+
requiredHook: config.defaultHook,
|
|
54
|
+
}));
|
|
55
|
+
const [signer] = await hardhat_1.ethers.getSigners();
|
|
56
|
+
const nonceBefore = await signer.getTransactionCount();
|
|
57
|
+
const updatedContracts = await deployer.deploy(updatedConfig);
|
|
58
|
+
const hooksAfter = await getHooks(updatedContracts);
|
|
59
|
+
(0, chai_1.expect)(hooksBefore).to.deep.equal((0, utils_1.objMap)(hooksAfter, (_, res) => ({
|
|
60
|
+
required: res.default,
|
|
61
|
+
default: res.required,
|
|
62
|
+
})));
|
|
63
|
+
// number of set hook transactions
|
|
64
|
+
const numTransactions = 2 * chains_1.TestChains.length;
|
|
65
|
+
const nonceAfter = await signer.getTransactionCount();
|
|
66
|
+
(0, chai_1.expect)(nonceAfter).to.equal(nonceBefore + numTransactions);
|
|
67
|
+
});
|
|
68
|
+
it('rotates default ISMs', async () => {
|
|
69
|
+
const testIsm = await contracts.test1.mailbox.defaultIsm();
|
|
70
|
+
const updatedConfig = (0, utils_1.objMap)(coreConfig, (_, config) => {
|
|
71
|
+
const ismConfig = {
|
|
72
|
+
type: types_1.IsmType.AGGREGATION,
|
|
73
|
+
modules: [testIsm, testIsm],
|
|
74
|
+
threshold: 2,
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
...config,
|
|
78
|
+
defaultIsm: ismConfig,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
const [signer] = await hardhat_1.ethers.getSigners();
|
|
82
|
+
const nonceBefore = await signer.getTransactionCount();
|
|
83
|
+
await deployer.deploy(updatedConfig);
|
|
84
|
+
// one aggregation ISM deploy and one set ISM transaction per chain
|
|
85
|
+
const numTransactions = 2 * chains_1.TestChains.length;
|
|
86
|
+
const nonceAfter = await signer.getTransactionCount();
|
|
87
|
+
(0, chai_1.expect)(nonceAfter).to.equal(nonceBefore + numTransactions);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
43
90
|
describe('failure modes', async () => {
|
|
44
91
|
beforeEach(async () => {
|
|
45
92
|
deployer = new HyperlaneCoreDeployer_1.HyperlaneCoreDeployer(multiProvider, ismFactory);
|
|
@@ -63,7 +110,11 @@ describe('core', async () => {
|
|
|
63
110
|
sinon_1.default.restore(); // restore normal deployer behavior and test3 will be deployed
|
|
64
111
|
const result = await deployer.deploy(coreConfig);
|
|
65
112
|
(0, chai_1.expect)(result).to.have.keys(['test1', 'test2', 'test3']);
|
|
66
|
-
|
|
113
|
+
// Each test network key has entries about the other test networks, whre ISM details are stored.
|
|
114
|
+
// With this exception, the keys should be the same, so we check the intersections for equality.
|
|
115
|
+
const testnetKeysIntersection = Object.keys(result.test1).filter((key) => Object.keys(result.test2).includes(key) &&
|
|
116
|
+
Object.keys(result.test3).includes(key));
|
|
117
|
+
(0, chai_1.assert)(testnetKeysIntersection.length > 0, 'there are no common core contracts deployed between the local testnets');
|
|
67
118
|
});
|
|
68
119
|
it('can be resumed from partial contracts', async () => {
|
|
69
120
|
sinon_1.default.restore(); // restore normal deployer behavior
|
|
@@ -72,8 +123,9 @@ describe('core', async () => {
|
|
|
72
123
|
//@ts-ignore operand not optional, ignore for this test
|
|
73
124
|
delete deployer.deployedContracts.test2.mailbox;
|
|
74
125
|
const result = await deployer.deploy(coreConfig);
|
|
75
|
-
|
|
76
|
-
|
|
126
|
+
const testnetKeysIntersection = Object.keys(result.test1).filter((key) => Object.keys(result.test2).includes(key) &&
|
|
127
|
+
Object.keys(result.test3).includes(key));
|
|
128
|
+
(0, chai_1.assert)(testnetKeysIntersection.length > 0, 'there are no common core contracts deployed between the local testnets');
|
|
77
129
|
});
|
|
78
130
|
it('times out ', async () => {
|
|
79
131
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreDeployer.hardhat-test.js","sourceRoot":"","sources":["../../src/core/CoreDeployer.hardhat-test.ts"],"names":[],"mappings":";;;;;AAAA,qCAAmC;AACnC,+
|
|
1
|
+
{"version":3,"file":"CoreDeployer.hardhat-test.js","sourceRoot":"","sources":["../../src/core/CoreDeployer.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EACL,OAAO,EACP,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,aAAc,SAAQ,YAAY,CAAC,aAAa,CAAC;IAC5D,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,oBAAoB,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,aAAa;
|
|
1
|
+
{"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EACL,OAAO,EACP,cAAc,EAKf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,aAAc,SAAQ,YAAY,CAAC,aAAa,CAAC;IAC5D,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,oBAAoB,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,aAAa;IAShB,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACxC,aAAa,EAAE,aAAa,GAC3B,aAAa;IAShB,eAAe,UAAW,OAAO,KAAG,SAAS,YAAY,CAAC,CAMrD;IAEL,eAAe,WACL,SAAS,eACJ,SAAS,aACX,cAAc,QACnB,MAAM,KACX,QAAQ,OAAO,SAAS,CAAC,CAK1B;IAEF,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS;IAI/D,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IAkB5B,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAmBhB,wBAAwB,CACtB,QAAQ,EAAE,MAAM,CAAC,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAM9B,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,CAAC,eAAe,EAChC,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAehB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,GAAG,iBAAiB,EAAE;IAI5E,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,CAAC,eAAe,GAC/B,iBAAiB,EAAE;CAqBvB"}
|
|
@@ -26,6 +26,7 @@ class HyperlaneCore extends HyperlaneApp_1.HyperlaneApp {
|
|
|
26
26
|
if (!envAddresses) {
|
|
27
27
|
throw new Error(`No addresses found for ${env}`);
|
|
28
28
|
}
|
|
29
|
+
// @ts-ignore
|
|
29
30
|
return HyperlaneCore.fromAddressesMap(envAddresses, multiProvider);
|
|
30
31
|
}
|
|
31
32
|
static fromAddressesMap(addressesMap, multiProvider) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":";;;AAEA,8CAAuD;AACvD,gDAO8B;AAE9B,sDAAmD;AACnD,yDAGgC;AAChC,sDAAmE;AAMnE,2CAA2D;AAG3D,MAAa,aAAc,SAAQ,2BAA2B;IAA9D;;
|
|
1
|
+
{"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
50
50
|
if (!matches) {
|
|
51
51
|
const violation = {
|
|
52
52
|
type: types_1.CoreViolationType.Mailbox,
|
|
53
|
-
|
|
53
|
+
subType: types_1.MailboxViolationType.DefaultIsm,
|
|
54
54
|
contract: mailbox,
|
|
55
55
|
chain,
|
|
56
56
|
actual: actualIsm,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAE9C,gDAAkE;AAElE,iDAAkD;AAClD,uEAAoE;AACpE,2CAAsD;AACtD,oEAIoC;AAKpC,mCAMiB;AAEjB,MAAa,oBAAqB,SAAQ,yCAGzC;IACC,YACE,aAA4B,EAC5B,GAAkB,EAClB,SAA+B,EACtB,UAA+B;QAExC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAF5B,eAAU,GAAV,UAAU,CAAqB;IAG1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,gDAAgD;QAChD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO;SACR;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;SAChD;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,gBAAgB,GAA4B,EAAE,CAAC;QACnD,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACzE,gBAAgB,GAAG;gBACjB,UAAU,EAAE,UAAU;aACvB,CAAC;SACH;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAgB;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QAChD,IAAA,cAAM,EAAC,WAAW,KAAK,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,IAAA,yCAAmB,EACvC,KAAK,EACL,SAAS,EACT,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,SAAS,GAAqB;gBAClC,IAAI,EAAE,yBAAiB,CAAC,OAAO;gBAC/B,
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;IAMG,QAAQ,CAAC,UAAU,EAAE,mBAAmB;IAL1C,oBAAoB,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAM;IACxD,YAAY,EAAE,qBAAqB,CAAC;gBAGlC,aAAa,EAAE,aAAa,EACnB,UAAU,EAAE,mBAAmB;IAc1C,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAKxD,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC;IAwFb,uBAAuB,CAC3B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC;IASvB,UAAU,CACd,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC,OAAO,CAAC;IAcb,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhE,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAsC9C"}
|
|
@@ -5,15 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.HyperlaneCoreDeployer = void 0;
|
|
7
7
|
const debug_1 = __importDefault(require("debug"));
|
|
8
|
-
const core_1 = require("@hyperlane-xyz/core");
|
|
9
8
|
const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
|
|
10
9
|
const HyperlaneHookDeployer_1 = require("../hook/HyperlaneHookDeployer");
|
|
10
|
+
const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
|
|
11
11
|
const contracts_1 = require("./contracts");
|
|
12
12
|
class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
13
13
|
constructor(multiProvider, ismFactory) {
|
|
14
14
|
super(multiProvider, contracts_1.coreFactories, {
|
|
15
15
|
logger: (0, debug_1.default)('hyperlane:CoreDeployer'),
|
|
16
|
-
chainTimeoutMs: 1000 * 60 * 10,
|
|
16
|
+
chainTimeoutMs: 1000 * 60 * 10,
|
|
17
|
+
ismFactory,
|
|
17
18
|
});
|
|
18
19
|
this.ismFactory = ismFactory;
|
|
19
20
|
this.startingBlockNumbers = {};
|
|
@@ -26,21 +27,30 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
26
27
|
async deployMailbox(chain, config, proxyAdmin) {
|
|
27
28
|
const domain = this.multiProvider.getDomainId(chain);
|
|
28
29
|
const mailbox = await this.deployProxiedContract(chain, 'mailbox', proxyAdmin, [domain]);
|
|
29
|
-
|
|
30
|
+
let defaultIsm = await mailbox.defaultIsm();
|
|
31
|
+
const matches = await (0, HyperlaneIsmFactory_1.moduleMatchesConfig)(chain, defaultIsm, config.defaultIsm, this.multiProvider, this.ismFactory.getContracts(chain));
|
|
32
|
+
if (!matches) {
|
|
33
|
+
this.logger('Deploying default ISM');
|
|
34
|
+
defaultIsm = await this.deployIsm(chain, config.defaultIsm);
|
|
35
|
+
}
|
|
30
36
|
const hookAddresses = { mailbox: mailbox.address, proxyAdmin };
|
|
37
|
+
this.logger('Deploying default hook');
|
|
31
38
|
const defaultHook = await this.deployHook(chain, config.defaultHook, hookAddresses);
|
|
39
|
+
this.logger('Deploying required hook');
|
|
32
40
|
const requiredHook = await this.deployHook(chain, config.requiredHook, hookAddresses);
|
|
33
41
|
// configure mailbox
|
|
34
42
|
try {
|
|
35
|
-
|
|
43
|
+
this.logger('Initializing mailbox');
|
|
44
|
+
await this.multiProvider.handleTx(chain, mailbox.initialize(config.owner, defaultIsm, defaultHook, requiredHook, this.multiProvider.getTransactionOverrides(chain)));
|
|
36
45
|
}
|
|
37
46
|
catch (e) {
|
|
38
47
|
if (!e.message.includes('already initialized')) {
|
|
39
48
|
throw e;
|
|
40
49
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
50
|
+
this.logger('Mailbox already initialized');
|
|
51
|
+
await this.configureHook(chain, mailbox, defaultHook, (_mailbox) => _mailbox.defaultHook(), (_mailbox, _hook) => _mailbox.populateTransaction.setDefaultHook(_hook));
|
|
52
|
+
await this.configureHook(chain, mailbox, requiredHook, (_mailbox) => _mailbox.requiredHook(), (_mailbox, _hook) => _mailbox.populateTransaction.setRequiredHook(_hook));
|
|
53
|
+
await this.configureIsm(chain, mailbox, defaultIsm, (_mailbox) => _mailbox.defaultIsm(), (_mailbox, _module) => _mailbox.populateTransaction.setDefaultIsm(_module));
|
|
44
54
|
}
|
|
45
55
|
return mailbox;
|
|
46
56
|
}
|
|
@@ -50,19 +60,12 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
50
60
|
}
|
|
51
61
|
async deployHook(chain, config, coreAddresses) {
|
|
52
62
|
const hooks = await this.hookDeployer.deployContracts(chain, config, coreAddresses);
|
|
53
|
-
this.addDeployedContracts(chain,
|
|
63
|
+
this.addDeployedContracts(chain, this.hookDeployer.deployedContracts[chain], this.hookDeployer.verificationInputs[chain]);
|
|
54
64
|
return hooks[config.type].address;
|
|
55
65
|
}
|
|
56
66
|
async deployIsm(chain, config) {
|
|
57
|
-
const key = 'defaultIsm';
|
|
58
|
-
if (this.cachedAddresses[chain][key]) {
|
|
59
|
-
this.addDeployedContracts(chain, {
|
|
60
|
-
[key]: core_1.IInterchainSecurityModule__factory.connect(this.cachedAddresses[chain][key], this.multiProvider.getSignerOrProvider(chain)),
|
|
61
|
-
});
|
|
62
|
-
return this.cachedAddresses[chain][key];
|
|
63
|
-
}
|
|
64
67
|
const ism = await this.ismFactory.deploy(chain, config);
|
|
65
|
-
this.addDeployedContracts(chain,
|
|
68
|
+
this.addDeployedContracts(chain, this.ismFactory.deployedIsms[chain]);
|
|
66
69
|
return ism.address;
|
|
67
70
|
}
|
|
68
71
|
async deployContracts(chain, config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,12 @@ const ethers_1 = require("ethers");
|
|
|
5
5
|
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
6
6
|
const chains_1 = require("../consts/chains");
|
|
7
7
|
const MultiProtocolProvider_1 = require("../providers/MultiProtocolProvider");
|
|
8
|
+
const ProviderType_1 = require("../providers/ProviderType");
|
|
8
9
|
const MultiProtocolCore_1 = require("./MultiProtocolCore");
|
|
9
10
|
const EvmCoreAdapter_1 = require("./adapters/EvmCoreAdapter");
|
|
10
11
|
describe('MultiProtocolCore', () => {
|
|
11
12
|
describe('constructs', () => {
|
|
12
|
-
it('with constructor',
|
|
13
|
+
it('with constructor', () => {
|
|
13
14
|
const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider({
|
|
14
15
|
ethereum: {
|
|
15
16
|
...chainMetadata_1.ethereum,
|
|
@@ -26,7 +27,7 @@ describe('MultiProtocolCore', () => {
|
|
|
26
27
|
const ethAdapter = core.adapter(chains_1.Chains.ethereum);
|
|
27
28
|
(0, chai_1.expect)(ethAdapter).to.be.instanceOf(EvmCoreAdapter_1.EvmCoreAdapter);
|
|
28
29
|
});
|
|
29
|
-
it('from environment',
|
|
30
|
+
it('from environment', () => {
|
|
30
31
|
const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider();
|
|
31
32
|
const core = MultiProtocolCore_1.MultiProtocolCore.fromEnvironment('mainnet', multiProvider);
|
|
32
33
|
(0, chai_1.expect)(core).to.be.instanceOf(MultiProtocolCore_1.MultiProtocolCore);
|
|
@@ -34,5 +35,55 @@ describe('MultiProtocolCore', () => {
|
|
|
34
35
|
(0, chai_1.expect)(ethAdapter).to.be.instanceOf(EvmCoreAdapter_1.EvmCoreAdapter);
|
|
35
36
|
});
|
|
36
37
|
});
|
|
38
|
+
describe('checks delivery', () => {
|
|
39
|
+
it('to EVM', async () => {
|
|
40
|
+
const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider();
|
|
41
|
+
const core = MultiProtocolCore_1.MultiProtocolCore.fromEnvironment('mainnet', multiProvider);
|
|
42
|
+
// https://arbiscan.io//tx/0x9da03376486327fc9b1e8069538e0fef91641055cb3a2ff89460c7955ab68264#eventlog
|
|
43
|
+
const receipt = {
|
|
44
|
+
transactionHash: '0x9da03376486327fc9b1e8069538e0fef91641055cb3a2ff89460c7955ab68264',
|
|
45
|
+
logs: [
|
|
46
|
+
{
|
|
47
|
+
data: '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005300000013670000a4b100000000000000000000000096271ca0ab9eefb3ca481749c0ca4c705fd4f523000000890000000000000000000000006c0ac8cea75232aa7bed8cbe9c4f820e7a77a9c348656c6c6f2100000000000000000000000000',
|
|
48
|
+
topics: [
|
|
49
|
+
'0x769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c814',
|
|
50
|
+
'0x00000000000000000000000096271ca0ab9eefb3ca481749c0ca4c705fd4f523',
|
|
51
|
+
'0x0000000000000000000000000000000000000000000000000000000000000089',
|
|
52
|
+
'0x0000000000000000000000006c0ac8cea75232aa7bed8cbe9c4f820e7a77a9c3',
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
// Should return immediately
|
|
58
|
+
await core.waitForMessagesProcessed(chains_1.Chains.arbitrum, chains_1.Chains.polygon, {
|
|
59
|
+
type: ProviderType_1.ProviderType.EthersV5,
|
|
60
|
+
receipt,
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
it('to Sealevel', async () => {
|
|
64
|
+
const multiProvider = new MultiProtocolProvider_1.MultiProtocolProvider();
|
|
65
|
+
const core = MultiProtocolCore_1.MultiProtocolCore.fromEnvironment('mainnet', multiProvider);
|
|
66
|
+
// https://arbiscan.io//tx/0x9da03376486327fc9b1e8069538e0fef91641055cb3a2ff89460c7955ab68264#eventlog
|
|
67
|
+
const receipt = {
|
|
68
|
+
transactionHash: '0x9da03376486327fc9b1e8069538e0fef91641055cb3a2ff89460c7955ab68264',
|
|
69
|
+
logs: [
|
|
70
|
+
{
|
|
71
|
+
data: '0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000053000000136d0000a4b100000000000000000000000096271ca0ab9eefb3ca481749c0ca4c705fd4f523536f6c4d3797d0096b18b5b645c346a66d7f18c6c5738782c6bce24da57a3462bdef82b148656c6c6f2100000000000000000000000000',
|
|
72
|
+
topics: [
|
|
73
|
+
'0x769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c814',
|
|
74
|
+
'0x00000000000000000000000096271ca0ab9eefb3ca481749c0ca4c705fd4f523',
|
|
75
|
+
'0x00000000000000000000000000000000000000000000000000000000536f6c4d',
|
|
76
|
+
'0x3797d0096b18b5b645c346a66d7f18c6c5738782c6bce24da57a3462bdef82b1',
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
// Should return immediately
|
|
82
|
+
await core.waitForMessagesProcessed(chains_1.Chains.arbitrum, chains_1.Chains.solana, {
|
|
83
|
+
type: ProviderType_1.ProviderType.EthersV5,
|
|
84
|
+
receipt,
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
});
|
|
37
88
|
});
|
|
38
89
|
//# sourceMappingURL=MultiProtocolCore.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolCore.test.js","sourceRoot":"","sources":["../../src/core/MultiProtocolCore.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mCAAgC;AAEhC,2DAAmD;AACnD,6CAA0C;AAC1C,8EAA2E;
|
|
1
|
+
{"version":3,"file":"MultiProtocolCore.test.js","sourceRoot":"","sources":["../../src/core/MultiProtocolCore.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { HyperlaneContracts } from '../contracts/types';
|
|
2
|
-
import {
|
|
3
|
-
import { ChainMap, ChainName } from '../types';
|
|
2
|
+
import { ChainMap } from '../types';
|
|
4
3
|
import { HyperlaneCoreDeployer } from './HyperlaneCoreDeployer';
|
|
5
4
|
import { TestCoreApp } from './TestCoreApp';
|
|
6
5
|
import { CoreFactories } from './contracts';
|
|
7
6
|
export declare class TestCoreDeployer extends HyperlaneCoreDeployer {
|
|
8
|
-
readonly multiProvider: MultiProvider;
|
|
9
|
-
constructor(multiProvider: MultiProvider);
|
|
10
|
-
deployIsm(chain: ChainName): Promise<string>;
|
|
11
7
|
deploy(): Promise<ChainMap<HyperlaneContracts<CoreFactories>>>;
|
|
12
8
|
deployApp(): Promise<TestCoreApp>;
|
|
13
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TestCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,qBAAa,gBAAiB,SAAQ,qBAAqB;IACnD,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IAI9D,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;CAGxC"}
|