@hyperlane-xyz/sdk 1.3.0 → 1.3.2
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.map +1 -1
- package/dist/HyperlaneApp.js +1 -1
- package/dist/HyperlaneApp.js.map +1 -1
- package/dist/consts/environments/index.d.ts +18 -26
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/mainnet.json +18 -18
- package/dist/consts/environments/testnet.json +17 -25
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +4 -3
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/contracts.d.ts +11 -8
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +37 -11
- package/dist/contracts.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.d.ts +2 -0
- package/dist/core/CoreDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +93 -0
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -0
- package/dist/core/HyperlaneCore.d.ts +2 -1
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +14 -10
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +6 -11
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +25 -24
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +14 -6
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +12 -6
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +4 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +21 -25
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +21 -20
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +93 -122
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +4 -0
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +10 -0
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +7 -13
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +25 -36
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.d.ts +2 -2
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +2 -2
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +6 -6
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +32 -25
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +4 -9
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +3 -0
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +12 -5
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +28 -19
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +2 -2
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQueryChecker.d.ts +2 -2
- package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryChecker.js +2 -2
- package/dist/middleware/query/InterchainQueryChecker.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +10 -5
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +31 -4
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +2 -2
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +1 -1
- package/dist/providers/MultiProvider.js +3 -3
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/router/GasRouterDeployer.d.ts +4 -5
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +5 -9
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +2 -3
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts +5 -7
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +21 -30
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/ProxiedRouterChecker.d.ts +8 -0
- package/dist/router/ProxiedRouterChecker.d.ts.map +1 -0
- package/dist/{middleware/MiddlewareRouterChecker.js → router/ProxiedRouterChecker.js} +5 -5
- package/dist/router/ProxiedRouterChecker.js.map +1 -0
- package/dist/router/ProxiedRouterDeployer.d.ts +13 -0
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -0
- package/dist/router/ProxiedRouterDeployer.js +35 -0
- package/dist/router/ProxiedRouterDeployer.js.map +1 -0
- package/dist/router/types.d.ts +1 -2
- package/dist/router/types.d.ts.map +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/utils/objects.d.ts +7 -2
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/objects.js +4 -1
- package/dist/utils/objects.js.map +1 -1
- package/package.json +5 -5
- package/dist/middleware/MiddlewareRouterChecker.d.ts +0 -8
- package/dist/middleware/MiddlewareRouterChecker.d.ts.map +0 -1
- package/dist/middleware/MiddlewareRouterChecker.js.map +0 -1
- package/dist/middleware/MiddlewareRouterDeployer.d.ts +0 -17
- package/dist/middleware/MiddlewareRouterDeployer.d.ts.map +0 -1
- package/dist/middleware/MiddlewareRouterDeployer.js +0 -62
- package/dist/middleware/MiddlewareRouterDeployer.js.map +0 -1
- package/dist/test/envSubsetDeployer/app.d.ts +0 -33
- package/dist/test/envSubsetDeployer/app.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/app.js +0 -72
- package/dist/test/envSubsetDeployer/app.js.map +0 -1
- package/dist/test/envSubsetDeployer/check-single-chain.d.ts +0 -2
- package/dist/test/envSubsetDeployer/check-single-chain.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/check-single-chain.js +0 -43
- package/dist/test/envSubsetDeployer/check-single-chain.js.map +0 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts +0 -2
- package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.js +0 -40
- package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +0 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts +0 -2
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +0 -83
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +0 -1
- package/dist/test/envSubsetDeployer/utils.d.ts +0 -4
- package/dist/test/envSubsetDeployer/utils.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/utils.js +0 -17
- package/dist/test/envSubsetDeployer/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoreDeployer.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/core/CoreDeployer.hardhat-test.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
require("@nomiclabs/hardhat-waffle");
|
|
16
|
+
const chai_1 = require("chai");
|
|
17
|
+
const hardhat_1 = require("hardhat");
|
|
18
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
19
|
+
const chains_1 = require("../consts/chains");
|
|
20
|
+
const MultiProvider_1 = require("../providers/MultiProvider");
|
|
21
|
+
const testUtils_1 = require("../test/testUtils");
|
|
22
|
+
const HyperlaneCore_1 = require("./HyperlaneCore");
|
|
23
|
+
const HyperlaneCoreChecker_1 = require("./HyperlaneCoreChecker");
|
|
24
|
+
const HyperlaneCoreDeployer_1 = require("./HyperlaneCoreDeployer");
|
|
25
|
+
describe('core', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
let multiProvider;
|
|
27
|
+
let deployer;
|
|
28
|
+
let core;
|
|
29
|
+
let contracts;
|
|
30
|
+
let coreConfig;
|
|
31
|
+
beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
const [signer] = yield hardhat_1.ethers.getSigners();
|
|
33
|
+
// This is kind of awkward and really these tests shouldn't live here
|
|
34
|
+
multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
|
|
35
|
+
coreConfig = (0, testUtils_1.testCoreConfig)(chains_1.TestChains);
|
|
36
|
+
}));
|
|
37
|
+
it('deploys', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
+
deployer = new HyperlaneCoreDeployer_1.HyperlaneCoreDeployer(multiProvider);
|
|
39
|
+
contracts = yield deployer.deploy(coreConfig);
|
|
40
|
+
core = new HyperlaneCore_1.HyperlaneCore(contracts, multiProvider);
|
|
41
|
+
}));
|
|
42
|
+
describe('failure modes', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
+
beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
deployer = new HyperlaneCoreDeployer_1.HyperlaneCoreDeployer(multiProvider);
|
|
45
|
+
const stub = sinon_1.default.stub(deployer, 'deployContracts');
|
|
46
|
+
stub.withArgs('test3', sinon_1.default.match.any).rejects();
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
deployer.deployContracts.callThrough();
|
|
49
|
+
try {
|
|
50
|
+
yield deployer.deploy(coreConfig);
|
|
51
|
+
// eslint-disable-next-line no-empty
|
|
52
|
+
}
|
|
53
|
+
catch (e) { }
|
|
54
|
+
}));
|
|
55
|
+
afterEach(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
+
sinon_1.default.restore();
|
|
57
|
+
}));
|
|
58
|
+
it('persists partial failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
+
(0, chai_1.expect)(deployer.deployedContracts).to.have.keys(['test1', 'test2']);
|
|
60
|
+
}));
|
|
61
|
+
it('can be resumed from partial (chain) failure', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
+
sinon_1.default.restore(); // restore normal deployer behavior and test3 will be deployed
|
|
63
|
+
const result = yield deployer.deploy(coreConfig);
|
|
64
|
+
(0, chai_1.expect)(result).to.have.keys(['test1', 'test2', 'test3']);
|
|
65
|
+
(0, chai_1.expect)(result.test3).to.have.keys(Object.keys(result.test2));
|
|
66
|
+
}));
|
|
67
|
+
it('can be resumed from partial contracts', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
+
sinon_1.default.restore(); // restore normal deployer behavior
|
|
69
|
+
//@ts-ignore operand not optional, ignore for this test
|
|
70
|
+
delete deployer.deployedContracts.test2.multisigIsm;
|
|
71
|
+
//@ts-ignore operand not optional, ignore for this test
|
|
72
|
+
delete deployer.deployedContracts.test2.mailbox;
|
|
73
|
+
const result = yield deployer.deploy(coreConfig);
|
|
74
|
+
(0, chai_1.expect)(result.test2).to.have.keys(Object.keys(result.test1));
|
|
75
|
+
(0, chai_1.expect)(result.test3).to.have.keys(Object.keys(result.test1));
|
|
76
|
+
}));
|
|
77
|
+
it('times out ', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
deployer.chainTimeoutMs = 1;
|
|
80
|
+
try {
|
|
81
|
+
yield deployer.deploy(coreConfig);
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
(0, chai_1.expect)(e.message).to.include('Timed out in 1ms');
|
|
85
|
+
}
|
|
86
|
+
}));
|
|
87
|
+
}));
|
|
88
|
+
it('checks', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
89
|
+
const checker = new HyperlaneCoreChecker_1.HyperlaneCoreChecker(multiProvider, core, coreConfig);
|
|
90
|
+
yield checker.check();
|
|
91
|
+
}));
|
|
92
|
+
}));
|
|
93
|
+
//# sourceMappingURL=CoreDeployer.hardhat-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoreDeployer.hardhat-test.js","sourceRoot":"","sources":["../../src/core/CoreDeployer.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,9 @@ export declare class HyperlaneCore extends HyperlaneApp<CoreFactories> {
|
|
|
19
19
|
};
|
|
20
20
|
protected waitForProcessReceipt(message: DispatchedMessage): Promise<ethers.ContractReceipt>;
|
|
21
21
|
protected waitForMessageWasProcessed(message: DispatchedMessage): Promise<void>;
|
|
22
|
-
getDispatchedMessages(sourceTx: ethers.ContractReceipt): DispatchedMessage[];
|
|
23
22
|
waitForMessageProcessing(sourceTx: ethers.ContractReceipt): Promise<ethers.ContractReceipt[]>;
|
|
24
23
|
waitForMessageProcessed(sourceTx: ethers.ContractReceipt): Promise<void>;
|
|
24
|
+
getDispatchedMessages(sourceTx: ethers.ContractReceipt): DispatchedMessage[];
|
|
25
|
+
static getDispatchedMessages(sourceTx: ethers.ContractReceipt): DispatchedMessage[];
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=HyperlaneCore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAE3D,oBAAY,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAc,SAAQ,YAAY,CAAC,aAAa,CAAC;IAC5D,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,oBAAoB,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,aAAa;IAgBhB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG;QACpD,gBAAgB,EAAE,SAAS,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC;KAClB;IAQD,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;cAiBlB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAYhB,
|
|
1
|
+
{"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAE3D,oBAAY,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAc,SAAQ,YAAY,CAAC,aAAa,CAAC;IAC5D,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,oBAAoB,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,GAC3B,aAAa;IAgBhB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG;QACpD,gBAAgB,EAAE,SAAS,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC;KAClB;IAQD,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;cAiBlB,0BAA0B,CACxC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAYhB,wBAAwB,CACtB,QAAQ,EAAE,MAAM,CAAC,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAK9B,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,CAAC,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC;IAQhB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,GAAG,iBAAiB,EAAE;IAI5E,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,CAAC,eAAe,GAC/B,iBAAiB,EAAE;CAqBvB"}
|
|
@@ -55,7 +55,21 @@ class HyperlaneCore extends HyperlaneApp_1.HyperlaneApp {
|
|
|
55
55
|
return;
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
+
waitForMessageProcessing(sourceTx) {
|
|
59
|
+
const messages = HyperlaneCore.getDispatchedMessages(sourceTx);
|
|
60
|
+
return Promise.all(messages.map((msg) => this.waitForProcessReceipt(msg)));
|
|
61
|
+
}
|
|
62
|
+
waitForMessageProcessed(sourceTx) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const messages = HyperlaneCore.getDispatchedMessages(sourceTx);
|
|
65
|
+
yield Promise.all(messages.map((msg) => this.waitForMessageWasProcessed(msg)));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
// Redundant with static method but keeping for backwards compatibility
|
|
58
69
|
getDispatchedMessages(sourceTx) {
|
|
70
|
+
return HyperlaneCore.getDispatchedMessages(sourceTx);
|
|
71
|
+
}
|
|
72
|
+
static getDispatchedMessages(sourceTx) {
|
|
59
73
|
const mailbox = core_1.Mailbox__factory.createInterface();
|
|
60
74
|
const dispatchLogs = sourceTx.logs
|
|
61
75
|
.map((log) => {
|
|
@@ -74,16 +88,6 @@ class HyperlaneCore extends HyperlaneApp_1.HyperlaneApp {
|
|
|
74
88
|
return { id, message, parsed };
|
|
75
89
|
});
|
|
76
90
|
}
|
|
77
|
-
waitForMessageProcessing(sourceTx) {
|
|
78
|
-
const messages = this.getDispatchedMessages(sourceTx);
|
|
79
|
-
return Promise.all(messages.map((msg) => this.waitForProcessReceipt(msg)));
|
|
80
|
-
}
|
|
81
|
-
waitForMessageProcessed(sourceTx) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const messages = this.getDispatchedMessages(sourceTx);
|
|
84
|
-
yield Promise.all(messages.map((msg) => this.waitForMessageWasProcessed(msg)));
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
91
|
}
|
|
88
92
|
exports.HyperlaneCore = HyperlaneCore;
|
|
89
93
|
//# sourceMappingURL=HyperlaneCore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,8CAAgE;AAChE,gDAAoD;AAEpD,kDAA+C;AAC/C,yDAGgC;AAIhC,2CAA2D;AAQ3D,MAAa,aAAc,SAAQ,2BAA2B;IAC5D,MAAM,CAAC,eAAe,CACpB,GAAQ,EACR,aAA4B;QAE5B,MAAM,YAAY,GAAG,oCAAqB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;SAClD;QACD,MAAM,gBAAgB,GAAG,2BAAY,CAAC,gBAAgB,CACpD,YAAY,EACZ,yBAAa,EACb,aAAa,CACd,CAAC;QACF,OAAO,IAAI,aAAa,CACtB,gBAAgB,CAAC,YAAY,EAC7B,gBAAgB,CAAC,aAAa,CAC/B,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,OAA0B;QAIjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CACtD,OAAO,CAAC,MAAM,CAAC,WAAW,CAC3B,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;QAC5D,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IAES,qBAAqB,CAC7B,OAA0B;QAE1B,MAAM,EAAE,GAAG,aAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE7C,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;gBACxC,IAAI,EAAE,KAAK,SAAS,EAAE;oBACpB,MAAM,CAAC,uBAAuB,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC;iBAC1D;gBACD,OAAO,CACL,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CACtE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEe,0BAA0B,CACxC,OAA0B;;YAE1B,MAAM,EAAE,GAAG,aAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,aAAK,CAAC,SAAS,CAAC,GAAS,EAAE;gBAC/B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;iBACpD;YACH,CAAC,CAAA,CAAC,CAAC;YACH,OAAO;QACT,CAAC;KAAA;IAED,
|
|
1
|
+
{"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import { LegacyMultisigIsm, Mailbox, ValidatorAnnounce } from '@hyperlane-xyz/core';
|
|
2
2
|
import { types } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { HyperlaneContracts } from '../contracts';
|
|
4
|
-
import {
|
|
4
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
|
|
5
5
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
6
6
|
import { ChainMap, ChainName } from '../types';
|
|
7
7
|
import { CoreFactories } from './contracts';
|
|
8
|
-
import { CoreConfig } from './types';
|
|
8
|
+
import { CoreConfig, MultisigIsmConfig } from './types';
|
|
9
9
|
export declare class HyperlaneCoreDeployer extends HyperlaneDeployer<CoreConfig, CoreFactories> {
|
|
10
10
|
startingBlockNumbers: ChainMap<number | undefined>;
|
|
11
|
-
constructor(multiProvider: MultiProvider
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
mailbox: import("@hyperlane-xyz/core").Mailbox__factory;
|
|
16
|
-
});
|
|
17
|
-
deployMailbox(chain: ChainName, defaultIsmAddress: types.Address, proxyAdmin: types.Address, deployOpts?: DeployOptions): Promise<Mailbox>;
|
|
18
|
-
deployValidatorAnnounce(chain: ChainName, mailboxAddress: string, deployOpts?: DeployOptions): Promise<ValidatorAnnounce>;
|
|
19
|
-
deployLegacyMultisigIsm(chain: ChainName): Promise<LegacyMultisigIsm>;
|
|
11
|
+
constructor(multiProvider: MultiProvider);
|
|
12
|
+
deployMailbox(chain: ChainName, defaultIsmAddress: types.Address, proxyAdmin: types.Address, owner: types.Address): Promise<Mailbox>;
|
|
13
|
+
deployValidatorAnnounce(chain: ChainName, mailboxAddress: string): Promise<ValidatorAnnounce>;
|
|
14
|
+
deployLegacyMultisigIsm(chain: ChainName, multisigIsmConfig: ChainMap<MultisigIsmConfig>): Promise<LegacyMultisigIsm>;
|
|
20
15
|
deployContracts(chain: ChainName, config: CoreConfig): Promise<HyperlaneContracts<CoreFactories>>;
|
|
21
16
|
}
|
|
22
17
|
//# sourceMappingURL=HyperlaneCoreDeployer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,OAAO,EACP,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAA0B,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAExD,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;IACC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAM;gBAE5C,aAAa,EAAE,aAAa;IAOlC,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAChC,UAAU,EAAE,KAAK,CAAC,OAAO,EACzB,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC;IAab,uBAAuB,CAC3B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC;IASvB,uBAAuB,CAC3B,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAC7C,OAAO,CAAC,iBAAiB,CAAC;IAkEvB,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAsC9C"}
|
|
@@ -15,43 +15,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.HyperlaneCoreDeployer = void 0;
|
|
16
16
|
const debug_1 = __importDefault(require("debug"));
|
|
17
17
|
const ethers_1 = require("ethers");
|
|
18
|
+
const contracts_1 = require("../contracts");
|
|
18
19
|
const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
|
|
19
|
-
const
|
|
20
|
-
const contracts_1 = require("./contracts");
|
|
20
|
+
const contracts_2 = require("./contracts");
|
|
21
21
|
class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
22
|
-
constructor(multiProvider
|
|
23
|
-
super(multiProvider,
|
|
22
|
+
constructor(multiProvider) {
|
|
23
|
+
super(multiProvider, contracts_2.coreFactories, {
|
|
24
24
|
logger: (0, debug_1.default)('hyperlane:CoreDeployer'),
|
|
25
|
+
chainTimeoutMs: 1000 * 60 * 10, // 10 minutes
|
|
25
26
|
});
|
|
26
|
-
this.startingBlockNumbers =
|
|
27
|
+
this.startingBlockNumbers = {};
|
|
27
28
|
}
|
|
28
|
-
deployMailbox(chain, defaultIsmAddress, proxyAdmin,
|
|
29
|
+
deployMailbox(chain, defaultIsmAddress, proxyAdmin, owner) {
|
|
29
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
31
|
const domain = this.multiProvider.getDomainId(chain);
|
|
31
|
-
const
|
|
32
|
-
const mailbox = yield this.deployProxiedContract(chain, 'mailbox', [domain], [owner, defaultIsmAddress], proxyAdmin, deployOpts);
|
|
32
|
+
const mailbox = yield this.deployProxiedContract(chain, 'mailbox', proxyAdmin, [domain], [owner, defaultIsmAddress]);
|
|
33
33
|
return mailbox;
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
deployValidatorAnnounce(chain, mailboxAddress
|
|
36
|
+
deployValidatorAnnounce(chain, mailboxAddress) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const validatorAnnounce = yield this.deployContract(chain, 'validatorAnnounce', [mailboxAddress]
|
|
38
|
+
const validatorAnnounce = yield this.deployContract(chain, 'validatorAnnounce', [mailboxAddress]);
|
|
39
39
|
return validatorAnnounce;
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
deployLegacyMultisigIsm(chain) {
|
|
42
|
+
deployLegacyMultisigIsm(chain, multisigIsmConfig) {
|
|
43
43
|
const _super = Object.create(null, {
|
|
44
44
|
runIfOwner: { get: () => super.runIfOwner }
|
|
45
45
|
});
|
|
46
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
47
|
const multisigIsm = yield this.deployContract(chain, 'multisigIsm', []);
|
|
48
|
-
const remotes = Object.keys(
|
|
48
|
+
const remotes = Object.keys(multisigIsmConfig);
|
|
49
49
|
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
50
50
|
yield _super.runIfOwner.call(this, chain, multisigIsm, () => __awaiter(this, void 0, void 0, function* () {
|
|
51
51
|
// TODO: Remove extraneous validators
|
|
52
52
|
const remoteDomains = this.multiProvider.getDomainIds(remotes);
|
|
53
53
|
const actualValidators = yield Promise.all(remoteDomains.map((id) => multisigIsm.validators(id)));
|
|
54
|
-
const expectedValidators = remotes.map((remote) =>
|
|
54
|
+
const expectedValidators = remotes.map((remote) => multisigIsmConfig[remote].validators);
|
|
55
55
|
const validatorsToEnroll = expectedValidators.map((validators, i) => validators.filter((validator) => !actualValidators[i].includes(ethers_1.ethers.utils.getAddress(validator))));
|
|
56
56
|
const chainsToEnrollValidators = remotes.filter((_, i) => validatorsToEnroll[i].length > 0);
|
|
57
57
|
if (chainsToEnrollValidators.length > 0) {
|
|
@@ -59,11 +59,11 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
59
59
|
yield this.multiProvider.handleTx(chain, multisigIsm.enrollValidators(chainsToEnrollValidators.map((c) => this.multiProvider.getDomainId(c)), validatorsToEnroll.filter((validators) => validators.length > 0), overrides));
|
|
60
60
|
}
|
|
61
61
|
const actualThresholds = yield Promise.all(remoteDomains.map((id) => multisigIsm.threshold(id)));
|
|
62
|
-
const expectedThresholds = remotes.map((remote) =>
|
|
62
|
+
const expectedThresholds = remotes.map((remote) => multisigIsmConfig[remote].threshold);
|
|
63
63
|
const chainsToSetThreshold = remotes.filter((_, i) => actualThresholds[i] !== expectedThresholds[i]);
|
|
64
64
|
if (chainsToSetThreshold.length > 0) {
|
|
65
65
|
this.logger(`Set remote (${chainsToSetThreshold}) thresholds on ${chain}`);
|
|
66
|
-
yield this.multiProvider.handleTx(chain, multisigIsm.setThresholds(chainsToSetThreshold.map((c) => this.multiProvider.getDomainId(c)), chainsToSetThreshold.map((remote) =>
|
|
66
|
+
yield this.multiProvider.handleTx(chain, multisigIsm.setThresholds(chainsToSetThreshold.map((c) => this.multiProvider.getDomainId(c)), chainsToSetThreshold.map((remote) => multisigIsmConfig[remote].threshold), overrides));
|
|
67
67
|
}
|
|
68
68
|
}));
|
|
69
69
|
return multisigIsm;
|
|
@@ -75,22 +75,23 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
75
75
|
// skip deploying to chains configured to be removed
|
|
76
76
|
return undefined;
|
|
77
77
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const multisigIsm = yield this.deployLegacyMultisigIsm(chain);
|
|
78
|
+
this.startingBlockNumbers[chain] = yield this.multiProvider
|
|
79
|
+
.getProvider(chain)
|
|
80
|
+
.getBlockNumber();
|
|
81
|
+
const multisigIsm = yield this.deployLegacyMultisigIsm(chain, config.multisigIsm);
|
|
82
82
|
const proxyAdmin = yield this.deployContract(chain, 'proxyAdmin', []);
|
|
83
|
-
const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin.address);
|
|
83
|
+
const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin.address, config.owner);
|
|
84
84
|
const validatorAnnounce = yield this.deployValidatorAnnounce(chain, mailbox.address);
|
|
85
|
-
|
|
86
|
-
const ownables = [multisigIsm, proxyAdmin];
|
|
87
|
-
yield this.transferOwnershipOfContracts(chain, config.owner, ownables);
|
|
88
|
-
return {
|
|
85
|
+
const contracts = {
|
|
89
86
|
validatorAnnounce,
|
|
90
87
|
proxyAdmin,
|
|
91
88
|
mailbox,
|
|
92
89
|
multisigIsm,
|
|
93
90
|
};
|
|
91
|
+
// Transfer ownership of all ownable contracts
|
|
92
|
+
const ownables = yield (0, contracts_1.filterOwnableContracts)(contracts);
|
|
93
|
+
yield this.transferOwnershipOfContracts(chain, config.owner, ownables);
|
|
94
|
+
return contracts;
|
|
94
95
|
});
|
|
95
96
|
}
|
|
96
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mCAAgC;
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
import { LegacyMultisigIsm } from '@hyperlane-xyz/core';
|
|
3
|
-
import {
|
|
2
|
+
import { LegacyMultisigIsm, TestInterchainGasPaymaster__factory, TestIsm__factory, TestMailbox__factory } from '@hyperlane-xyz/core';
|
|
3
|
+
import { HyperlaneContracts } from '../contracts';
|
|
4
4
|
import { ChainMap, ChainName } from '../types';
|
|
5
5
|
import { HyperlaneCoreDeployer } from './HyperlaneCoreDeployer';
|
|
6
6
|
import { TestCoreApp } from './TestCoreApp';
|
|
7
|
-
import {
|
|
7
|
+
import { CoreFactories } from './contracts';
|
|
8
|
+
import { MultisigIsmConfig } from './types';
|
|
8
9
|
export declare class TestCoreDeployer extends HyperlaneCoreDeployer {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
factories: {
|
|
11
|
+
mailbox: TestMailbox__factory;
|
|
12
|
+
testIsm: TestIsm__factory;
|
|
13
|
+
interchainGasPaymaster: TestInterchainGasPaymaster__factory;
|
|
14
|
+
validatorAnnounce: import("@hyperlane-xyz/core").ValidatorAnnounce__factory;
|
|
15
|
+
proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
|
|
16
|
+
multisigIsm: import("@hyperlane-xyz/core").LegacyMultisigIsm__factory;
|
|
17
|
+
};
|
|
18
|
+
deployLegacyMultisigIsm(chain: ChainName, _: ChainMap<MultisigIsmConfig>): Promise<LegacyMultisigIsm>;
|
|
12
19
|
transferOwnershipOfContracts(): Promise<ethers.ContractReceipt[]>;
|
|
20
|
+
deploy(): Promise<ChainMap<HyperlaneContracts<CoreFactories>>>;
|
|
13
21
|
deployApp(): Promise<TestCoreApp>;
|
|
14
22
|
}
|
|
15
23
|
//# sourceMappingURL=TestCoreDeployer.d.ts.map
|
|
@@ -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,iBAAiB,
|
|
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,EACjB,mCAAmC,EACnC,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,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;AAC5C,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAS5C,qBAAa,gBAAiB,SAAQ,qBAAqB;IACzD,SAAS;;;;;;;MAAqB;IAGxB,uBAAuB,CAC3B,KAAK,EAAE,SAAS,EAChB,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAYvB,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAIjE,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IAI9D,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;CAGxC"}
|
|
@@ -18,14 +18,12 @@ const TestCoreApp_1 = require("./TestCoreApp");
|
|
|
18
18
|
const contracts_1 = require("./contracts");
|
|
19
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() });
|
|
20
20
|
class TestCoreDeployer extends HyperlaneCoreDeployer_1.HyperlaneCoreDeployer {
|
|
21
|
-
constructor(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
super(multiProvider, configs, testCoreFactories);
|
|
25
|
-
this.multiProvider = multiProvider;
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.factories = testCoreFactories;
|
|
26
24
|
}
|
|
27
25
|
// deploy a test ISM in place of a multisig ISM
|
|
28
|
-
deployLegacyMultisigIsm(chain) {
|
|
26
|
+
deployLegacyMultisigIsm(chain, _) {
|
|
29
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
28
|
const testIsm = yield this.deployContractFromFactory(chain, testCoreFactories.testIsm, 'testIsm', []);
|
|
31
29
|
yield testIsm.setAccept(true);
|
|
@@ -38,6 +36,14 @@ class TestCoreDeployer extends HyperlaneCoreDeployer_1.HyperlaneCoreDeployer {
|
|
|
38
36
|
return [];
|
|
39
37
|
});
|
|
40
38
|
}
|
|
39
|
+
deploy() {
|
|
40
|
+
const _super = Object.create(null, {
|
|
41
|
+
deploy: { get: () => super.deploy }
|
|
42
|
+
});
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
return _super.deploy.call(this, (0, testUtils_1.testCoreConfig)(chains_1.TestChains));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
41
47
|
deployApp() {
|
|
42
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
49
|
return new TestCoreApp_1.TestCoreApp(yield this.deploy(), this.multiProvider);
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,2CAA2D;AAG3D,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;IAA3D;;QACE,cAAS,GAAG,iBAAiB,CAAC;IA6BhC,CAAC;IA3BC,+CAA+C;IACzC,uBAAuB,CAC3B,KAAgB,EAChB,CAA8B;;YAE9B,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,MAAM;;;;;YACV,OAAO,OAAM,MAAM,YAAC,IAAA,0BAAc,EAAC,mBAAU,CAAC,EAAE;QAClD,CAAC;KAAA;IAEK,SAAS;;YACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC;KAAA;CACF;AA9BD,4CA8BC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Ownable } from '@hyperlane-xyz/core';
|
|
1
2
|
import type { types } from '@hyperlane-xyz/utils';
|
|
2
3
|
import { HyperlaneApp } from '../HyperlaneApp';
|
|
3
4
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
@@ -15,6 +16,9 @@ export declare abstract class HyperlaneAppChecker<App extends HyperlaneApp<any>,
|
|
|
15
16
|
checkProxiedContracts(chain: ChainName): Promise<void>;
|
|
16
17
|
private removeBytecodeMetadata;
|
|
17
18
|
checkBytecode(chain: ChainName, name: string, address: string, expectedBytecodeHashes: string[], modifyBytecodePriorToHash?: (bytecode: string) => string): Promise<void>;
|
|
19
|
+
ownables(chain: ChainName): Promise<{
|
|
20
|
+
[key: string]: Ownable;
|
|
21
|
+
}>;
|
|
18
22
|
checkOwnership(chain: ChainName, owner: types.Address): Promise<void>;
|
|
19
23
|
expectViolations(violationCounts: Record<string, number>): void;
|
|
20
24
|
expectEmpty(): void;
|
|
@@ -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":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/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;IAiBV,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAM/D,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB3E,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.HyperlaneAppChecker = void 0;
|
|
13
13
|
const utils_1 = require("ethers/lib/utils");
|
|
14
14
|
const utils_2 = require("@hyperlane-xyz/utils");
|
|
15
|
+
const contracts_1 = require("../contracts");
|
|
15
16
|
const objects_1 = require("../utils/objects");
|
|
16
17
|
const proxy_1 = require("./proxy");
|
|
17
18
|
const types_1 = require("./types");
|
|
@@ -85,35 +86,30 @@ class HyperlaneAppChecker {
|
|
|
85
86
|
}
|
|
86
87
|
});
|
|
87
88
|
}
|
|
89
|
+
ownables(chain) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const contracts = this.app.getContracts(chain);
|
|
92
|
+
return (0, contracts_1.filterOwnableContracts)(contracts);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
88
95
|
// TODO: Require owner in config if ownables is non-empty
|
|
89
96
|
checkOwnership(chain, owner) {
|
|
90
97
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
const ownableContracts = yield this.ownables(chain);
|
|
99
|
+
for (const [name, contract] of Object.entries(ownableContracts)) {
|
|
100
|
+
const actual = yield contract.owner();
|
|
101
|
+
if (!utils_2.utils.eqAddress(actual, owner)) {
|
|
102
|
+
const violation = {
|
|
103
|
+
chain,
|
|
104
|
+
name,
|
|
105
|
+
type: types_1.ViolationType.Owner,
|
|
106
|
+
actual,
|
|
107
|
+
expected: owner,
|
|
108
|
+
contract,
|
|
109
|
+
};
|
|
110
|
+
this.addViolation(violation);
|
|
95
111
|
}
|
|
96
|
-
|
|
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
|
-
}
|
|
115
|
-
}
|
|
116
|
-
})));
|
|
112
|
+
}
|
|
117
113
|
});
|
|
118
114
|
}
|
|
119
115
|
expectViolations(violationCounts) {
|
|
@@ -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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"}
|