@hyperlane-xyz/sdk 1.5.8 → 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/app/HyperlaneApp.d.ts +1 -1
- package/dist/app/HyperlaneApp.d.ts.map +1 -1
- package/dist/app/HyperlaneApp.js +1 -1
- package/dist/app/HyperlaneApp.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +8 -0
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +215 -3
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +14 -6
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +22 -6
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +1351 -297
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js +1 -2
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +826 -147
- package/dist/consts/environments/testnet.json +524 -167
- package/dist/consts/multisigIsm.d.ts +2 -2
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +128 -111
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/contracts/contracts.d.ts +1 -1
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +8 -2
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +65 -13
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +6 -2
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +16 -3
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +2 -2
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +7 -2
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +52 -29
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +1 -1
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js +2 -3
- package/dist/core/MultiProtocolCore.js.map +1 -1
- package/dist/core/MultiProtocolCore.test.js +2 -2
- package/dist/core/MultiProtocolCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +0 -1
- package/dist/core/TestCoreApp.d.ts.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/EvmCoreAdapter.d.ts +1 -1
- package/dist/core/adapters/EvmCoreAdapter.d.ts.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 +0 -1
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/adapters/types.d.ts +1 -1
- package/dist/core/adapters/types.d.ts.map +1 -1
- package/dist/core/contracts.d.ts +3 -9
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +0 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -3
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +3 -5
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +14 -7
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +90 -70
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +10 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +34 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -0
- package/dist/deploy/contracts.d.ts +13 -0
- package/dist/deploy/contracts.d.ts.map +1 -0
- package/dist/deploy/contracts.js +20 -0
- package/dist/deploy/contracts.js.map +1 -0
- 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 +2 -1
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +2 -2
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +5 -12
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +4 -6
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +13 -43
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/contracts.d.ts +2 -4
- package/dist/gas/contracts.d.ts.map +1 -1
- package/dist/gas/contracts.js +1 -3
- package/dist/gas/contracts.js.map +1 -1
- package/dist/gas/types.d.ts +2 -6
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +38 -10
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +135 -68
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +10 -18
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +9 -13
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +45 -12
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +11 -6
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +15 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -16
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +8 -5
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +6 -6
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +95 -75
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/contracts.d.ts +4 -3
- package/dist/ism/contracts.d.ts.map +1 -1
- package/dist/ism/contracts.js +3 -2
- package/dist/ism/contracts.js.map +1 -1
- package/dist/ism/types.d.ts +27 -8
- 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/ChainMetadataManager.d.ts +0 -10
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +2 -14
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +615 -1440
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +61 -94
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.js +9 -9
- package/dist/metadata/agentConfig.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +1 -1
- package/dist/metadata/chainMetadataTypes.js +4 -4
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.d.ts +5 -2
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
- package/dist/metadata/deploymentArtifacts.js +1 -0
- package/dist/metadata/deploymentArtifacts.js.map +1 -1
- package/dist/metadata/matchingList.d.ts +13 -13
- package/dist/metadata/matchingList.d.ts.map +1 -1
- package/dist/metadata/matchingList.js +2 -6
- package/dist/metadata/matchingList.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -7
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +4 -9
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +8 -6
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -7
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +7 -11
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +7 -7
- 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/InterchainQueryDeployer.d.ts +2 -7
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +3 -4
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +8 -9
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +7 -2
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +12 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +1 -1
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +6 -6
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +15 -18
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/ProxiedRouterChecker.js +1 -1
- package/dist/router/ProxiedRouterChecker.js.map +1 -1
- package/dist/router/types.d.ts +14 -12
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +7 -7
- package/dist/router/types.js.map +1 -1
- package/dist/test/testUtils.d.ts +1 -3
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +18 -45
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +65 -0
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.js +119 -0
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -0
- package/dist/token/adapters/ITokenAdapter.d.ts +30 -0
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/ITokenAdapter.js +3 -0
- package/dist/token/adapters/ITokenAdapter.js.map +1 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +117 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/SealevelTokenAdapter.js +435 -0
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -0
- package/dist/token/adapters/serialization.d.ts +50 -0
- package/dist/token/adapters/serialization.d.ts.map +1 -0
- package/dist/token/adapters/serialization.js +117 -0
- package/dist/token/adapters/serialization.js.map +1 -0
- package/dist/token/config.d.ts +48 -0
- package/dist/token/config.d.ts.map +1 -0
- package/dist/token/config.js +34 -0
- package/dist/token/config.js.map +1 -0
- package/dist/token/contracts.d.ts +9 -0
- package/dist/token/contracts.d.ts.map +1 -0
- package/dist/token/contracts.js +3 -0
- package/dist/token/contracts.js.map +1 -0
- package/dist/token/deploy.d.ts +40 -0
- package/dist/token/deploy.d.ts.map +1 -0
- package/dist/token/deploy.js +262 -0
- package/dist/token/deploy.js.map +1 -0
- package/package.json +9 -7
- package/dist/consts/agentStartBlocks.d.ts +0 -3
- package/dist/consts/agentStartBlocks.d.ts.map +0 -1
- package/dist/consts/agentStartBlocks.js +0 -28
- package/dist/consts/agentStartBlocks.js.map +0 -1
- package/dist/consts/environments/test.json +0 -41
- package/dist/hook/config.d.ts +0 -4
- package/dist/hook/config.d.ts.map +0 -1
- package/dist/hook/config.js +0 -9
- package/dist/hook/config.js.map +0 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts +0 -11
- package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +0 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.js +0 -39
- package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +0 -1
|
@@ -7,6 +7,8 @@ const hardhat_1 = require("hardhat");
|
|
|
7
7
|
const core_1 = require("@hyperlane-xyz/core");
|
|
8
8
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
9
9
|
const chains_1 = require("../consts/chains");
|
|
10
|
+
const HyperlaneProxyFactoryDeployer_1 = require("../deploy/HyperlaneProxyFactoryDeployer");
|
|
11
|
+
const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
|
|
10
12
|
const MultiProvider_1 = require("../providers/MultiProvider");
|
|
11
13
|
const TestCoreDeployer_1 = require("./TestCoreDeployer");
|
|
12
14
|
const localChain = chains_1.Chains.test1;
|
|
@@ -17,15 +19,18 @@ describe('TestCoreDeployer', async () => {
|
|
|
17
19
|
beforeEach(async () => {
|
|
18
20
|
const [signer] = await hardhat_1.ethers.getSigners();
|
|
19
21
|
const multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
|
|
20
|
-
const
|
|
22
|
+
const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer_1.HyperlaneProxyFactoryDeployer(multiProvider);
|
|
23
|
+
const ismFactory = new HyperlaneIsmFactory_1.HyperlaneIsmFactory(await ismFactoryDeployer.deploy(multiProvider.mapKnownChains(() => ({}))), multiProvider);
|
|
24
|
+
const deployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider, ismFactory);
|
|
21
25
|
testCoreApp = await deployer.deployApp();
|
|
22
26
|
const recipient = await new core_1.TestRecipient__factory(signer).deploy();
|
|
23
27
|
localMailbox = testCoreApp.getContracts(localChain).mailbox;
|
|
24
|
-
const
|
|
28
|
+
const interchainGasPayment = await localMailbox['quoteDispatch(uint32,bytes32,bytes)'](multiProvider.getDomainId(remoteChain), (0, utils_1.addressToBytes32)(recipient.address), message);
|
|
29
|
+
const dispatchResponse = localMailbox['dispatch(uint32,bytes32,bytes)'](multiProvider.getDomainId(remoteChain), (0, utils_1.addressToBytes32)(recipient.address), message, { value: interchainGasPayment });
|
|
25
30
|
await (0, chai_1.expect)(dispatchResponse).to.emit(localMailbox, 'Dispatch');
|
|
26
31
|
dispatchReceipt = await testCoreApp.multiProvider.handleTx(localChain, dispatchResponse);
|
|
27
32
|
remoteMailbox = testCoreApp.getContracts(remoteChain).mailbox;
|
|
28
|
-
await (0, chai_1.expect)(remoteMailbox
|
|
33
|
+
await (0, chai_1.expect)(remoteMailbox['dispatch(uint32,bytes32,bytes)'](multiProvider.getDomainId(localChain), (0, utils_1.addressToBytes32)(recipient.address), message, { value: interchainGasPayment })).to.emit(remoteMailbox, 'Dispatch');
|
|
29
34
|
});
|
|
30
35
|
it('processes outbound messages for a single domain', async () => {
|
|
31
36
|
const responses = await 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,gDAAwD;AAExD,6CAA0C;AAC1C,8DAA2D;AAG3D,yDAAsD;AAEtD,MAAM,UAAU,GAAG,eAAM,CAAC,KAAK,CAAC;AAChC,MAAM,WAAW,GAAG,eAAM,CAAC,KAAK,CAAC;AACjC,MAAM,OAAO,GAAG,YAAY,CAAC;AAE7B,QAAQ,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IACtC,IAAI,WAAwB,EAC1B,YAAyB,EACzB,aAA0B,EAC1B,eAAgC,CAAC;IAEnC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,gBAAM,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,aAAa,GAAG,6BAAa,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"testHyperlaneDeploy.hardhat-test.js","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -2,10 +2,13 @@ import type { Mailbox } from '@hyperlane-xyz/core';
|
|
|
2
2
|
import type { Address, ParsedMessage } from '@hyperlane-xyz/utils';
|
|
3
3
|
import type { UpgradeConfig } from '../deploy/proxy';
|
|
4
4
|
import type { CheckerViolation } from '../deploy/types';
|
|
5
|
+
import { HookConfig } from '../hook/types';
|
|
5
6
|
import type { IsmConfig } from '../ism/types';
|
|
6
7
|
import type { ChainName } from '../types';
|
|
7
8
|
export type CoreConfig = {
|
|
8
9
|
defaultIsm: IsmConfig;
|
|
10
|
+
defaultHook: HookConfig;
|
|
11
|
+
requiredHook: HookConfig;
|
|
9
12
|
owner: Address;
|
|
10
13
|
remove?: boolean;
|
|
11
14
|
upgrade?: UpgradeConfig;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,oBAAoB;IAC9B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,oBAAoB;IAC9B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC"}
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":";;;AAkBA,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;AACzC,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;AAC3B,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA+B,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,OAAO,EAMR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAuB,MAAM,SAAS,CAAC;AAC7D,OAAO,EAGL,gBAAgB,EAKjB,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;IAsB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BtD,YAAY,CAChB,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC;IAkDhB,OAAO,CAAC,sBAAsB;IAOxB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAAE,EAChC,yBAAyB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAiB,GACjE,OAAO,CAAC,IAAI,CAAC;IAiBV,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;cAKrD,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,OAAO,EACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;IAmBhB,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;IAKnB,kBAAkB,IAAI,IAAI;CAmB3B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HyperlaneAppChecker = void 0;
|
|
4
4
|
const utils_1 = require("ethers/lib/utils");
|
|
5
|
+
const core_1 = require("@hyperlane-xyz/core");
|
|
5
6
|
const utils_2 = require("@hyperlane-xyz/utils");
|
|
6
7
|
const contracts_1 = require("../contracts/contracts");
|
|
7
8
|
const proxy_1 = require("./proxy");
|
|
@@ -54,11 +55,8 @@ class HyperlaneAppChecker {
|
|
|
54
55
|
}));
|
|
55
56
|
}
|
|
56
57
|
async checkUpgrade(chain, upgradeConfig) {
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
if (!timelockController) {
|
|
60
|
-
throw new Error(`Checking upgrade config for ${chain} with no timelock provided`);
|
|
61
|
-
}
|
|
58
|
+
const proxyOwner = await this.app.getContracts(chain).proxyAdmin.owner();
|
|
59
|
+
const timelockController = core_1.TimelockController__factory.connect(proxyOwner, this.multiProvider.getProvider(chain));
|
|
62
60
|
const minDelay = (await timelockController.getMinDelay()).toNumber();
|
|
63
61
|
if (minDelay !== upgradeConfig.timelock.delay) {
|
|
64
62
|
const violation = {
|
|
@@ -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":";;;AAAA,4CAA6C;AAE7C,8CAA2E;AAC3E,gDAO8B;AAG9B,sDAAgE;AAIhE,mCAA6D;AAC7D,mCAQiB;AAEjB,MAAsB,mBAAmB;IASvC,YACE,aAA4B,EAC5B,GAAQ,EACR,SAA2B;QAE3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAID,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;aACxB,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ;YACjD,oBAAY,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAChE;aACA,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE,CACzB,IAAI,CAAC,YAAY,CAAC;YAChB,IAAI,EAAE,qBAAa,CAAC,WAAW;YAC/B,KAAK;YACL,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC;QAEJ,OAAO,OAAO,CAAC,GAAG;QAChB,kFAAkF;QAClF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,SAA2B;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,KAAgB;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QACtE,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CACb,kCAAkC,KAAK,yBAAyB,CACjE,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,IAAA,qBAAa,EACjB,IAAA,cAAM,EAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACzC,IAAI,MAAM,IAAA,eAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC7C,wDAAwD;gBACxD,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAU,EAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAA,iBAAS,EAAC,WAAW,EAAE,aAAa,CAAC,EAAE;oBAC1C,IAAI,CAAC,YAAY,CAAC;wBAChB,IAAI,EAAE,qBAAa,CAAC,UAAU;wBAC9B,KAAK;wBACL,IAAI;wBACJ,QAAQ,EAAE,aAAa;wBACvB,MAAM,EAAE,WAAW;qBACG,CAAC,CAAC;iBAC3B;aACF;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAgB,EAChB,aAA4B;QAE5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzE,MAAM,kBAAkB,GAAG,kCAA2B,CAAC,OAAO,CAC5D,UAAU,EACV,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CACtC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAErE,IAAI,QAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC7C,MAAM,SAAS,GAAgC;gBAC7C,IAAI,EAAE,qBAAa,CAAC,kBAAkB;gBACtC,KAAK;gBACL,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK;gBACtC,QAAQ,EAAE,kBAAkB;aAC7B,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SAC9B;QAED,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,MAAM,kBAAkB,CAAC,aAAa,EAAE;YAClD,QAAQ,EAAE,MAAM,kBAAkB,CAAC,aAAa,EAAE;YAClD,SAAS,EAAE,MAAM,kBAAkB,CAAC,cAAc,EAAE;YACpD,KAAK,EAAE,MAAM,kBAAkB,CAAC,mBAAmB,EAAE;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,IAAA,qBAAa,EACxC,IAAA,cAAM,EAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YACjE,OAAO;SACR,CAAC,CAAC,CACJ,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACzE,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,SAAS,GAA2B;oBACxC,IAAI,EAAE,qBAAa,CAAC,aAAa;oBACjC,KAAK;oBACL,OAAO;oBACP,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI;iBACL,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;SACF;IACH,CAAC;IAEO,sBAAsB,CAAC,QAAgB;QAC7C,uGAAuG;QACvG,qCAAqC;QACrC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,uOAAuO;IACvO,KAAK,CAAC,aAAa,CACjB,KAAgB,EAChB,IAAY,EACZ,OAAe,EACf,sBAAgC,EAChC,4BAA0D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAA,iBAAS,EAC5B,yBAAyB,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CACjE,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YAClD,IAAI,CAAC,YAAY,CAAC;gBAChB,IAAI,EAAE,qBAAa,CAAC,gBAAgB;gBACpC,KAAK;gBACL,QAAQ,EAAE,sBAAsB;gBAChC,MAAM,EAAE,YAAY;gBACpB,IAAI;aACwB,CAAC,CAAC;SACjC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAgB;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAA,kCAAsB,EAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,KAAgB,EAChB,KAAc,EACd,gBAA0C;QAE1C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YAC/D,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,IAAA,iBAAS,EAAC,MAAM,EAAE,aAAa,CAAC,EAAE;gBACrC,MAAM,SAAS,GAAmB;oBAChC,KAAK;oBACL,IAAI;oBACJ,IAAI,EAAE,qBAAa,CAAC,KAAK;oBACzB,MAAM;oBACN,QAAQ,EAAE,aAAa;oBACvB,QAAQ;iBACT,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;SACF;IACH,CAAC;IAED,gBAAgB,CAAC,eAAuC;QACtD,iEAAiE;QACjE,IAAA,cAAM,EAAC,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;YACrE,IAAA,cAAM,EACJ,MAAM,IAAI,KAAK,EACf,YAAY,KAAK,IAAI,IAAI,oBAAoB,MAAM,EAAE,CACtD,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAA,cAAM,EAAC,KAAK,EAAE,yBAAyB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACrC,IAAA,cAAM,EAAC,KAAK,KAAK,CAAC,EAAE,SAAS,KAAK,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;gBACxB,OAAO;gBACP,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,SAAS;gBACT,QAAQ;gBACR,UAAU;gBACV,aAAa;aACd,CAAC,CAAC;SACJ;aAAM;YACL,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,8BAA8B,CAAC,CAAC;SACvD;IACH,CAAC;CACF;AApOD,kDAoOC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Debugger } from 'debug';
|
|
2
|
-
import { Contract, ethers } from 'ethers';
|
|
3
|
-
import {
|
|
2
|
+
import { Contract, PopulatedTransaction, ethers } from 'ethers';
|
|
3
|
+
import { MailboxClient, Ownable, ProxyAdmin, TimelockController, TransparentUpgradeableProxy } from '@hyperlane-xyz/core';
|
|
4
4
|
import { Address } from '@hyperlane-xyz/utils';
|
|
5
5
|
import { HyperlaneAddressesMap, HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types';
|
|
6
6
|
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory';
|
|
7
|
+
import { IsmConfig } from '../ism/types';
|
|
7
8
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
8
|
-
import {
|
|
9
|
+
import { MailboxClientConfig } from '../router/types';
|
|
9
10
|
import { ChainMap, ChainName } from '../types';
|
|
10
11
|
import { UpgradeConfig } from './proxy';
|
|
11
12
|
import { ContractVerificationInput } from './verify/types';
|
|
@@ -18,29 +19,35 @@ export declare abstract class HyperlaneDeployer<Config, Factories extends Hyperl
|
|
|
18
19
|
protected readonly multiProvider: MultiProvider;
|
|
19
20
|
protected readonly factories: Factories;
|
|
20
21
|
protected readonly options?: DeployerOptions | undefined;
|
|
22
|
+
protected readonly recoverVerificationInputs: boolean;
|
|
21
23
|
verificationInputs: ChainMap<ContractVerificationInput[]>;
|
|
22
24
|
cachedAddresses: HyperlaneAddressesMap<any>;
|
|
23
25
|
deployedContracts: HyperlaneContractsMap<Factories>;
|
|
24
26
|
startingBlockNumbers: ChainMap<number | undefined>;
|
|
25
27
|
protected logger: Debugger;
|
|
26
28
|
protected chainTimeoutMs: number;
|
|
27
|
-
constructor(multiProvider: MultiProvider, factories: Factories, options?: DeployerOptions | undefined);
|
|
29
|
+
constructor(multiProvider: MultiProvider, factories: Factories, options?: DeployerOptions | undefined, recoverVerificationInputs?: boolean);
|
|
28
30
|
cacheAddressesMap(addressesMap: HyperlaneAddressesMap<any>): void;
|
|
29
31
|
checkConfig(_: ChainMap<Config>): Promise<void>;
|
|
30
32
|
abstract deployContracts(chain: ChainName, config: Config): Promise<HyperlaneContracts<Factories>>;
|
|
31
33
|
deploy(configMap: ChainMap<Config>): Promise<HyperlaneContractsMap<Factories>>;
|
|
34
|
+
protected addDeployedContracts(chain: ChainName, contracts: HyperlaneContracts<any>, verificationInputs?: ContractVerificationInput[]): void;
|
|
35
|
+
protected addVerificationArtifacts(chain: ChainName, artifacts: ContractVerificationInput[]): void;
|
|
32
36
|
protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>, label?: string): Promise<T | undefined>;
|
|
33
37
|
protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
|
|
34
38
|
protected runIfAdmin<T>(chain: ChainName, proxy: Contract, signerAdminFn: () => Promise<T>, proxyAdminOwnerFn: (proxyAdmin: ProxyAdmin) => Promise<T>): Promise<T | undefined>;
|
|
35
|
-
protected
|
|
39
|
+
protected configureIsm<C extends Ownable>(chain: ChainName, contract: C, config: IsmConfig, getIsm: (contract: C) => Promise<Address>, setIsm: (contract: C, ism: Address) => Promise<PopulatedTransaction>): Promise<void>;
|
|
40
|
+
protected configureHook<C extends Ownable>(chain: ChainName, contract: C, targetHook: Address, getHook: (contract: C) => Promise<Address>, setHook: (contract: C, hook: Address) => Promise<PopulatedTransaction>): Promise<void>;
|
|
41
|
+
protected initMailboxClient(local: ChainName, client: MailboxClient, config: MailboxClientConfig): Promise<void>;
|
|
36
42
|
protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<F['deploy']>>['initialize']>): Promise<ReturnType<F['deploy']>>;
|
|
37
43
|
deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>): Promise<HyperlaneContracts<Factories>[K]>;
|
|
38
44
|
protected changeAdmin(chain: ChainName, proxy: TransparentUpgradeableProxy, admin: string): Promise<void>;
|
|
39
45
|
protected upgradeAndInitialize<C extends ethers.Contract>(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation: C, initializeArgs: Parameters<C['initialize']>): Promise<void>;
|
|
40
46
|
protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, proxyAdmin: string, initializeArgs?: Parameters<C['initialize']>): Promise<C>;
|
|
41
47
|
deployTimelock(chain: ChainName, timelockConfig: UpgradeConfig['timelock']): Promise<TimelockController>;
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
writeCache<K extends keyof Factories>(chain: ChainName, contractName: K, address: Address): void;
|
|
49
|
+
readCache<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string): Awaited<ReturnType<F['deploy']>> | undefined;
|
|
50
|
+
recoverVerificationArtifacts<C extends ethers.Contract>(chain: ChainName, contractName: string, cachedContract: C, constructorArgs: Parameters<C['deploy']>, initializeArgs?: Parameters<C['initialize']>): Promise<ContractVerificationInput[]>;
|
|
44
51
|
/**
|
|
45
52
|
* Deploys the Implementation and Proxy for a given contract
|
|
46
53
|
*
|
|
@@ -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,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,11 @@ const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
|
|
|
9
9
|
const proxy_1 = require("./proxy");
|
|
10
10
|
const utils_2 = require("./verify/utils");
|
|
11
11
|
class HyperlaneDeployer {
|
|
12
|
-
constructor(multiProvider, factories, options) {
|
|
12
|
+
constructor(multiProvider, factories, options, recoverVerificationInputs = false) {
|
|
13
13
|
this.multiProvider = multiProvider;
|
|
14
14
|
this.factories = factories;
|
|
15
15
|
this.options = options;
|
|
16
|
+
this.recoverVerificationInputs = recoverVerificationInputs;
|
|
16
17
|
this.verificationInputs = {};
|
|
17
18
|
this.cachedAddresses = {};
|
|
18
19
|
this.deployedContracts = {};
|
|
@@ -41,11 +42,27 @@ class HyperlaneDeployer {
|
|
|
41
42
|
.getProvider(chain)
|
|
42
43
|
.getBlockNumber();
|
|
43
44
|
await (0, utils_1.runWithTimeout)(this.chainTimeoutMs, async () => {
|
|
44
|
-
|
|
45
|
+
const contracts = await this.deployContracts(chain, configMap[chain]);
|
|
46
|
+
this.addDeployedContracts(chain, contracts);
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
49
|
return this.deployedContracts;
|
|
48
50
|
}
|
|
51
|
+
addDeployedContracts(chain, contracts, verificationInputs) {
|
|
52
|
+
this.deployedContracts[chain] = {
|
|
53
|
+
...this.deployedContracts[chain],
|
|
54
|
+
...contracts,
|
|
55
|
+
};
|
|
56
|
+
if (verificationInputs)
|
|
57
|
+
this.addVerificationArtifacts(chain, verificationInputs);
|
|
58
|
+
}
|
|
59
|
+
addVerificationArtifacts(chain, artifacts) {
|
|
60
|
+
this.verificationInputs[chain] = this.verificationInputs[chain] || [];
|
|
61
|
+
artifacts.forEach((artifact) => {
|
|
62
|
+
this.verificationInputs[chain].push(artifact);
|
|
63
|
+
});
|
|
64
|
+
// TODO: deduplicate
|
|
65
|
+
}
|
|
49
66
|
async runIf(chain, address, fn, label = 'address') {
|
|
50
67
|
const signer = await this.multiProvider.getSignerAddress(chain);
|
|
51
68
|
if ((0, utils_1.eqAddress)(address, signer)) {
|
|
@@ -74,78 +91,70 @@ class HyperlaneDeployer {
|
|
|
74
91
|
return this.runIf(chain, admin, () => signerAdminFn(), 'admin');
|
|
75
92
|
}
|
|
76
93
|
}
|
|
77
|
-
async
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
let currentIsm = await connectionClient.interchainSecurityModule();
|
|
93
|
-
// in case the above returns zero address, fetch the defaultISM from the mailbox
|
|
94
|
-
if (currentIsm === ethers_1.ethers.constants.AddressZero) {
|
|
95
|
-
const mailbox = core_1.Mailbox__factory.connect(config.mailbox, connectionClient.signer);
|
|
96
|
-
currentIsm = await mailbox.defaultIsm();
|
|
97
|
-
}
|
|
98
|
-
if (config.interchainSecurityModule) {
|
|
99
|
-
// set interchain security module if not already set (and configured)
|
|
100
|
-
let configuredIsm;
|
|
101
|
-
if (typeof config.interchainSecurityModule === 'string') {
|
|
102
|
-
configuredIsm = config.interchainSecurityModule;
|
|
103
|
-
}
|
|
104
|
-
else if (this.options?.ismFactory) {
|
|
105
|
-
const matches = await (0, HyperlaneIsmFactory_1.moduleMatchesConfig)(local, currentIsm, config.interchainSecurityModule, this.multiProvider, this.options.ismFactory.chainMap[local]);
|
|
106
|
-
if (matches) {
|
|
107
|
-
// when the ISM recursively matches the IsmConfig, we don't need to deploy a new ISM
|
|
108
|
-
this.logger(`ISM matches config for chain ${local}, skipping deploy`);
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
const ism = await this.options.ismFactory.deploy(local, config.interchainSecurityModule);
|
|
112
|
-
configuredIsm = ism.address;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
throw new Error('No ISM factory provided');
|
|
94
|
+
async configureIsm(chain, contract, config, getIsm, setIsm) {
|
|
95
|
+
if (this.options?.ismFactory === undefined) {
|
|
96
|
+
throw new Error('No ISM factory provided');
|
|
97
|
+
}
|
|
98
|
+
const ismFactory = this.options.ismFactory;
|
|
99
|
+
const configuredIsm = await getIsm(contract);
|
|
100
|
+
const matches = await (0, HyperlaneIsmFactory_1.moduleMatchesConfig)(chain, configuredIsm, config, this.multiProvider, ismFactory.getContracts(chain));
|
|
101
|
+
if (!matches) {
|
|
102
|
+
await this.runIfOwner(chain, contract, async () => {
|
|
103
|
+
const targetIsm = await ismFactory.deploy(chain, config);
|
|
104
|
+
this.logger(`Set ISM on ${chain}`);
|
|
105
|
+
await this.multiProvider.sendTransaction(chain, setIsm(contract, targetIsm.address));
|
|
106
|
+
if (targetIsm.address !== (await getIsm(contract))) {
|
|
107
|
+
throw new Error(`Set ISM failed on ${chain}`);
|
|
116
108
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async configureHook(chain, contract, targetHook, getHook, setHook) {
|
|
113
|
+
const configuredHook = await getHook(contract);
|
|
114
|
+
if (!(0, utils_1.eqAddress)(targetHook, configuredHook)) {
|
|
115
|
+
await this.runIfOwner(chain, contract, async () => {
|
|
116
|
+
this.logger(`Set hook on ${chain} to ${targetHook}, currently is ${configuredHook}`);
|
|
117
|
+
await this.multiProvider.sendTransaction(chain, setHook(contract, targetHook));
|
|
118
|
+
const actualHook = await getHook(contract);
|
|
119
|
+
if (!(0, utils_1.eqAddress)(targetHook, actualHook)) {
|
|
120
|
+
throw new Error(`Set hook failed on ${chain}, wanted ${targetHook}, got ${actualHook}`);
|
|
120
121
|
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async initMailboxClient(local, client, config) {
|
|
126
|
+
this.logger(`Initializing mailbox client (if not already) on ${local}...`);
|
|
127
|
+
if (config.hook) {
|
|
128
|
+
await this.configureHook(local, client, config.hook, (_client) => _client.hook(), (_client, _hook) => _client.populateTransaction.setHook(_hook));
|
|
129
|
+
}
|
|
130
|
+
if (config.interchainSecurityModule) {
|
|
131
|
+
await this.configureIsm(local, client, config.interchainSecurityModule, (_client) => _client.interchainSecurityModule(), (_client, _module) => _client.populateTransaction.setInterchainSecurityModule(_module));
|
|
132
|
+
}
|
|
123
133
|
this.logger(`Connection client on ${local} initialized...`);
|
|
124
134
|
}
|
|
125
135
|
async deployContractFromFactory(chain, factory, contractName, constructorArgs, initializeArgs) {
|
|
126
136
|
const cachedContract = this.readCache(chain, factory, contractName);
|
|
127
137
|
if (cachedContract) {
|
|
138
|
+
if (this.recoverVerificationInputs) {
|
|
139
|
+
const recoveredInputs = await this.recoverVerificationArtifacts(chain, contractName, cachedContract, constructorArgs, initializeArgs);
|
|
140
|
+
this.addVerificationArtifacts(chain, recoveredInputs);
|
|
141
|
+
}
|
|
128
142
|
return cachedContract;
|
|
129
143
|
}
|
|
130
|
-
const signer = this.multiProvider.getSigner(chain);
|
|
131
|
-
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
132
144
|
this.logger(`Deploy ${contractName} on ${chain}`);
|
|
133
|
-
const contract = await factory
|
|
134
|
-
.connect(signer)
|
|
135
|
-
.deploy(...constructorArgs, overrides);
|
|
136
|
-
await this.multiProvider.handleTx(chain, contract.deployTransaction);
|
|
145
|
+
const contract = await this.multiProvider.handleDeploy(chain, factory, constructorArgs);
|
|
137
146
|
if (initializeArgs) {
|
|
138
147
|
this.logger(`Initialize ${contractName} on ${chain}`);
|
|
148
|
+
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
139
149
|
const initTx = await contract.initialize(...initializeArgs, overrides);
|
|
140
150
|
await this.multiProvider.handleTx(chain, initTx);
|
|
141
151
|
}
|
|
142
152
|
const verificationInput = (0, utils_2.getContractVerificationInput)(contractName, contract, factory.bytecode);
|
|
143
|
-
this.
|
|
144
|
-
this.verificationInputs[chain].push(verificationInput);
|
|
153
|
+
this.addVerificationArtifacts(chain, [verificationInput]);
|
|
145
154
|
return contract;
|
|
146
155
|
}
|
|
147
156
|
async deployContract(chain, contractName, constructorArgs, initializeArgs) {
|
|
148
|
-
const contract =
|
|
157
|
+
const contract = await this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), constructorArgs, initializeArgs);
|
|
149
158
|
this.writeCache(chain, contractName, contract.address);
|
|
150
159
|
return contract;
|
|
151
160
|
}
|
|
@@ -171,20 +180,17 @@ class HyperlaneDeployer {
|
|
|
171
180
|
await this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.upgradeToAndCall(implementation.address, initData, overrides)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides)));
|
|
172
181
|
}
|
|
173
182
|
async deployProxy(chain, implementation, proxyAdmin, initializeArgs) {
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
proxyAdmin,
|
|
181
|
-
initData,
|
|
182
|
-
];
|
|
183
|
+
const isProxied = await (0, proxy_1.isProxy)(this.multiProvider.getProvider(chain), implementation.address);
|
|
184
|
+
if (isProxied) {
|
|
185
|
+
// if the implementation is already a proxy, do not deploy a new proxy
|
|
186
|
+
return implementation;
|
|
187
|
+
}
|
|
188
|
+
const constructorArgs = (0, proxy_1.proxyConstructorArgs)(implementation, proxyAdmin, initializeArgs);
|
|
183
189
|
const proxy = await this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs);
|
|
184
190
|
return implementation.attach(proxy.address);
|
|
185
191
|
}
|
|
186
192
|
async deployTimelock(chain, timelockConfig) {
|
|
187
|
-
|
|
193
|
+
return this.multiProvider.handleDeploy(chain, new core_1.TimelockController__factory(),
|
|
188
194
|
// delay, [proposers], [executors], admin
|
|
189
195
|
[
|
|
190
196
|
timelockConfig.delay,
|
|
@@ -192,7 +198,6 @@ class HyperlaneDeployer {
|
|
|
192
198
|
[timelockConfig.roles.executor],
|
|
193
199
|
ethers_1.ethers.constants.AddressZero,
|
|
194
200
|
]);
|
|
195
|
-
return timelock;
|
|
196
201
|
}
|
|
197
202
|
writeCache(chain, contractName, address) {
|
|
198
203
|
if (!this.cachedAddresses[chain]) {
|
|
@@ -213,15 +218,30 @@ class HyperlaneDeployer {
|
|
|
213
218
|
}
|
|
214
219
|
return undefined;
|
|
215
220
|
}
|
|
221
|
+
async recoverVerificationArtifacts(chain, contractName, cachedContract, constructorArgs, initializeArgs) {
|
|
222
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
223
|
+
const isProxied = await (0, proxy_1.isProxy)(provider, cachedContract.address);
|
|
224
|
+
let implementation;
|
|
225
|
+
if (isProxied) {
|
|
226
|
+
implementation = await (0, proxy_1.proxyImplementation)(provider, cachedContract.address);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
implementation = cachedContract.address;
|
|
230
|
+
}
|
|
231
|
+
const implementationInput = (0, utils_2.buildVerificationInput)(contractName, implementation, cachedContract.interface.encodeDeploy(constructorArgs));
|
|
232
|
+
if (!isProxied) {
|
|
233
|
+
return [implementationInput];
|
|
234
|
+
}
|
|
235
|
+
const admin = await (0, proxy_1.proxyAdmin)(provider, cachedContract.address);
|
|
236
|
+
const proxyArgs = (0, proxy_1.proxyConstructorArgs)(cachedContract.attach(implementation), admin, initializeArgs);
|
|
237
|
+
const proxyInput = (0, utils_2.buildVerificationInput)('TransparentUpgradeableProxy', cachedContract.address, core_1.TransparentUpgradeableProxy__factory.createInterface().encodeDeploy(proxyArgs));
|
|
238
|
+
return [implementationInput, proxyInput];
|
|
239
|
+
}
|
|
216
240
|
/**
|
|
217
241
|
* Deploys the Implementation and Proxy for a given contract
|
|
218
242
|
*
|
|
219
243
|
*/
|
|
220
244
|
async deployProxiedContract(chain, contractName, proxyAdmin, constructorArgs, initializeArgs) {
|
|
221
|
-
const cachedContract = this.readCache(chain, this.factories[contractName], contractName.toString());
|
|
222
|
-
if (cachedContract) {
|
|
223
|
-
return cachedContract;
|
|
224
|
-
}
|
|
225
245
|
// Try to initialize the implementation even though it may not be necessary
|
|
226
246
|
const implementation = await this.deployContract(chain, contractName, constructorArgs, initializeArgs);
|
|
227
247
|
// Initialize the proxy the same way
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HyperlaneContracts } from '../contracts/types';
|
|
2
|
+
import { MultiProvider } from '../providers/MultiProvider';
|
|
3
|
+
import { ChainName } from '../types';
|
|
4
|
+
import { HyperlaneDeployer } from './HyperlaneDeployer';
|
|
5
|
+
import { ProxyFactoryFactories } from './contracts';
|
|
6
|
+
export declare class HyperlaneProxyFactoryDeployer extends HyperlaneDeployer<any, ProxyFactoryFactories> {
|
|
7
|
+
constructor(multiProvider: MultiProvider);
|
|
8
|
+
deployContracts(chain: ChainName): Promise<HyperlaneContracts<ProxyFactoryFactories>>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=HyperlaneProxyFactoryDeployer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperlaneProxyFactoryDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneProxyFactoryDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,qBAAqB,EAGtB,MAAM,aAAa,CAAC;AAErB,qBAAa,6BAA8B,SAAQ,iBAAiB,CAClE,GAAG,EACH,qBAAqB,CACtB;gBACa,aAAa,EAAE,aAAa;IAMlC,eAAe,CACnB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;CAkBtD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.HyperlaneProxyFactoryDeployer = void 0;
|
|
7
|
+
const debug_1 = __importDefault(require("debug"));
|
|
8
|
+
const HyperlaneDeployer_1 = require("./HyperlaneDeployer");
|
|
9
|
+
const contracts_1 = require("./contracts");
|
|
10
|
+
class HyperlaneProxyFactoryDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
11
|
+
constructor(multiProvider) {
|
|
12
|
+
super(multiProvider, contracts_1.proxyFactoryFactories, {
|
|
13
|
+
logger: (0, debug_1.default)('hyperlane:IsmFactoryDeployer'),
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async deployContracts(chain) {
|
|
17
|
+
const contracts = {};
|
|
18
|
+
for (const factoryName of Object.keys(this.factories)) {
|
|
19
|
+
const factory = await this.deployContract(chain, factoryName, []);
|
|
20
|
+
this.addVerificationArtifacts(chain, [
|
|
21
|
+
{
|
|
22
|
+
name: contracts_1.proxyFactoryImplementations[factoryName],
|
|
23
|
+
address: await factory.implementation(),
|
|
24
|
+
constructorArguments: '',
|
|
25
|
+
isProxy: true,
|
|
26
|
+
},
|
|
27
|
+
]);
|
|
28
|
+
contracts[factoryName] = factory;
|
|
29
|
+
}
|
|
30
|
+
return contracts;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.HyperlaneProxyFactoryDeployer = HyperlaneProxyFactoryDeployer;
|
|
34
|
+
//# sourceMappingURL=HyperlaneProxyFactoryDeployer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperlaneProxyFactoryDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneProxyFactoryDeployer.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAM1B,2DAAwD;AACxD,2CAIqB;AAErB,MAAa,6BAA8B,SAAQ,qCAGlD;IACC,YAAY,aAA4B;QACtC,KAAK,CAAC,aAAa,EAAE,iCAAqB,EAAE;YAC1C,MAAM,EAAE,IAAA,eAAK,EAAC,8BAA8B,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAgB;QAEhB,MAAM,SAAS,GAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CACnC,IAAI,CAAC,SAAS,CACoB,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE;gBACnC;oBACE,IAAI,EAAE,uCAA2B,CAAC,WAAW,CAAC;oBAC9C,OAAO,EAAE,MAAM,OAAO,CAAC,cAAc,EAAE;oBACvC,oBAAoB,EAAE,EAAE;oBACxB,OAAO,EAAE,IAAI;iBACd;aACF,CAAC,CAAC;YACH,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;SAClC;QACD,OAAO,SAAsD,CAAC;IAChE,CAAC;CACF;AA9BD,sEA8BC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DomainRoutingIsmFactory__factory, StaticAggregationHookFactory__factory, StaticAggregationIsmFactory__factory, StaticMerkleRootMultisigIsmFactory__factory, StaticMessageIdMultisigIsmFactory__factory } from '@hyperlane-xyz/core';
|
|
2
|
+
export declare const proxyFactoryFactories: {
|
|
3
|
+
merkleRootMultisigIsmFactory: StaticMerkleRootMultisigIsmFactory__factory;
|
|
4
|
+
messageIdMultisigIsmFactory: StaticMessageIdMultisigIsmFactory__factory;
|
|
5
|
+
aggregationIsmFactory: StaticAggregationIsmFactory__factory;
|
|
6
|
+
aggregationHookFactory: StaticAggregationHookFactory__factory;
|
|
7
|
+
routingIsmFactory: DomainRoutingIsmFactory__factory;
|
|
8
|
+
};
|
|
9
|
+
export type ProxyFactoryFactories = typeof proxyFactoryFactories;
|
|
10
|
+
type ProxyFactoryImplementations = Record<keyof ProxyFactoryFactories, string>;
|
|
11
|
+
export declare const proxyFactoryImplementations: ProxyFactoryImplementations;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/deploy/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,qCAAqC,EACrC,oCAAoC,EACpC,2CAA2C,EAC3C,0CAA0C,EAC3C,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,qBAAqB;;;;;;CAOjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAEjE,KAAK,2BAA2B,GAAG,MAAM,CAAC,MAAM,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAG/E,eAAO,MAAM,2BAA2B,EAAE,2BAMzC,CAAC"}
|