@hyperlane-xyz/sdk 1.2.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/HyperlaneApp.d.ts +11 -7
- package/dist/HyperlaneApp.d.ts.map +1 -1
- package/dist/HyperlaneApp.js +14 -0
- package/dist/HyperlaneApp.js.map +1 -1
- package/dist/agents/types.d.ts +56 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +43 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/consts/bytecode.d.ts +11 -0
- package/dist/consts/bytecode.d.ts.map +1 -0
- package/dist/consts/bytecode.js +15 -0
- package/dist/consts/bytecode.js.map +1 -0
- package/dist/consts/environments/index.d.ts +64 -231
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js +2 -12
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +28 -99
- package/dist/consts/environments/test.json +20 -44
- package/dist/consts/environments/testnet.json +27 -90
- package/dist/consts/multisigIsm.d.ts +4 -0
- package/dist/consts/multisigIsm.d.ts.map +1 -0
- package/dist/consts/multisigIsm.js +174 -0
- package/dist/consts/multisigIsm.js.map +1 -0
- package/dist/contracts.d.ts +14 -10
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +28 -43
- package/dist/contracts.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +5 -16
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +7 -35
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts +0 -6
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +20 -155
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +8 -22
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +14 -141
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +8 -12
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +6 -3
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +2 -2
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +4 -25
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/contracts.d.ts +3 -22
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +1 -7
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +2 -2
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +4 -47
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -16
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +2 -4
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +46 -28
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +20 -19
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +112 -86
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts +1 -13
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +8 -13
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/types.d.ts +1 -0
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/verify/utils.d.ts +1 -0
- package/dist/deploy/verify/utils.d.ts.map +1 -1
- package/dist/deploy/verify/utils.js +9 -4
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/gas/HyperlaneIgp.d.ts +53 -0
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgp.js +72 -0
- package/dist/gas/HyperlaneIgp.js.map +1 -0
- package/dist/gas/HyperlaneIgpChecker.d.ts +14 -0
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgpChecker.js +148 -0
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -0
- package/dist/gas/HyperlaneIgpDeployer.d.ts +22 -0
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgpDeployer.js +113 -0
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -0
- package/dist/gas/contracts.d.ts +9 -0
- package/dist/gas/contracts.d.ts.map +1 -0
- package/dist/gas/contracts.js +11 -0
- package/dist/gas/contracts.js.map +1 -0
- package/dist/gas/types.d.ts +35 -50
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +11 -17
- package/dist/gas/types.js.map +1 -1
- package/dist/index.d.ts +33 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +66 -43
- package/dist/index.js.map +1 -1
- package/dist/middleware/MiddlewareRouterChecker.d.ts +8 -0
- package/dist/middleware/MiddlewareRouterChecker.d.ts.map +1 -0
- package/dist/middleware/MiddlewareRouterChecker.js +26 -0
- package/dist/middleware/MiddlewareRouterChecker.js.map +1 -0
- package/dist/middleware/MiddlewareRouterDeployer.d.ts +17 -0
- package/dist/middleware/MiddlewareRouterDeployer.d.ts.map +1 -0
- package/dist/middleware/MiddlewareRouterDeployer.js +62 -0
- package/dist/middleware/MiddlewareRouterDeployer.js.map +1 -0
- package/dist/middleware/account/InterchainAccount.d.ts +11 -0
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccount.js +21 -0
- package/dist/middleware/account/InterchainAccount.js.map +1 -0
- package/dist/middleware/account/InterchainAccountChecker.d.ts +7 -0
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccountChecker.js +8 -0
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.js +64 -0
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -0
- package/dist/middleware/account/accounts.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/{accounts.hardhat-test.js → account/accounts.hardhat-test.js} +21 -24
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -0
- package/dist/middleware/account/contracts.d.ts +7 -0
- package/dist/middleware/account/contracts.d.ts.map +1 -0
- package/dist/middleware/account/contracts.js +9 -0
- package/dist/middleware/account/contracts.js.map +1 -0
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +5 -4
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +12 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +8 -6
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +13 -10
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.d.ts +5 -8
- 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 +33 -30
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts +11 -0
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQuery.js +21 -0
- package/dist/middleware/query/InterchainQuery.js.map +1 -0
- package/dist/middleware/query/InterchainQueryChecker.d.ts +7 -0
- package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQueryChecker.js +8 -0
- package/dist/middleware/query/InterchainQueryChecker.js.map +1 -0
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +12 -0
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQueryDeployer.js +13 -0
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -0
- package/dist/middleware/query/contracts.d.ts +7 -0
- package/dist/middleware/query/contracts.d.ts.map +1 -0
- package/dist/middleware/query/contracts.js +9 -0
- package/dist/middleware/query/contracts.js.map +1 -0
- package/dist/middleware/query/queries.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/{queries.hardhat-test.js → query/queries.hardhat-test.js} +21 -12
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -0
- package/dist/providers/MultiProvider.d.ts +6 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +32 -26
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/router/GasRouterDeployer.d.ts +4 -4
- 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 +3 -5
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +4 -8
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts +9 -6
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +13 -28
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/RouterApps.d.ts +6 -4
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +2 -2
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/types.d.ts +4 -16
- package/dist/router/types.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/app.d.ts +18 -11
- package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/app.js +14 -15
- package/dist/test/envSubsetDeployer/app.js.map +1 -1
- package/dist/test/envSubsetDeployer/check-single-chain.js +6 -4
- package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.js +7 -5
- package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +12 -13
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
- package/dist/test/testUtils.d.ts +10 -23
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +45 -60
- package/dist/test/testUtils.js.map +1 -1
- package/dist/utils/ism.d.ts +2 -0
- package/dist/utils/ism.d.ts.map +1 -0
- package/dist/utils/ism.js +18 -0
- package/dist/utils/ism.js.map +1 -0
- package/dist/utils/objects.d.ts +3 -1
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/objects.js +35 -2
- package/dist/utils/objects.js.map +1 -1
- package/package.json +4 -4
- package/dist/deploy/utils.d.ts +0 -6
- package/dist/deploy/utils.d.ts.map +0 -1
- package/dist/deploy/utils.js +0 -13
- package/dist/deploy/utils.js.map +0 -1
- package/dist/gas/calculator.d.ts +0 -186
- package/dist/gas/calculator.d.ts.map +0 -1
- package/dist/gas/calculator.hardhat-test.d.ts +0 -2
- package/dist/gas/calculator.hardhat-test.d.ts.map +0 -1
- package/dist/gas/calculator.hardhat-test.js +0 -59
- package/dist/gas/calculator.hardhat-test.js.map +0 -1
- package/dist/gas/calculator.js +0 -301
- package/dist/gas/calculator.js.map +0 -1
- package/dist/gas/calculator.test.d.ts +0 -2
- package/dist/gas/calculator.test.d.ts.map +0 -1
- package/dist/gas/calculator.test.js +0 -197
- package/dist/gas/calculator.test.js.map +0 -1
- package/dist/middleware/accounts.hardhat-test.d.ts.map +0 -1
- package/dist/middleware/accounts.hardhat-test.js.map +0 -1
- package/dist/middleware/deploy.d.ts +0 -28
- package/dist/middleware/deploy.d.ts.map +0 -1
- package/dist/middleware/deploy.js +0 -68
- package/dist/middleware/deploy.js.map +0 -1
- package/dist/middleware/queries.hardhat-test.d.ts.map +0 -1
- package/dist/middleware/queries.hardhat-test.js.map +0 -1
- package/dist/proxy.d.ts +0 -21
- package/dist/proxy.d.ts.map +0 -1
- package/dist/proxy.js +0 -32
- package/dist/proxy.js.map +0 -1
- /package/dist/middleware/{accounts.hardhat-test.d.ts → account/accounts.hardhat-test.d.ts} +0 -0
- /package/dist/middleware/{queries.hardhat-test.d.ts → query/queries.hardhat-test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCoreApp.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,
|
|
1
|
+
{"version":3,"file":"TestCoreApp.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAe,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,eAAO,MAAM,iBAAiB;;;;;CAG7B,CAAC;AAEF,qBAAa,WAAY,SAAQ,aAAa;IAC5C,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,iBAAiB,CAAC;IAMtE,eAAe,IAAI,OAAO,CAC9B,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CACvE;IAaK,uBAAuB,CAC3B,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAyBnE"}
|
package/dist/core/TestCoreApp.js
CHANGED
|
@@ -9,9 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TestCoreApp = void 0;
|
|
12
|
+
exports.TestCoreApp = exports.testCoreFactories = void 0;
|
|
13
|
+
const core_1 = require("@hyperlane-xyz/core");
|
|
13
14
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
14
15
|
const HyperlaneCore_1 = require("./HyperlaneCore");
|
|
16
|
+
const contracts_1 = require("./contracts");
|
|
17
|
+
exports.testCoreFactories = Object.assign(Object.assign({}, contracts_1.coreFactories), { mailbox: new core_1.TestMailbox__factory() });
|
|
15
18
|
class TestCoreApp extends HyperlaneCore_1.HyperlaneCore {
|
|
16
19
|
getContracts(chain) {
|
|
17
20
|
return super.getContracts(chain);
|
|
@@ -32,7 +35,7 @@ class TestCoreApp extends HyperlaneCore_1.HyperlaneCore {
|
|
|
32
35
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
36
|
const responses = new Map();
|
|
34
37
|
const contracts = this.getContracts(origin);
|
|
35
|
-
const outbox = contracts.mailbox
|
|
38
|
+
const outbox = contracts.mailbox;
|
|
36
39
|
const dispatchFilter = outbox.filters.Dispatch();
|
|
37
40
|
const dispatches = yield outbox.queryFilter(dispatchFilter);
|
|
38
41
|
for (const dispatch of dispatches) {
|
|
@@ -41,7 +44,7 @@ class TestCoreApp extends HyperlaneCore_1.HyperlaneCore {
|
|
|
41
44
|
throw new Error('Dispatched message to local domain');
|
|
42
45
|
}
|
|
43
46
|
const destinationChain = this.multiProvider.getChainName(destination);
|
|
44
|
-
const inbox = this.getContracts(destinationChain).mailbox
|
|
47
|
+
const inbox = this.getContracts(destinationChain).mailbox;
|
|
45
48
|
const id = utils_1.utils.messageId(dispatch.args.message);
|
|
46
49
|
const delivered = yield inbox.delivered(id);
|
|
47
50
|
if (!delivered) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCoreApp.js","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"TestCoreApp.js","sourceRoot":"","sources":["../../src/core/TestCoreApp.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,8CAAwE;AACxE,gDAA6C;AAK7C,mDAAgD;AAChD,2CAA4C;AAE/B,QAAA,iBAAiB,mCACzB,yBAAa,KAChB,OAAO,EAAE,IAAI,2BAAoB,EAAE,IACnC;AAEF,MAAa,WAAY,SAAQ,6BAAa;IAC5C,YAAY,CAAC,KAAgB;QAC3B,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAE9B,CAAC;IACJ,CAAC;IAEK,eAAe;;YAGnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAChD,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAC5D,CAAC;gBACF,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;aACxC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEK,uBAAuB,CAC3B,MAAiB;;YAEjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAsB,CAAC;YAEhD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;gBACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9C,IAAI,WAAW,KAAK,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;oBAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;iBACvD;gBACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;gBAC1D,MAAM,EAAE,GAAG,aAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClE,MAAM,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;oBACnE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACpC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;iBACvD;aACF;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;CACF;AAjDD,kCAiDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
import {
|
|
2
|
+
import { LegacyMultisigIsm } from '@hyperlane-xyz/core';
|
|
3
3
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
4
4
|
import { ChainMap, ChainName } from '../types';
|
|
5
5
|
import { HyperlaneCoreDeployer } from './HyperlaneCoreDeployer';
|
|
@@ -8,7 +8,7 @@ import { CoreConfig } from './types';
|
|
|
8
8
|
export declare class TestCoreDeployer extends HyperlaneCoreDeployer {
|
|
9
9
|
readonly multiProvider: MultiProvider;
|
|
10
10
|
constructor(multiProvider: MultiProvider, configMap?: ChainMap<CoreConfig>);
|
|
11
|
-
|
|
11
|
+
deployLegacyMultisigIsm(chain: ChainName): Promise<LegacyMultisigIsm>;
|
|
12
12
|
transferOwnershipOfContracts(): Promise<ethers.ContractReceipt[]>;
|
|
13
13
|
deployApp(): Promise<TestCoreApp>;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"TestCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,iBAAiB,EAIlB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AASrC,qBAAa,gBAAiB,SAAQ,qBAAqB;aAEvC,aAAa,EAAE,aAAa;gBAA5B,aAAa,EAAE,aAAa,EAC5C,SAAS,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IAS5B,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAYrE,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAIjE,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;CAGxC"}
|
|
@@ -10,43 +10,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TestCoreDeployer = void 0;
|
|
13
|
-
const ethers_1 = require("ethers");
|
|
14
13
|
const core_1 = require("@hyperlane-xyz/core");
|
|
14
|
+
const chains_1 = require("../consts/chains");
|
|
15
|
+
const testUtils_1 = require("../test/testUtils");
|
|
15
16
|
const HyperlaneCoreDeployer_1 = require("./HyperlaneCoreDeployer");
|
|
16
17
|
const TestCoreApp_1 = require("./TestCoreApp");
|
|
17
18
|
const contracts_1 = require("./contracts");
|
|
18
|
-
const types_1 = require("./types");
|
|
19
|
-
const nonZeroAddress = ethers_1.ethers.constants.AddressZero.replace('00', '01');
|
|
20
|
-
// dummy config as TestInbox and TestOutbox do not use deployed ISM
|
|
21
|
-
const testConfig = {
|
|
22
|
-
owner: nonZeroAddress,
|
|
23
|
-
multisigIsm: {
|
|
24
|
-
validators: [nonZeroAddress],
|
|
25
|
-
threshold: 1,
|
|
26
|
-
},
|
|
27
|
-
igp: {
|
|
28
|
-
beneficiary: nonZeroAddress,
|
|
29
|
-
gasOracles: {
|
|
30
|
-
test1: types_1.GasOracleContractType.StorageGasOracle,
|
|
31
|
-
test2: types_1.GasOracleContractType.StorageGasOracle,
|
|
32
|
-
test3: types_1.GasOracleContractType.StorageGasOracle,
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
19
|
const testCoreFactories = Object.assign(Object.assign({}, contracts_1.coreFactories), { mailbox: new core_1.TestMailbox__factory(), testIsm: new core_1.TestIsm__factory(), interchainGasPaymaster: new core_1.TestInterchainGasPaymaster__factory() });
|
|
37
20
|
class TestCoreDeployer extends HyperlaneCoreDeployer_1.HyperlaneCoreDeployer {
|
|
38
21
|
constructor(multiProvider, configMap) {
|
|
39
22
|
// Note that the multisig module configs are unused.
|
|
40
|
-
const configs = configMap !== null && configMap !== void 0 ? configMap :
|
|
41
|
-
test1: testConfig,
|
|
42
|
-
test2: testConfig,
|
|
43
|
-
test3: testConfig,
|
|
44
|
-
};
|
|
23
|
+
const configs = configMap !== null && configMap !== void 0 ? configMap : (0, testUtils_1.testCoreConfig)(chains_1.TestChains);
|
|
45
24
|
super(multiProvider, configs, testCoreFactories);
|
|
46
25
|
this.multiProvider = multiProvider;
|
|
47
26
|
}
|
|
48
27
|
// deploy a test ISM in place of a multisig ISM
|
|
49
|
-
|
|
28
|
+
deployLegacyMultisigIsm(chain) {
|
|
50
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
30
|
const testIsm = yield this.deployContractFromFactory(chain, testCoreFactories.testIsm, 'testIsm', []);
|
|
52
31
|
yield testIsm.setAccept(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"TestCoreDeployer.js","sourceRoot":"","sources":["../../src/core/TestCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,8CAK6B;AAE7B,6CAA8C;AAE9C,iDAAmD;AAGnD,mEAAgE;AAChE,+CAA4C;AAC5C,2CAA4C;AAG5C,MAAM,iBAAiB,mCAClB,yBAAa,KAChB,OAAO,EAAE,IAAI,2BAAoB,EAAE,EACnC,OAAO,EAAE,IAAI,uBAAgB,EAAE,EAC/B,sBAAsB,EAAE,IAAI,0CAAmC,EAAE,GAClE,CAAC;AAEF,MAAa,gBAAiB,SAAQ,6CAAqB;IACzD,YACkB,aAA4B,EAC5C,SAAgC;QAEhC,oDAAoD;QACpD,MAAM,OAAO,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAA,0BAAc,EAAC,mBAAU,CAAC,CAAC;QAExD,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QANjC,kBAAa,GAAb,aAAa,CAAe;IAO9C,CAAC;IAED,+CAA+C;IACzC,uBAAuB,CAAC,KAAgB;;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,KAAK,EACL,iBAAiB,CAAC,OAAO,EACzB,SAAS,EACT,EAAE,CACH,CAAC;YACF,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,OAAuC,CAAC;QACjD,CAAC;KAAA;IAED,wDAAwD;IAClD,4BAA4B;;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAEK,SAAS;;YACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC;KAAA;CACF;AA/BD,4CA+BC"}
|
package/dist/core/contracts.d.ts
CHANGED
|
@@ -1,28 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ProxiedContract, TransparentProxyAddresses } from '../proxy';
|
|
3
|
-
export declare type GasOracleContracts = {
|
|
4
|
-
storageGasOracle: StorageGasOracle;
|
|
5
|
-
};
|
|
6
|
-
export declare type ConnectionClientContracts = {
|
|
7
|
-
interchainGasPaymaster: ProxiedContract<InterchainGasPaymaster, TransparentProxyAddresses>;
|
|
8
|
-
defaultIsmInterchainGasPaymaster: OverheadIgp;
|
|
9
|
-
};
|
|
10
|
-
export declare type CoreContracts = GasOracleContracts & ConnectionClientContracts & {
|
|
11
|
-
mailbox: ProxiedContract<Mailbox, TransparentProxyAddresses>;
|
|
12
|
-
multisigIsm: MultisigIsm;
|
|
13
|
-
proxyAdmin: ProxyAdmin;
|
|
14
|
-
validatorAnnounce: ValidatorAnnounce;
|
|
15
|
-
};
|
|
1
|
+
import { LegacyMultisigIsm__factory, Mailbox__factory, ProxyAdmin__factory, ValidatorAnnounce__factory } from '@hyperlane-xyz/core';
|
|
16
2
|
export declare const coreFactories: {
|
|
17
|
-
interchainAccountRouter: InterchainAccountRouter__factory;
|
|
18
|
-
interchainQueryRouter: InterchainQueryRouter__factory;
|
|
19
3
|
validatorAnnounce: ValidatorAnnounce__factory;
|
|
20
|
-
create2Factory: Create2Factory__factory;
|
|
21
4
|
proxyAdmin: ProxyAdmin__factory;
|
|
22
|
-
|
|
23
|
-
defaultIsmInterchainGasPaymaster: OverheadIgp__factory;
|
|
24
|
-
storageGasOracle: StorageGasOracle__factory;
|
|
25
|
-
multisigIsm: MultisigIsm__factory;
|
|
5
|
+
multisigIsm: LegacyMultisigIsm__factory;
|
|
26
6
|
mailbox: Mailbox__factory;
|
|
27
7
|
};
|
|
8
|
+
export declare type CoreFactories = typeof coreFactories;
|
|
28
9
|
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC;AAEF,oBAAY,aAAa,GAAG,OAAO,aAAa,CAAC"}
|
package/dist/core/contracts.js
CHANGED
|
@@ -3,15 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.coreFactories = void 0;
|
|
4
4
|
const core_1 = require("@hyperlane-xyz/core");
|
|
5
5
|
exports.coreFactories = {
|
|
6
|
-
interchainAccountRouter: new core_1.InterchainAccountRouter__factory(),
|
|
7
|
-
interchainQueryRouter: new core_1.InterchainQueryRouter__factory(),
|
|
8
6
|
validatorAnnounce: new core_1.ValidatorAnnounce__factory(),
|
|
9
|
-
create2Factory: new core_1.Create2Factory__factory(),
|
|
10
7
|
proxyAdmin: new core_1.ProxyAdmin__factory(),
|
|
11
|
-
|
|
12
|
-
defaultIsmInterchainGasPaymaster: new core_1.OverheadIgp__factory(),
|
|
13
|
-
storageGasOracle: new core_1.StorageGasOracle__factory(),
|
|
14
|
-
multisigIsm: new core_1.MultisigIsm__factory(),
|
|
8
|
+
multisigIsm: new core_1.LegacyMultisigIsm__factory(),
|
|
15
9
|
mailbox: new core_1.Mailbox__factory(),
|
|
16
10
|
};
|
|
17
11
|
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":";;;AAAA,8CAK6B;AAEhB,QAAA,aAAa,GAAG;IAC3B,iBAAiB,EAAE,IAAI,iCAA0B,EAAE;IACnD,UAAU,EAAE,IAAI,0BAAmB,EAAE;IACrC,WAAW,EAAE,IAAI,iCAA0B,EAAE;IAC7C,OAAO,EAAE,IAAI,uBAAgB,EAAE;CAChC,CAAC"}
|
|
@@ -29,11 +29,11 @@ describe('TestCoreDeployer', () => __awaiter(void 0, void 0, void 0, function* (
|
|
|
29
29
|
const deployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
|
|
30
30
|
testCoreApp = yield deployer.deployApp();
|
|
31
31
|
const recipient = yield new core_1.TestRecipient__factory(signer).deploy();
|
|
32
|
-
localMailbox = testCoreApp.getContracts(localChain).mailbox
|
|
32
|
+
localMailbox = testCoreApp.getContracts(localChain).mailbox;
|
|
33
33
|
const dispatchResponse = localMailbox.dispatch(multiProvider.getDomainId(remoteChain), utils_1.utils.addressToBytes32(recipient.address), message);
|
|
34
34
|
yield (0, chai_1.expect)(dispatchResponse).to.emit(localMailbox, 'Dispatch');
|
|
35
35
|
dispatchReceipt = yield testCoreApp.multiProvider.handleTx(localChain, dispatchResponse);
|
|
36
|
-
remoteMailbox = testCoreApp.getContracts(remoteChain).mailbox
|
|
36
|
+
remoteMailbox = testCoreApp.getContracts(remoteChain).mailbox;
|
|
37
37
|
yield (0, chai_1.expect)(remoteMailbox.dispatch(multiProvider.getDomainId(localChain), utils_1.utils.addressToBytes32(recipient.address), message)).to.emit(remoteMailbox, 'Dispatch');
|
|
38
38
|
}));
|
|
39
39
|
it('processes outbound messages for a single domain', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testHyperlaneDeploy.hardhat-test.js","sourceRoot":"","sources":["../../src/core/testHyperlaneDeploy.hardhat-test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,qCAAmC;AACnC,qCAAmC;AACnC,+BAA8B;AAE9B,qCAAiC;AAEjC,8CAA0E;AAC1E,gDAA6C;AAE7C,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,GAAS,EAAE;IACtC,IAAI,WAAwB,EAC1B,YAAyB,EACzB,aAA0B,EAC1B,eAAgC,CAAC;IAEnC,UAAU,CAAC,GAAS,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;QACxE,MAAM,QAAQ,GAAG,IAAI,mCAAgB,CAAC,aAAa,CAAC,CAAC;QACrD,WAAW,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,MAAM,IAAI,6BAAsB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACpE,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,OAAO,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
|
@@ -1,32 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { InterchainGasPaymaster, Mailbox, MultisigIsm, OverheadIgp } from '@hyperlane-xyz/core';
|
|
1
|
+
import { LegacyMultisigIsm, Mailbox } from '@hyperlane-xyz/core';
|
|
3
2
|
import type { types } from '@hyperlane-xyz/utils';
|
|
4
3
|
import type { CheckerViolation } from '../deploy/types';
|
|
5
4
|
import { ChainMap, ChainName } from '../types';
|
|
6
|
-
export declare enum GasOracleContractType {
|
|
7
|
-
StorageGasOracle = "StorageGasOracle"
|
|
8
|
-
}
|
|
9
|
-
export declare type InterchainGasPaymasterConfig = {
|
|
10
|
-
beneficiary: types.Address;
|
|
11
|
-
gasOracles: ChainMap<GasOracleContractType>;
|
|
12
|
-
};
|
|
13
5
|
export declare type MultisigIsmConfig = {
|
|
14
6
|
validators: Array<types.Address>;
|
|
15
7
|
threshold: number;
|
|
16
8
|
};
|
|
17
9
|
export declare type CoreConfig = {
|
|
18
|
-
multisigIsm: MultisigIsmConfig
|
|
10
|
+
multisigIsm: ChainMap<MultisigIsmConfig>;
|
|
19
11
|
owner: types.Address;
|
|
20
|
-
igp: InterchainGasPaymasterConfig;
|
|
21
12
|
remove?: boolean;
|
|
22
13
|
};
|
|
23
14
|
export declare enum CoreViolationType {
|
|
24
15
|
MultisigIsm = "MultisigIsm",
|
|
25
16
|
Mailbox = "Mailbox",
|
|
26
17
|
ConnectionManager = "ConnectionManager",
|
|
27
|
-
ValidatorAnnounce = "ValidatorAnnounce"
|
|
28
|
-
InterchainGasPaymaster = "InterchainGasPaymaster",
|
|
29
|
-
DefaultIsmInterchainGasPaymaster = "DefaultIsmInterchainGasPaymaster"
|
|
18
|
+
ValidatorAnnounce = "ValidatorAnnounce"
|
|
30
19
|
}
|
|
31
20
|
export declare enum MultisigIsmViolationType {
|
|
32
21
|
EnrolledValidators = "EnrolledValidators",
|
|
@@ -35,13 +24,6 @@ export declare enum MultisigIsmViolationType {
|
|
|
35
24
|
export declare enum MailboxViolationType {
|
|
36
25
|
DefaultIsm = "DefaultIsm"
|
|
37
26
|
}
|
|
38
|
-
export declare enum DefaultIsmIgpViolationType {
|
|
39
|
-
DestinationGasOverheads = "DestinationGasOverheads"
|
|
40
|
-
}
|
|
41
|
-
export declare enum IgpViolationType {
|
|
42
|
-
Beneficiary = "Beneficiary",
|
|
43
|
-
GasOracles = "GasOracles"
|
|
44
|
-
}
|
|
45
27
|
export interface MailboxViolation extends CheckerViolation {
|
|
46
28
|
type: CoreViolationType.Mailbox;
|
|
47
29
|
contract: Mailbox;
|
|
@@ -53,7 +35,7 @@ export interface MailboxMultisigIsmViolation extends MailboxViolation {
|
|
|
53
35
|
}
|
|
54
36
|
export interface MultisigIsmViolation extends CheckerViolation {
|
|
55
37
|
type: CoreViolationType.MultisigIsm;
|
|
56
|
-
contract:
|
|
38
|
+
contract: LegacyMultisigIsm;
|
|
57
39
|
subType: MultisigIsmViolationType;
|
|
58
40
|
remote: ChainName;
|
|
59
41
|
}
|
|
@@ -74,29 +56,4 @@ export interface ValidatorAnnounceViolation extends CheckerViolation {
|
|
|
74
56
|
actual: boolean;
|
|
75
57
|
expected: boolean;
|
|
76
58
|
}
|
|
77
|
-
export interface IgpViolation extends CheckerViolation {
|
|
78
|
-
type: CoreViolationType.InterchainGasPaymaster;
|
|
79
|
-
contract: InterchainGasPaymaster;
|
|
80
|
-
subType: IgpViolationType;
|
|
81
|
-
}
|
|
82
|
-
export interface IgpBeneficiaryViolation extends IgpViolation {
|
|
83
|
-
subType: IgpViolationType.Beneficiary;
|
|
84
|
-
actual: types.Address;
|
|
85
|
-
expected: types.Address;
|
|
86
|
-
}
|
|
87
|
-
export interface IgpGasOraclesViolation extends IgpViolation {
|
|
88
|
-
subType: IgpViolationType.GasOracles;
|
|
89
|
-
actual: ChainMap<types.Address>;
|
|
90
|
-
expected: ChainMap<types.Address>;
|
|
91
|
-
}
|
|
92
|
-
export interface DefaultIsmIgpViolation extends CheckerViolation {
|
|
93
|
-
type: CoreViolationType.DefaultIsmInterchainGasPaymaster;
|
|
94
|
-
contract: OverheadIgp;
|
|
95
|
-
subType: DefaultIsmIgpViolationType;
|
|
96
|
-
}
|
|
97
|
-
export interface DefaultIsmIgpDestinationGasOverheadsViolation extends DefaultIsmIgpViolation {
|
|
98
|
-
subType: DefaultIsmIgpViolationType.DestinationGasOverheads;
|
|
99
|
-
actual: ChainMap<BigNumber>;
|
|
100
|
-
expected: ChainMap<BigNumber>;
|
|
101
|
-
}
|
|
102
59
|
//# sourceMappingURL=types.d.ts.map
|
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,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,oBAAY,iBAAiB,GAAG;IAC9B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,wBAAwB;IAClC,kBAAkB,uBAAuB;IACzC,SAAS,cAAc;CACxB;AAED,oBAAY,oBAAoB;IAC9B,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACpC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,OAAO,EAAE,wBAAwB,CAAC,kBAAkB,CAAC;IACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
|
package/dist/core/types.js
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var GasOracleContractType;
|
|
5
|
-
(function (GasOracleContractType) {
|
|
6
|
-
GasOracleContractType["StorageGasOracle"] = "StorageGasOracle";
|
|
7
|
-
})(GasOracleContractType = exports.GasOracleContractType || (exports.GasOracleContractType = {}));
|
|
3
|
+
exports.MailboxViolationType = exports.MultisigIsmViolationType = exports.CoreViolationType = void 0;
|
|
8
4
|
var CoreViolationType;
|
|
9
5
|
(function (CoreViolationType) {
|
|
10
6
|
CoreViolationType["MultisigIsm"] = "MultisigIsm";
|
|
11
7
|
CoreViolationType["Mailbox"] = "Mailbox";
|
|
12
8
|
CoreViolationType["ConnectionManager"] = "ConnectionManager";
|
|
13
9
|
CoreViolationType["ValidatorAnnounce"] = "ValidatorAnnounce";
|
|
14
|
-
CoreViolationType["InterchainGasPaymaster"] = "InterchainGasPaymaster";
|
|
15
|
-
CoreViolationType["DefaultIsmInterchainGasPaymaster"] = "DefaultIsmInterchainGasPaymaster";
|
|
16
10
|
})(CoreViolationType = exports.CoreViolationType || (exports.CoreViolationType = {}));
|
|
17
11
|
var MultisigIsmViolationType;
|
|
18
12
|
(function (MultisigIsmViolationType) {
|
|
@@ -23,13 +17,4 @@ var MailboxViolationType;
|
|
|
23
17
|
(function (MailboxViolationType) {
|
|
24
18
|
MailboxViolationType["DefaultIsm"] = "DefaultIsm";
|
|
25
19
|
})(MailboxViolationType = exports.MailboxViolationType || (exports.MailboxViolationType = {}));
|
|
26
|
-
var DefaultIsmIgpViolationType;
|
|
27
|
-
(function (DefaultIsmIgpViolationType) {
|
|
28
|
-
DefaultIsmIgpViolationType["DestinationGasOverheads"] = "DestinationGasOverheads";
|
|
29
|
-
})(DefaultIsmIgpViolationType = exports.DefaultIsmIgpViolationType || (exports.DefaultIsmIgpViolationType = {}));
|
|
30
|
-
var IgpViolationType;
|
|
31
|
-
(function (IgpViolationType) {
|
|
32
|
-
IgpViolationType["Beneficiary"] = "Beneficiary";
|
|
33
|
-
IgpViolationType["GasOracles"] = "GasOracles";
|
|
34
|
-
})(IgpViolationType = exports.IgpViolationType || (exports.IgpViolationType = {}));
|
|
35
20
|
//# sourceMappingURL=types.js.map
|
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":";;;AAiBA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,gDAA2B,CAAA;IAC3B,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;AACzC,CAAC,EALW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAK5B;AAED,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,qEAAyC,CAAA;IACzC,mDAAuB,CAAA;AACzB,CAAC,EAHW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAGnC;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;AAC3B,CAAC,EAFW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAE/B"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { Ownable } from '@hyperlane-xyz/core';
|
|
2
1
|
import type { types } from '@hyperlane-xyz/utils';
|
|
3
2
|
import { HyperlaneApp } from '../HyperlaneApp';
|
|
4
3
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
5
|
-
import { TransparentProxyAddresses } from '../proxy';
|
|
6
4
|
import { ChainMap, ChainName } from '../types';
|
|
7
5
|
import { CheckerViolation } from './types';
|
|
8
6
|
export declare abstract class HyperlaneAppChecker<App extends HyperlaneApp<any>, Config> {
|
|
@@ -14,10 +12,10 @@ export declare abstract class HyperlaneAppChecker<App extends HyperlaneApp<any>,
|
|
|
14
12
|
abstract checkChain(chain: ChainName): Promise<void>;
|
|
15
13
|
check(): Promise<void[]>;
|
|
16
14
|
addViolation(violation: CheckerViolation): void;
|
|
17
|
-
|
|
15
|
+
checkProxiedContracts(chain: ChainName): Promise<void>;
|
|
18
16
|
private removeBytecodeMetadata;
|
|
19
17
|
checkBytecode(chain: ChainName, name: string, address: string, expectedBytecodeHashes: string[], modifyBytecodePriorToHash?: (bytecode: string) => string): Promise<void>;
|
|
20
|
-
checkOwnership(chain: ChainName, owner: types.Address
|
|
18
|
+
checkOwnership(chain: ChainName, owner: types.Address): Promise<void>;
|
|
21
19
|
expectViolations(violationCounts: Record<string, number>): void;
|
|
22
20
|
expectEmpty(): void;
|
|
23
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EAEL,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AAEjB,8BAAsB,mBAAmB,CACvC,GAAG,SAAS,YAAY,CAAC,GAAG,CAAC,EAC7B,MAAM;IAEN,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAGtC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC;IAQ7B,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9C,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAiB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B5D,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;IAkBV,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3E,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
|
|
@@ -38,25 +38,29 @@ class HyperlaneAppChecker {
|
|
|
38
38
|
addViolation(violation) {
|
|
39
39
|
this.violations.push(violation);
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
checkProxiedContracts(chain) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
this.addViolation((0, proxy_1.proxyViolation)(chain, name, proxiedAddress, implementation));
|
|
43
|
+
const expectedAdmin = this.app.getContracts(chain).proxyAdmin.address;
|
|
44
|
+
if (!expectedAdmin) {
|
|
45
|
+
throw new Error(`Checking proxied contracts for ${chain} with no admin provided`);
|
|
47
46
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
48
|
+
const contracts = this.app.getContracts(chain);
|
|
49
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(contracts, (name, contract) => __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
if (yield (0, proxy_1.isProxy)(provider, contract.address)) {
|
|
51
|
+
// Check the ProxiedContract's admin matches expectation
|
|
52
|
+
const actualAdmin = yield (0, proxy_1.proxyAdmin)(provider, contract.address);
|
|
53
|
+
if (!utils_2.utils.eqAddress(actualAdmin, expectedAdmin)) {
|
|
54
|
+
this.addViolation({
|
|
55
|
+
type: types_1.ViolationType.ProxyAdmin,
|
|
56
|
+
chain,
|
|
57
|
+
name,
|
|
58
|
+
expected: expectedAdmin,
|
|
59
|
+
actual: actualAdmin,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
58
62
|
}
|
|
59
|
-
}
|
|
63
|
+
})));
|
|
60
64
|
});
|
|
61
65
|
}
|
|
62
66
|
removeBytecodeMetadata(bytecode) {
|
|
@@ -81,19 +85,33 @@ class HyperlaneAppChecker {
|
|
|
81
85
|
}
|
|
82
86
|
});
|
|
83
87
|
}
|
|
84
|
-
|
|
88
|
+
// TODO: Require owner in config if ownables is non-empty
|
|
89
|
+
checkOwnership(chain, owner) {
|
|
85
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
91
|
+
const isOwnable = (contract) => __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
try {
|
|
93
|
+
yield contract.owner();
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
catch (_) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
const contracts = this.app.getContracts(chain);
|
|
101
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(contracts, (name, contract) => __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
if (yield isOwnable(contract)) {
|
|
103
|
+
const actual = yield contract.owner();
|
|
104
|
+
if (!utils_2.utils.eqAddress(actual, owner)) {
|
|
105
|
+
const violation = {
|
|
106
|
+
chain,
|
|
107
|
+
name,
|
|
108
|
+
type: types_1.ViolationType.Owner,
|
|
109
|
+
actual,
|
|
110
|
+
expected: owner,
|
|
111
|
+
contract,
|
|
112
|
+
};
|
|
113
|
+
this.addViolation(violation);
|
|
114
|
+
}
|
|
97
115
|
}
|
|
98
116
|
})));
|
|
99
117
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Debugger } from 'debug';
|
|
2
|
-
import { ethers } from 'ethers';
|
|
3
|
-
import { Ownable, ProxyAdmin } from '@hyperlane-xyz/core';
|
|
2
|
+
import { Contract, ethers } from 'ethers';
|
|
3
|
+
import { HyperlaneConnectionClient, Ownable, ProxyAdmin, TransparentUpgradeableProxy } from '@hyperlane-xyz/core';
|
|
4
4
|
import { types } from '@hyperlane-xyz/utils';
|
|
5
|
-
import { HyperlaneContracts, HyperlaneFactories } from '../contracts';
|
|
5
|
+
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
|
|
6
6
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
7
|
-
import {
|
|
7
|
+
import { ConnectionClientConfig } from '../router/types';
|
|
8
8
|
import { ChainMap, ChainName } from '../types';
|
|
9
9
|
import { ContractVerificationInput } from './verify/types';
|
|
10
10
|
export interface DeployerOptions {
|
|
@@ -15,33 +15,34 @@ export interface DeployOptions {
|
|
|
15
15
|
initCalldata?: string;
|
|
16
16
|
}
|
|
17
17
|
export declare const CREATE2FACTORY_ADDRESS = "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a";
|
|
18
|
-
export declare abstract class HyperlaneDeployer<Config,
|
|
18
|
+
export declare abstract class HyperlaneDeployer<Config, Factories extends HyperlaneFactories> {
|
|
19
19
|
protected readonly multiProvider: MultiProvider;
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
readonly configMap: ChainMap<Config>;
|
|
21
|
+
readonly factories: Factories;
|
|
22
22
|
protected readonly options?: DeployerOptions | undefined;
|
|
23
|
-
deployedContracts:
|
|
23
|
+
deployedContracts: HyperlaneContractsMap<Factories>;
|
|
24
24
|
verificationInputs: ChainMap<ContractVerificationInput[]>;
|
|
25
25
|
protected logger: Debugger;
|
|
26
26
|
constructor(multiProvider: MultiProvider, configMap: ChainMap<Config>, factories: Factories, options?: DeployerOptions | undefined);
|
|
27
|
-
cacheContracts(partialDeployment:
|
|
28
|
-
abstract deployContracts(chain: ChainName, config: Config): Promise<
|
|
29
|
-
deploy(partialDeployment?:
|
|
27
|
+
cacheContracts(partialDeployment: HyperlaneContractsMap<Factories>): void;
|
|
28
|
+
abstract deployContracts(chain: ChainName, config: Config): Promise<HyperlaneContracts<Factories>>;
|
|
29
|
+
deploy(partialDeployment?: HyperlaneContractsMap<Factories>): Promise<HyperlaneContractsMap<Factories>>;
|
|
30
|
+
protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>): Promise<T | undefined>;
|
|
30
31
|
protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
|
|
32
|
+
protected runIfAdmin<T>(chain: ChainName, proxy: Contract, signerAdminFn: () => Promise<T>, proxyAdminOwnerFn: (proxyAdmin: ProxyAdmin) => Promise<T>): Promise<T | undefined>;
|
|
33
|
+
protected initConnectionClient(local: ChainName, connectionClient: HyperlaneConnectionClient, config: ConnectionClientConfig): Promise<void>;
|
|
31
34
|
protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
|
|
32
|
-
deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<
|
|
33
|
-
protected
|
|
35
|
+
deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<HyperlaneContracts<Factories>[K]>;
|
|
36
|
+
protected changeAdmin(chain: ChainName, proxy: TransparentUpgradeableProxy, admin: string): Promise<void>;
|
|
37
|
+
protected upgradeAndInitialize(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation: string, initData: string): Promise<void>;
|
|
38
|
+
protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, initArgs: Parameters<C['initialize']>, proxyAdmin: string, deployOpts?: DeployOptions): Promise<C>;
|
|
34
39
|
private cacheContract;
|
|
35
40
|
/**
|
|
36
41
|
* Deploys the Implementation and Proxy for a given contract
|
|
37
42
|
*
|
|
38
43
|
*/
|
|
39
|
-
deployProxiedContract<K extends keyof Factories
|
|
40
|
-
/**
|
|
41
|
-
* Changes the proxyAdmin of `proxyAddress` from `currentProxyAdmin` to `desiredProxyAdmin`
|
|
42
|
-
* if the admin is not already the `desiredProxyAdmin`.
|
|
43
|
-
*/
|
|
44
|
-
changeProxyAdmin(chain: ChainName, proxyAddress: types.Address, currentProxyAdmin: ProxyAdmin, desiredProxyAdmin: ProxyAdmin): Promise<void>;
|
|
44
|
+
deployProxiedContract<K extends keyof Factories>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, initArgs: Parameters<HyperlaneContracts<Factories>[K]['initialize']>, proxyAdmin: string, deployOpts?: DeployOptions): Promise<HyperlaneContracts<Factories>[K]>;
|
|
45
45
|
mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<ContractVerificationInput[]>): ChainMap<ContractVerificationInput[]>;
|
|
46
|
+
protected transferOwnershipOfContracts(chain: ChainName, owner: types.Address, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
|
|
46
47
|
}
|
|
47
48
|
//# sourceMappingURL=HyperlaneDeployer.d.ts.map
|