@hyperlane-xyz/sdk 1.4.1 → 1.4.3-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/agentStartBlocks.d.ts +3 -0
- package/dist/consts/agentStartBlocks.d.ts.map +1 -0
- package/dist/consts/agentStartBlocks.js +28 -0
- package/dist/consts/agentStartBlocks.js.map +1 -0
- package/dist/consts/bytecode.js +1 -1
- package/dist/consts/bytecode.js.map +1 -1
- package/dist/consts/chainMetadata.js +3 -3
- package/dist/consts/chains.d.ts +1 -1
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +2 -2
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +40 -2
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +27 -9
- package/dist/consts/environments/testnet.json +36 -18
- package/dist/contracts.d.ts +5 -5
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +12 -23
- package/dist/contracts.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +33 -42
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +1 -1
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +12 -25
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +4 -13
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts +0 -1
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +79 -137
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +1 -2
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +45 -71
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestCoreApp.js +35 -45
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.js +14 -27
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/contracts.d.ts +1 -1
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/events.d.ts +1 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +23 -32
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +4 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -3
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +3 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +105 -83
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +5 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +179 -183
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts +9 -0
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +11 -26
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/types.d.ts +18 -2
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js +3 -1
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +122 -131
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/types.d.ts +3 -3
- package/dist/deploy/verify/types.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +0 -4
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +101 -121
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +74 -77
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/contracts.d.ts +4 -3
- package/dist/gas/contracts.d.ts.map +1 -1
- package/dist/gas/contracts.js +2 -1
- package/dist/gas/contracts.js.map +1 -1
- package/dist/gas/token-prices.d.ts +5 -5
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +37 -54
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +11 -20
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/gas/types.d.ts +5 -2
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +2 -2
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +69 -88
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +4 -4
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +5 -1
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +3 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +1 -1
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -23
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +215 -198
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactoryDeployer.js +18 -34
- package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
- package/dist/ism/contracts.d.ts +1 -1
- package/dist/ism/contracts.d.ts.map +1 -1
- package/dist/ism/types.d.ts +5 -5
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +1 -1
- package/dist/ism/types.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +9 -4
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +26 -8
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.d.ts +2 -0
- package/dist/metadata/agentConfig.test.d.ts.map +1 -0
- package/dist/metadata/agentConfig.test.js +33 -0
- package/dist/metadata/agentConfig.test.js.map +1 -0
- package/dist/metadata/chainMetadata.test.js +27 -9
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +3 -3
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +3 -4
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.d.ts +2 -2
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +4 -1
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +12 -6
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +34 -63
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +21 -30
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/contracts.d.ts +4 -3
- package/dist/middleware/account/contracts.d.ts.map +1 -1
- package/dist/middleware/account/contracts.js +2 -1
- package/dist/middleware/account/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +129 -151
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +85 -107
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.d.ts +4 -3
- package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.js +2 -1
- package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +41 -46
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +13 -24
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/middleware/query/contracts.d.ts +4 -3
- package/dist/middleware/query/contracts.d.ts.map +1 -1
- package/dist/middleware/query/contracts.js +2 -1
- package/dist/middleware/query/contracts.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +23 -32
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +2 -2
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +63 -84
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/RetryProvider.d.ts +1 -1
- package/dist/providers/RetryProvider.d.ts.map +1 -1
- package/dist/providers/RetryProvider.js +2 -16
- package/dist/providers/RetryProvider.js.map +1 -1
- package/dist/router/GasRouterDeployer.js +18 -32
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts +0 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +37 -51
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +89 -107
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/ProxiedRouterChecker.d.ts +3 -2
- package/dist/router/ProxiedRouterChecker.d.ts.map +1 -1
- package/dist/router/ProxiedRouterChecker.js +15 -17
- package/dist/router/ProxiedRouterChecker.js.map +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts +2 -2
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
- package/dist/router/ProxiedRouterDeployer.js +27 -28
- package/dist/router/ProxiedRouterDeployer.js.map +1 -1
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +4 -15
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/types.d.ts +14 -9
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +7 -2
- package/dist/router/types.js.map +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +21 -24
- package/dist/test/testUtils.js.map +1 -1
- package/dist/types.d.ts +5 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +2 -4
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/fetch.js +8 -16
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/number.js +2 -2
- package/dist/utils/number.js.map +1 -1
- package/dist/utils/objects.d.ts +2 -2
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/wagmi.js +1 -2
- package/dist/utils/wagmi.js.map +1 -1
- package/package.json +9 -8
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.HyperlaneRouterChecker = void 0;
|
|
13
4
|
const ethers_1 = require("ethers");
|
|
@@ -15,50 +6,45 @@ const utils_1 = require("@hyperlane-xyz/utils");
|
|
|
15
6
|
const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
|
|
16
7
|
const types_1 = require("./types");
|
|
17
8
|
class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
async checkChain(chain) {
|
|
10
|
+
await this.checkHyperlaneConnectionClient(chain);
|
|
11
|
+
await this.checkEnrolledRouters(chain);
|
|
12
|
+
await super.checkOwnership(chain, this.configMap[chain].owner);
|
|
21
13
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
async checkHyperlaneConnectionClient(chain) {
|
|
15
|
+
const router = this.app.router(this.app.getContracts(chain));
|
|
16
|
+
const checkConnectionClientProperty = async (property, violationType) => {
|
|
17
|
+
const actual = await router[property]();
|
|
18
|
+
// TODO: check for IsmConfig
|
|
19
|
+
const value = this.configMap[chain][property];
|
|
20
|
+
if (value && typeof value === 'object')
|
|
21
|
+
throw new Error('ISM as object unimplemented');
|
|
22
|
+
const expected = value && typeof value === 'string'
|
|
23
|
+
? value
|
|
24
|
+
: ethers_1.ethers.constants.AddressZero;
|
|
25
|
+
if (!utils_1.utils.eqAddress(actual, expected)) {
|
|
26
|
+
const violation = {
|
|
27
|
+
chain,
|
|
28
|
+
type: violationType,
|
|
29
|
+
contract: router,
|
|
30
|
+
actual,
|
|
31
|
+
expected,
|
|
32
|
+
};
|
|
33
|
+
this.addViolation(violation);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
await checkConnectionClientProperty('mailbox', types_1.ConnectionClientViolationType.Mailbox);
|
|
37
|
+
await checkConnectionClientProperty('interchainGasPaymaster', types_1.ConnectionClientViolationType.InterchainGasPaymaster);
|
|
38
|
+
await checkConnectionClientProperty('interchainSecurityModule', types_1.ConnectionClientViolationType.InterchainSecurityModule);
|
|
28
39
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const violation = {
|
|
38
|
-
chain,
|
|
39
|
-
type: violationType,
|
|
40
|
-
contract: router,
|
|
41
|
-
actual,
|
|
42
|
-
expected,
|
|
43
|
-
};
|
|
44
|
-
this.addViolation(violation);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
yield checkConnectionClientProperty('mailbox', types_1.ConnectionClientViolationType.Mailbox);
|
|
48
|
-
yield checkConnectionClientProperty('interchainGasPaymaster', types_1.ConnectionClientViolationType.InterchainGasPaymaster);
|
|
49
|
-
yield checkConnectionClientProperty('interchainSecurityModule', types_1.ConnectionClientViolationType.InterchainSecurityModule);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
checkEnrolledRouters(chain) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const router = this.app.router(this.app.getContracts(chain));
|
|
55
|
-
yield Promise.all(this.app.remoteChains(chain).map((remoteChain) => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const remoteRouter = this.app.router(this.app.getContracts(remoteChain));
|
|
57
|
-
const remoteDomainId = this.multiProvider.getDomainId(remoteChain);
|
|
58
|
-
const address = yield router.routers(remoteDomainId);
|
|
59
|
-
utils_1.utils.assert(address === utils_1.utils.addressToBytes32(remoteRouter.address));
|
|
60
|
-
})));
|
|
61
|
-
});
|
|
40
|
+
async checkEnrolledRouters(chain) {
|
|
41
|
+
const router = this.app.router(this.app.getContracts(chain));
|
|
42
|
+
await Promise.all(this.app.remoteChains(chain).map(async (remoteChain) => {
|
|
43
|
+
const remoteRouter = this.app.router(this.app.getContracts(remoteChain));
|
|
44
|
+
const remoteDomainId = this.multiProvider.getDomainId(remoteChain);
|
|
45
|
+
const address = await router.routers(remoteDomainId);
|
|
46
|
+
utils_1.utils.assert(address === utils_1.utils.addressToBytes32(remoteRouter.address));
|
|
47
|
+
}));
|
|
62
48
|
}
|
|
63
49
|
}
|
|
64
50
|
exports.HyperlaneRouterChecker = HyperlaneRouterChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,gDAA6C;AAG7C,uEAAoE;AAIpE,mCAMiB;AAEjB,MAAa,sBAIX,SAAQ,yCAAgC;IACxC,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAgB;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,6BAA6B,GAAG,KAAK,EACzC,QAAwD,EACxD,aAA4C,EAC5C,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,MAAM,QAAQ,GACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAChC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,aAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACtC,MAAM,SAAS,GAA8B;oBAC3C,KAAK;oBACL,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,MAAM;oBAChB,MAAM;oBACN,QAAQ;iBACT,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,MAAM,6BAA6B,CACjC,SAAS,EACT,qCAA6B,CAAC,OAAO,CACtC,CAAC;QACF,MAAM,6BAA6B,CACjC,wBAAwB,EACxB,qCAA6B,CAAC,sBAAsB,CACrD,CAAC;QACF,MAAM,6BAA6B,CACjC,0BAA0B,EAC1B,qCAA6B,CAAC,wBAAwB,CACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAClC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CACnC,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,aAAK,CAAC,MAAM,CAAC,OAAO,KAAK,aAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAnED,wDAmEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,8BAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAK3D,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDvD,qBAAqB,CACzB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQV,mBAAmB,CACvB,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnB,cAAc,GAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAM,GAC3C,OAAO,CAAC,IAAI,CAAC;IAyDV,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;CA2B7C"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.HyperlaneRouterDeployer = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
13
5
|
const core_1 = require("@hyperlane-xyz/core");
|
|
14
6
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
15
7
|
const contracts_1 = require("../contracts");
|
|
@@ -20,111 +12,101 @@ class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
20
12
|
// The ISM check does not appropriately handle ISMs that have sender,
|
|
21
13
|
// recipient, or body-specific logic. Folks that wish to deploy using
|
|
22
14
|
// such ISMs *may* need to override checkConfig to disable this check.
|
|
23
|
-
checkConfig(configMap) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// Try to confirm that the IGP supports delivery to all remotes
|
|
34
|
-
try {
|
|
35
|
-
yield localIgp.quoteGasPayment(this.multiProvider.getDomainId(remote), 1);
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
throw new Error(`The specified or default IGP with address ${localIgp.address} on ` +
|
|
39
|
-
`${local} is not configured to deliver messages to ${remote}, ` +
|
|
40
|
-
`did you mean to specify a different one?`);
|
|
41
|
-
}
|
|
42
|
-
// Try to confirm that the specified or default ISM can verify messages to all remotes
|
|
43
|
-
const canVerify = yield (0, HyperlaneIsmFactory_1.moduleCanCertainlyVerify)(localIsm, this.multiProvider, remote, local);
|
|
44
|
-
if (!canVerify) {
|
|
45
|
-
throw new Error(`The specified or default ISM with address ${localIsm} on ${local} ` +
|
|
46
|
-
`cannot verify messages from ${remote}, did you forget to ` +
|
|
47
|
-
`specify an ISM, or mean to specify a different one?`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
15
|
+
async checkConfig(configMap) {
|
|
16
|
+
for (const [local, config] of Object.entries(configMap)) {
|
|
17
|
+
this.logger(`Checking config for ${local}...`);
|
|
18
|
+
const signerOrProvider = this.multiProvider.getSignerOrProvider(local);
|
|
19
|
+
const localIgp = core_1.IInterchainGasPaymaster__factory.connect(config.interchainGasPaymaster, signerOrProvider);
|
|
20
|
+
const localMailbox = core_1.Mailbox__factory.connect(config.mailbox, signerOrProvider);
|
|
21
|
+
let localIsm;
|
|
22
|
+
if (!config.interchainSecurityModule ||
|
|
23
|
+
config.interchainSecurityModule === ethers_1.ethers.constants.AddressZero) {
|
|
24
|
+
localIsm = await localMailbox.defaultIsm();
|
|
50
25
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
initConnectionClients(contractsMap, configMap) {
|
|
54
|
-
const _super = Object.create(null, {
|
|
55
|
-
initConnectionClient: { get: () => super.initConnectionClient }
|
|
56
|
-
});
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
for (const chain of Object.keys(contractsMap)) {
|
|
59
|
-
const contracts = contractsMap[chain];
|
|
60
|
-
const config = configMap[chain];
|
|
61
|
-
yield _super.initConnectionClient.call(this, chain, this.router(contracts), config);
|
|
26
|
+
else {
|
|
27
|
+
localIsm = config.interchainSecurityModule;
|
|
62
28
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const enrollEntries = yield Promise.all(allRemoteChains.map((remote) => __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
const remoteDomain = this.multiProvider.getDomainId(remote);
|
|
83
|
-
const current = yield this.router(contracts).routers(remoteDomain);
|
|
84
|
-
const expected = utils_1.utils.addressToBytes32(allRouters[remote]);
|
|
85
|
-
return current !== expected ? [remoteDomain, expected] : undefined;
|
|
86
|
-
})));
|
|
87
|
-
const entries = enrollEntries.filter((entry) => entry !== undefined);
|
|
88
|
-
const domains = entries.map(([id]) => id);
|
|
89
|
-
const addresses = entries.map(([, address]) => address);
|
|
90
|
-
// skip if no enrollments are needed
|
|
91
|
-
if (domains.length === 0) {
|
|
92
|
-
continue;
|
|
29
|
+
const remotes = Object.keys(configMap).filter((c) => c !== local);
|
|
30
|
+
for (const remote of remotes) {
|
|
31
|
+
this.logger(`Checking origin ${remote}...`);
|
|
32
|
+
// Try to confirm that the IGP supports delivery to all remotes
|
|
33
|
+
try {
|
|
34
|
+
await localIgp.quoteGasPayment(this.multiProvider.getDomainId(remote), 1);
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
throw new Error(`The specified or default IGP with address ${localIgp.address} on ` +
|
|
38
|
+
`${local} is not configured to deliver messages to ${remote}, ` +
|
|
39
|
+
`did you mean to specify a different one?`);
|
|
40
|
+
}
|
|
41
|
+
// Try to confirm that the specified or default ISM can verify messages to all remotes
|
|
42
|
+
const canVerify = await (0, HyperlaneIsmFactory_1.moduleCanCertainlyVerify)(localIsm, this.multiProvider, remote, local);
|
|
43
|
+
if (!canVerify) {
|
|
44
|
+
throw new Error(`The specified or default ISM with address ${localIsm} on ${local} ` +
|
|
45
|
+
`cannot verify messages from ${remote}, did you forget to ` +
|
|
46
|
+
`specify an ISM, or mean to specify a different one?`);
|
|
93
47
|
}
|
|
94
|
-
yield _super.runIfOwner.call(this, chain, this.router(contracts), () => __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const chains = domains.map((id) => this.multiProvider.getChainName(id));
|
|
96
|
-
this.logger(`Enrolling remote routers (${chains.join(', ')}) on ${chain}`);
|
|
97
|
-
yield this.multiProvider.handleTx(chain, this.router(contracts).enrollRemoteRouters(domains, addresses, this.multiProvider.getTransactionOverrides(chain)));
|
|
98
|
-
}));
|
|
99
48
|
}
|
|
100
|
-
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async initConnectionClients(contractsMap, configMap) {
|
|
52
|
+
for (const chain of Object.keys(contractsMap)) {
|
|
53
|
+
const contracts = contractsMap[chain];
|
|
54
|
+
const config = configMap[chain];
|
|
55
|
+
await super.initConnectionClient(chain, this.router(contracts), config);
|
|
56
|
+
}
|
|
101
57
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
58
|
+
async enrollRemoteRouters(deployedContractsMap, _, foreignRouters = {}) {
|
|
59
|
+
this.logger(`Enrolling deployed routers with each other (if not already)...`);
|
|
60
|
+
// Make all routers aware of each other.
|
|
61
|
+
// Routers that were deployed.
|
|
62
|
+
const deployedRouters = (0, objects_1.objMap)(deployedContractsMap, (_, contracts) => this.router(contracts).address);
|
|
63
|
+
// All routers, including those that were deployed and those with existing deployments.
|
|
64
|
+
const allRouters = (0, objects_1.objMerge)(deployedRouters, foreignRouters);
|
|
65
|
+
const allChains = Object.keys(allRouters);
|
|
66
|
+
for (const [chain, contracts] of Object.entries(deployedContractsMap)) {
|
|
67
|
+
const allRemoteChains = this.multiProvider
|
|
68
|
+
.getRemoteChains(chain)
|
|
69
|
+
.filter((c) => allChains.includes(c));
|
|
70
|
+
const enrollEntries = await Promise.all(allRemoteChains.map(async (remote) => {
|
|
71
|
+
const remoteDomain = this.multiProvider.getDomainId(remote);
|
|
72
|
+
const current = await this.router(contracts).routers(remoteDomain);
|
|
73
|
+
const expected = utils_1.utils.addressToBytes32(allRouters[remote]);
|
|
74
|
+
return current !== expected ? [remoteDomain, expected] : undefined;
|
|
75
|
+
}));
|
|
76
|
+
const entries = enrollEntries.filter((entry) => entry !== undefined);
|
|
77
|
+
const domains = entries.map(([id]) => id);
|
|
78
|
+
const addresses = entries.map(([, address]) => address);
|
|
79
|
+
// skip if no enrollments are needed
|
|
80
|
+
if (domains.length === 0) {
|
|
81
|
+
continue;
|
|
110
82
|
}
|
|
111
|
-
|
|
83
|
+
await super.runIfOwner(chain, this.router(contracts), async () => {
|
|
84
|
+
const chains = domains.map((id) => this.multiProvider.getChainName(id));
|
|
85
|
+
this.logger(`Enrolling remote routers (${chains.join(', ')}) on ${chain}`);
|
|
86
|
+
await this.multiProvider.handleTx(chain, this.router(contracts).enrollRemoteRouters(domains, addresses, this.multiProvider.getTransactionOverrides(chain)));
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async transferOwnership(contractsMap, configMap) {
|
|
91
|
+
this.logger(`Transferring ownership of ownables...`);
|
|
92
|
+
for (const chain of Object.keys(contractsMap)) {
|
|
93
|
+
const contracts = contractsMap[chain];
|
|
94
|
+
const owner = configMap[chain].owner;
|
|
95
|
+
const ownables = await (0, contracts_1.filterOwnableContracts)(contracts);
|
|
96
|
+
await this.transferOwnershipOfContracts(chain, owner, ownables);
|
|
97
|
+
}
|
|
112
98
|
}
|
|
113
|
-
deploy(configMap) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
yield this.initConnectionClients(deployedContractsMap, configMap);
|
|
125
|
-
yield this.transferOwnership(deployedContractsMap, configMap);
|
|
126
|
-
return deployedContractsMap;
|
|
127
|
-
});
|
|
99
|
+
async deploy(configMap) {
|
|
100
|
+
// Only deploy on chains that don't have foreign deployments.
|
|
101
|
+
const configMapToDeploy = (0, objects_1.objFilter)(configMap, (_chainName, config) => !config.foreignDeployment);
|
|
102
|
+
// Create a map of chains that have foreign deployments.
|
|
103
|
+
const foreignDeployments = (0, objects_1.objFilter)((0, objects_1.objMap)(configMap, (_, config) => config.foreignDeployment), (_chainName, foreignDeployment) => foreignDeployment !== undefined);
|
|
104
|
+
const deployedContractsMap = await super.deploy(configMapToDeploy);
|
|
105
|
+
await this.enrollRemoteRouters(deployedContractsMap, configMap, foreignDeployments);
|
|
106
|
+
await this.initConnectionClients(deployedContractsMap, configMap);
|
|
107
|
+
await this.transferOwnership(deployedContractsMap, configMap);
|
|
108
|
+
this.logger(`Finished deploying router contracts for all chains.`);
|
|
109
|
+
return deployedContractsMap;
|
|
128
110
|
}
|
|
129
111
|
}
|
|
130
112
|
exports.HyperlaneRouterDeployer = HyperlaneRouterDeployer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ChainName } from '../types';
|
|
2
2
|
import { HyperlaneRouterChecker } from './HyperlaneRouterChecker';
|
|
3
3
|
import { RouterApp } from './RouterApps';
|
|
4
|
-
import { ProxiedFactories,
|
|
5
|
-
export declare abstract class ProxiedRouterChecker<Factories extends ProxiedFactories, App extends RouterApp<Factories>, Config extends
|
|
4
|
+
import { ProxiedFactories, ProxiedRouterConfig } from './types';
|
|
5
|
+
export declare abstract class ProxiedRouterChecker<Factories extends ProxiedFactories, App extends RouterApp<Factories>, Config extends ProxiedRouterConfig> extends HyperlaneRouterChecker<Factories, App, Config> {
|
|
6
|
+
checkOwnership(chain: ChainName): Promise<void>;
|
|
6
7
|
checkChain(chain: ChainName): Promise<void>;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=ProxiedRouterChecker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxiedRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/ProxiedRouterChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"ProxiedRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/ProxiedRouterChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEhE,8BAAsB,oBAAoB,CACxC,SAAS,SAAS,gBAAgB,EAClC,GAAG,SAAS,SAAS,CAAC,SAAS,CAAC,EAChC,MAAM,SAAS,mBAAmB,CAClC,SAAQ,sBAAsB,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC;IAChD,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlD"}
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ProxiedRouterChecker = void 0;
|
|
13
4
|
const HyperlaneRouterChecker_1 = require("./HyperlaneRouterChecker");
|
|
14
5
|
class ProxiedRouterChecker extends HyperlaneRouterChecker_1.HyperlaneRouterChecker {
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
6
|
+
async checkOwnership(chain) {
|
|
7
|
+
const config = this.configMap[chain];
|
|
8
|
+
let ownableOverrides = {};
|
|
9
|
+
if (config.timelock) {
|
|
10
|
+
ownableOverrides = {
|
|
11
|
+
proxyAdmin: this.app.getAddresses(chain).timelockController,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
return super.checkOwnership(chain, config.owner, ownableOverrides);
|
|
15
|
+
}
|
|
16
|
+
async checkChain(chain) {
|
|
17
|
+
await super.checkHyperlaneConnectionClient(chain);
|
|
18
|
+
await super.checkEnrolledRouters(chain);
|
|
19
|
+
await this.checkProxiedContracts(chain);
|
|
20
|
+
await this.checkOwnership(chain);
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
23
|
exports.ProxiedRouterChecker = ProxiedRouterChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxiedRouterChecker.js","sourceRoot":"","sources":["../../src/router/ProxiedRouterChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProxiedRouterChecker.js","sourceRoot":"","sources":["../../src/router/ProxiedRouterChecker.ts"],"names":[],"mappings":";;;AAEA,qEAAkE;AAIlE,MAAsB,oBAIpB,SAAQ,+CAA8C;IACtD,KAAK,CAAC,cAAc,CAAC,KAAgB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,gBAAgB,GAAG;gBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB;aAC5D,CAAC;SACH;QAED,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,KAAK,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAvBD,oDAuBC"}
|
|
@@ -2,8 +2,8 @@ import { Router } from '@hyperlane-xyz/core';
|
|
|
2
2
|
import { HyperlaneContracts } from '../contracts';
|
|
3
3
|
import { ChainName } from '../types';
|
|
4
4
|
import { HyperlaneRouterDeployer } from './HyperlaneRouterDeployer';
|
|
5
|
-
import { ProxiedFactories,
|
|
6
|
-
export declare abstract class ProxiedRouterDeployer<Config extends
|
|
5
|
+
import { ProxiedFactories, ProxiedRouterConfig } from './types';
|
|
6
|
+
export declare abstract class ProxiedRouterDeployer<Config extends ProxiedRouterConfig, Factories extends ProxiedFactories, RouterKey extends keyof Factories> extends HyperlaneRouterDeployer<Config, Factories> {
|
|
7
7
|
abstract routerContractName: RouterKey;
|
|
8
8
|
router(contracts: HyperlaneContracts<Factories>): Router;
|
|
9
9
|
abstract constructorArgs(chain: ChainName, config: Config): Promise<Parameters<Factories[RouterKey]['deploy']>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxiedRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/ProxiedRouterDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProxiedRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/ProxiedRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EAGP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEhE,8BAAsB,qBAAqB,CACzC,MAAM,SAAS,mBAAmB,EAClC,SAAS,SAAS,gBAAgB,EAClC,SAAS,SAAS,MAAM,SAAS,CACjC,SAAQ,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAEvC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAIxD,QAAQ,CAAC,eAAe,CACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD,QAAQ,CAAC,cAAc,CACrB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CACR,UAAU,CACR,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAClE,CACF;IAEK,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;CAgD1C"}
|
|
@@ -1,41 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ProxiedRouterDeployer = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const core_1 = require("@hyperlane-xyz/core");
|
|
13
6
|
const utils_1 = require("@hyperlane-xyz/utils/dist/src/utils");
|
|
14
7
|
const HyperlaneRouterDeployer_1 = require("./HyperlaneRouterDeployer");
|
|
15
8
|
class ProxiedRouterDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
|
|
16
9
|
router(contracts) {
|
|
17
10
|
return contracts[this.routerContractName];
|
|
18
11
|
}
|
|
19
|
-
deployContracts(chain, config) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
12
|
+
async deployContracts(chain, config) {
|
|
13
|
+
const proxyAdmin = await this.deployContractFromFactory(chain, this.factories.proxyAdmin, 'proxyAdmin', []);
|
|
14
|
+
let timelockController;
|
|
15
|
+
let adminOwner;
|
|
16
|
+
if (config.timelock) {
|
|
17
|
+
timelockController = await this.deployTimelock(chain, config.timelock);
|
|
18
|
+
adminOwner = timelockController.address;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
timelockController = core_1.TimelockController__factory.connect(ethers_1.ethers.constants.AddressZero, this.multiProvider.getProvider(chain));
|
|
22
|
+
adminOwner = config.owner;
|
|
23
|
+
}
|
|
24
|
+
await super.runIfOwner(chain, proxyAdmin, async () => {
|
|
25
|
+
this.logger(`Checking ownership of proxy admin to ${adminOwner}`);
|
|
26
|
+
if (!(0, utils_1.eqAddress)(await proxyAdmin.owner(), adminOwner)) {
|
|
27
|
+
this.logger(`Transferring ownership of proxy admin to ${adminOwner}`);
|
|
28
|
+
return this.multiProvider.handleTx(chain, proxyAdmin.transferOwnership(adminOwner));
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
38
31
|
});
|
|
32
|
+
const proxiedRouter = await this.deployProxiedContract(chain, this.routerContractName, proxyAdmin.address, await this.constructorArgs(chain, config), await this.initializeArgs(chain, config));
|
|
33
|
+
return {
|
|
34
|
+
[this.routerContractName]: proxiedRouter,
|
|
35
|
+
proxyAdmin,
|
|
36
|
+
timelockController,
|
|
37
|
+
};
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
exports.ProxiedRouterDeployer = ProxiedRouterDeployer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxiedRouterDeployer.js","sourceRoot":"","sources":["../../src/router/ProxiedRouterDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProxiedRouterDeployer.js","sourceRoot":"","sources":["../../src/router/ProxiedRouterDeployer.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,8CAI6B;AAC7B,+DAAgE;AAKhE,uEAAoE;AAGpE,MAAsB,qBAIpB,SAAQ,iDAA0C;IAGlD,MAAM,CAAC,SAAwC;QAC7C,OAAO,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAW,CAAC;IACtD,CAAC;IAgBD,KAAK,CAAC,eAAe,CACnB,KAAgB,EAChB,MAAc;QAEd,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACrD,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,UAAU,EACzB,YAAY,EACZ,EAAE,CACH,CAAC;QAEF,IAAI,kBAAsC,CAAC;QAC3C,IAAI,UAAkB,CAAC;QACvB,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvE,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC;SACzC;aAAM;YACL,kBAAkB,GAAG,kCAA2B,CAAC,OAAO,CACtD,eAAM,CAAC,SAAS,CAAC,WAAW,EAC5B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CACtC,CAAC;YACF,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;SAC3B;QAED,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,IAAA,iBAAS,EAAC,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,4CAA4C,UAAU,EAAE,CAAC,CAAC;gBACtE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAChC,KAAK,EACL,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CACzC,CAAC;aACH;YACD,OAAO;QACT,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACpD,KAAK,EACL,IAAI,CAAC,kBAAkB,EACvB,UAAU,CAAC,OAAO,EAClB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EACzC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CACzC,CAAC;QAEF,OAAO;YACL,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,aAAa;YACxC,UAAU;YACV,kBAAkB;SACc,CAAC;IACrC,CAAC;CACF;AA5ED,sDA4EC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterApps.d.ts","sourceRoot":"","sources":["../../src/router/RouterApps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,8BAAsB,SAAS,CAC7B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,YAAY,CAAC,SAAS,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAEjE,kBAAkB,QAAO,QAAQ,SAAS,MAAM,OAAO,CAAC,CAAC,CAKrD;IAEJ,SAAS,QAAO,QAAQ,SAAS,MAAM,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"RouterApps.d.ts","sourceRoot":"","sources":["../../src/router/RouterApps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,8BAAsB,SAAS,CAC7B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,YAAY,CAAC,SAAS,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAEjE,kBAAkB,QAAO,QAAQ,SAAS,MAAM,OAAO,CAAC,CAAC,CAKrD;IAEJ,SAAS,QAAO,QAAQ,SAAS,MAAM,OAAO,CAAC,CAAC,CAG5C;CACL;AAED,8BAAsB,YAAY,CAChC,SAAS,SAAS,kBAAkB,EACpC,CAAC,SAAS,SAAS,CACnB,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC;IAEtD,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,SAAS,CAAC;CAKtB"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.GasRouterApp = exports.RouterApp = void 0;
|
|
13
4
|
const HyperlaneApp_1 = require("../HyperlaneApp");
|
|
@@ -15,16 +6,14 @@ const objects_1 = require("../utils/objects");
|
|
|
15
6
|
class RouterApp extends HyperlaneApp_1.HyperlaneApp {
|
|
16
7
|
constructor() {
|
|
17
8
|
super(...arguments);
|
|
18
|
-
this.getSecurityModules = () => (0, objects_1.promiseObjAll)((0, objects_1.objMap)(this.
|
|
19
|
-
this.getOwners = () => (0, objects_1.promiseObjAll)((0, objects_1.objMap)(this.
|
|
9
|
+
this.getSecurityModules = () => (0, objects_1.promiseObjAll)((0, objects_1.objMap)(this.chainMap, (_, contracts) => this.router(contracts).interchainSecurityModule()));
|
|
10
|
+
this.getOwners = () => (0, objects_1.promiseObjAll)((0, objects_1.objMap)(this.chainMap, (_, contracts) => this.router(contracts).owner()));
|
|
20
11
|
}
|
|
21
12
|
}
|
|
22
13
|
exports.RouterApp = RouterApp;
|
|
23
14
|
class GasRouterApp extends RouterApp {
|
|
24
|
-
quoteGasPayment(origin, destination) {
|
|
25
|
-
return
|
|
26
|
-
return this.getContracts(origin).router.quoteGasPayment(this.multiProvider.getDomainId(destination));
|
|
27
|
-
});
|
|
15
|
+
async quoteGasPayment(origin, destination) {
|
|
16
|
+
return this.getContracts(origin).router.quoteGasPayment(this.multiProvider.getDomainId(destination));
|
|
28
17
|
}
|
|
29
18
|
}
|
|
30
19
|
exports.GasRouterApp = GasRouterApp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterApps.js","sourceRoot":"","sources":["../../src/router/RouterApps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RouterApps.js","sourceRoot":"","sources":["../../src/router/RouterApps.ts"],"names":[],"mappings":";;;AAKA,kDAA+C;AAG/C,8CAAyD;AAIzD,MAAsB,SAEpB,SAAQ,2BAAuB;IAFjC;;QAKE,uBAAkB,GAAG,GAAqC,EAAE,CAC1D,IAAA,uBAAa,EACX,IAAA,gBAAM,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,wBAAwB,EAAE,CAClD,CACF,CAAC;QAEJ,cAAS,GAAG,GAAqC,EAAE,CACjD,IAAA,uBAAa,EACX,IAAA,gBAAM,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,CACxE,CAAC;IACN,CAAC;CAAA;AAhBD,8BAgBC;AAED,MAAsB,YAGpB,SAAQ,SAAoB;IAG5B,KAAK,CAAC,eAAe,CACnB,MAAiB,EACjB,WAAsB;QAEtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,eAAe,CACrD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAC5C,CAAC;IACJ,CAAC;CACF;AAdD,oCAcC"}
|