@hyperlane-xyz/sdk 1.0.0-beta2 → 1.0.0-beta4
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/chainConnectionConfigs.d.ts +24 -13
- package/dist/consts/chainConnectionConfigs.d.ts.map +1 -1
- package/dist/consts/chainConnectionConfigs.js +139 -26
- package/dist/consts/chainConnectionConfigs.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +26 -80
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +97 -481
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +16 -18
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +15 -29
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +1221 -177
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js +10 -4
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +600 -56
- package/dist/consts/environments/test.json +96 -27
- package/dist/consts/environments/testnet2.json +610 -66
- package/dist/consts/metamask.d.ts +17 -0
- package/dist/consts/metamask.d.ts.map +1 -0
- package/dist/consts/metamask.js +50 -0
- package/dist/consts/metamask.js.map +1 -0
- package/dist/contracts.d.ts +1 -2
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +1232 -182
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +30 -20
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +12 -6
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +9 -7
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +5 -5
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +44 -12
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/contracts.d.ts +22 -10
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +8 -8
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/events.d.ts +2 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/message.d.ts +21 -6
- package/dist/core/message.d.ts.map +1 -1
- package/dist/core/message.js +34 -9
- package/dist/core/message.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +6 -6
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +2 -2
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +3 -7
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +12 -7
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +40 -65
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts +7 -3
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.js +127 -41
- package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +19 -16
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.js +71 -50
- package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/deploy/core/types.d.ts +28 -15
- package/dist/deploy/core/types.d.ts.map +1 -1
- package/dist/deploy/core/types.js +12 -8
- package/dist/deploy/core/types.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts +12 -4
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.js +87 -14
- package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +17 -6
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +50 -20
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/deploy/middleware/TokenBridgeApp.d.ts +26 -0
- package/dist/deploy/middleware/TokenBridgeApp.d.ts.map +1 -0
- package/dist/deploy/middleware/TokenBridgeApp.js +115 -0
- package/dist/deploy/middleware/TokenBridgeApp.js.map +1 -0
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts +33 -0
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts.map +1 -0
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.js +93 -0
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.js.map +1 -0
- package/dist/deploy/middleware/V2CompatibilityMiddlewareDeployer.d.ts +17 -0
- package/dist/deploy/middleware/V2CompatibilityMiddlewareDeployer.d.ts.map +1 -0
- package/dist/deploy/middleware/V2CompatibilityMiddlewareDeployer.js +42 -0
- package/dist/deploy/middleware/V2CompatibilityMiddlewareDeployer.js.map +1 -0
- package/dist/deploy/middleware/deploy.d.ts.map +1 -1
- package/dist/deploy/middleware/deploy.js +2 -10
- package/dist/deploy/middleware/deploy.js.map +1 -1
- package/dist/deploy/proxy.d.ts +6 -7
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +10 -18
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts +1 -0
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterChecker.js +9 -0
- package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.js +15 -17
- package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/domains.d.ts +1 -1
- package/dist/domains.d.ts.map +1 -1
- package/dist/events.js +16 -16
- package/dist/events.js.map +1 -1
- package/dist/gas/calculator.d.ts.map +1 -1
- package/dist/gas/calculator.js +6 -11
- package/dist/gas/calculator.js.map +1 -1
- package/dist/gas/calculator.test.js +9 -6
- package/dist/gas/calculator.test.js.map +1 -1
- package/dist/index.d.ts +11 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -11
- package/dist/index.js.map +1 -1
- package/dist/middleware/accounts.test.d.ts +2 -0
- package/dist/middleware/accounts.test.d.ts.map +1 -0
- package/dist/middleware/accounts.test.js +61 -0
- package/dist/middleware/accounts.test.js.map +1 -0
- package/dist/middleware/liquidity-layer.hardhat-test.js +47 -20
- package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/queries.test.d.ts +2 -0
- package/dist/middleware/queries.test.d.ts.map +1 -0
- package/dist/middleware/queries.test.js +69 -0
- package/dist/middleware/queries.test.js.map +1 -0
- package/dist/middleware/tokenbridge.hardhat-test.d.ts +2 -0
- package/dist/middleware/tokenbridge.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/tokenbridge.hardhat-test.js +89 -0
- package/dist/middleware/tokenbridge.hardhat-test.js.map +1 -0
- package/dist/middleware.d.ts +6 -1
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +5 -1
- package/dist/middleware.js.map +1 -1
- package/dist/providers/ChainConnection.d.ts +1 -1
- package/dist/providers/ChainConnection.d.ts.map +1 -1
- package/dist/providers/ChainConnection.js +3 -2
- package/dist/providers/ChainConnection.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +1 -1
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/proxy.d.ts +4 -2
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +1 -1
- package/dist/proxy.js.map +1 -1
- package/dist/router.d.ts +1 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/app.js +2 -2
- package/dist/test/envSubsetDeployer/app.js.map +1 -1
- package/dist/tokenBridge.d.ts +10 -0
- package/dist/tokenBridge.d.ts.map +1 -0
- package/dist/tokenBridge.js +9 -0
- package/dist/tokenBridge.js.map +1 -0
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/objects.d.ts +1 -0
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/objects.js +5 -1
- package/dist/utils/objects.js.map +1 -1
- package/package.json +7 -6
|
@@ -11,7 +11,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.HyperlaneCoreChecker = void 0;
|
|
13
13
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
14
|
+
const chainMetadata_1 = require("../../consts/chainMetadata");
|
|
14
15
|
const domains_1 = require("../../domains");
|
|
16
|
+
const objects_1 = require("../../utils/objects");
|
|
15
17
|
const HyperlaneAppChecker_1 = require("../HyperlaneAppChecker");
|
|
16
18
|
const types_1 = require("./types");
|
|
17
19
|
class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
@@ -24,8 +26,11 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
24
26
|
}
|
|
25
27
|
yield this.checkDomainOwnership(chain);
|
|
26
28
|
yield this.checkProxiedContracts(chain);
|
|
27
|
-
yield this.
|
|
28
|
-
yield this.
|
|
29
|
+
yield this.checkOutbox(chain);
|
|
30
|
+
yield this.checkInboxes(chain);
|
|
31
|
+
yield this.checkConnectionManager(chain);
|
|
32
|
+
yield this.checkValidatorManagers(chain);
|
|
33
|
+
yield this.checkInterchainGasPaymaster(chain);
|
|
29
34
|
});
|
|
30
35
|
}
|
|
31
36
|
checkDomainOwnership(chain) {
|
|
@@ -34,65 +39,68 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
34
39
|
if (config.owner) {
|
|
35
40
|
const contracts = this.app.getContracts(chain);
|
|
36
41
|
const ownables = [
|
|
37
|
-
contracts.
|
|
38
|
-
contracts.
|
|
39
|
-
contracts.
|
|
42
|
+
contracts.connectionManager,
|
|
43
|
+
contracts.upgradeBeaconController,
|
|
44
|
+
contracts.outbox.contract,
|
|
45
|
+
contracts.outboxValidatorManager,
|
|
46
|
+
...Object.values(contracts.inboxes)
|
|
47
|
+
.map((inbox) => [
|
|
48
|
+
inbox.inbox.contract,
|
|
49
|
+
inbox.inboxValidatorManager,
|
|
50
|
+
])
|
|
51
|
+
.flat(),
|
|
40
52
|
];
|
|
41
53
|
return this.checkOwnership(chain, config.owner, ownables);
|
|
42
54
|
}
|
|
43
55
|
});
|
|
44
56
|
}
|
|
45
|
-
|
|
57
|
+
checkOutbox(chain) {
|
|
46
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
59
|
const contracts = this.app.getContracts(chain);
|
|
48
|
-
const
|
|
49
|
-
const localDomain = yield
|
|
60
|
+
const outbox = contracts.outbox.contract;
|
|
61
|
+
const localDomain = yield outbox.localDomain();
|
|
50
62
|
utils_1.utils.assert(localDomain === domains_1.ChainNameToDomainId[chain]);
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
63
|
+
const actualManager = yield contracts.outbox.contract.validatorManager();
|
|
64
|
+
const expectedManager = contracts.outboxValidatorManager.address;
|
|
65
|
+
if (actualManager !== expectedManager) {
|
|
54
66
|
const violation = {
|
|
55
67
|
type: types_1.CoreViolationType.Mailbox,
|
|
56
|
-
mailboxType: types_1.MailboxViolationType.
|
|
57
|
-
contract:
|
|
68
|
+
mailboxType: types_1.MailboxViolationType.ValidatorManager,
|
|
69
|
+
contract: outbox,
|
|
58
70
|
chain,
|
|
59
|
-
actual:
|
|
60
|
-
expected:
|
|
71
|
+
actual: actualManager,
|
|
72
|
+
expected: expectedManager,
|
|
61
73
|
};
|
|
62
74
|
this.addViolation(violation);
|
|
63
75
|
}
|
|
64
76
|
});
|
|
65
77
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
yield this.checkProxiedContract(chain, 'Mailbox', contracts.mailbox.addresses, contracts.proxyAdmin.address);
|
|
70
|
-
yield this.checkProxiedContract(chain, 'InterchainGasPaymaster', contracts.mailbox.addresses, contracts.proxyAdmin.address);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
checkMultisigIsm(local) {
|
|
78
|
+
// Checks validator sets of the OutboxValidatorManager and all
|
|
79
|
+
// InboxValidatorManagers on the chain.
|
|
80
|
+
checkValidatorManagers(chain) {
|
|
74
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
82
|
+
const coreContracts = this.app.getContracts(chain);
|
|
83
|
+
yield this.checkValidatorManager(chain, chain, coreContracts.outboxValidatorManager);
|
|
84
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(coreContracts.inboxes, (remote, inbox) => this.checkValidatorManager(chain, remote, inbox.inboxValidatorManager)));
|
|
78
85
|
});
|
|
79
86
|
}
|
|
80
|
-
|
|
87
|
+
// Checks the validator set for a MultisigValidatorManager on the localDomain that tracks
|
|
88
|
+
// the validator set for the outboxDomain.
|
|
89
|
+
// If localDomain == outboxDomain, this checks the OutboxValidatorManager, otherwise
|
|
90
|
+
// it checks an InboxValidatorManager.
|
|
91
|
+
checkValidatorManager(local, remote, validatorManager) {
|
|
81
92
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
const coreContracts = this.app.getContracts(local);
|
|
83
|
-
const multisigIsm = coreContracts.multisigIsm;
|
|
84
93
|
const config = this.configMap[remote];
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
const actualValidators = yield multisigIsm.validators(remoteDomain);
|
|
94
|
+
const validatorManagerConfig = config.validatorManager;
|
|
95
|
+
const expectedValidators = validatorManagerConfig.validators;
|
|
96
|
+
const actualValidators = yield validatorManager.validators();
|
|
89
97
|
const expectedSet = new Set(expectedValidators.map((_) => _.toLowerCase()));
|
|
90
98
|
const actualSet = new Set(actualValidators.map((_) => _.toLowerCase()));
|
|
91
99
|
if (!utils_1.utils.setEquality(expectedSet, actualSet)) {
|
|
92
100
|
const violation = {
|
|
93
|
-
type: types_1.CoreViolationType.
|
|
94
|
-
|
|
95
|
-
contract:
|
|
101
|
+
type: types_1.CoreViolationType.ValidatorManager,
|
|
102
|
+
validatorManagerType: types_1.ValidatorManagerViolationType.EnrolledValidators,
|
|
103
|
+
contract: validatorManager,
|
|
96
104
|
chain: local,
|
|
97
105
|
remote,
|
|
98
106
|
actual: actualSet,
|
|
@@ -100,14 +108,14 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
100
108
|
};
|
|
101
109
|
this.addViolation(violation);
|
|
102
110
|
}
|
|
103
|
-
const expectedThreshold =
|
|
111
|
+
const expectedThreshold = validatorManagerConfig.threshold;
|
|
104
112
|
utils_1.utils.assert(expectedThreshold !== undefined);
|
|
105
|
-
const actualThreshold = yield
|
|
113
|
+
const actualThreshold = (yield validatorManager.threshold()).toNumber();
|
|
106
114
|
if (expectedThreshold !== actualThreshold) {
|
|
107
115
|
const violation = {
|
|
108
|
-
type: types_1.CoreViolationType.
|
|
109
|
-
|
|
110
|
-
contract:
|
|
116
|
+
type: types_1.CoreViolationType.ValidatorManager,
|
|
117
|
+
validatorManagerType: types_1.ValidatorManagerViolationType.Threshold,
|
|
118
|
+
contract: validatorManager,
|
|
111
119
|
chain: local,
|
|
112
120
|
remote,
|
|
113
121
|
actual: actualThreshold,
|
|
@@ -117,6 +125,84 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
117
125
|
}
|
|
118
126
|
});
|
|
119
127
|
}
|
|
128
|
+
checkInboxes(chain) {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
const coreContracts = this.app.getContracts(chain);
|
|
131
|
+
// Check that all inboxes on this chain are pointed to the right validator
|
|
132
|
+
// manager.
|
|
133
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(coreContracts.inboxes, (_, inbox) => __awaiter(this, void 0, void 0, function* () {
|
|
134
|
+
const expected = inbox.inboxValidatorManager.address;
|
|
135
|
+
const actual = yield inbox.inbox.contract.validatorManager();
|
|
136
|
+
if (expected !== actual) {
|
|
137
|
+
const violation = {
|
|
138
|
+
type: types_1.CoreViolationType.Mailbox,
|
|
139
|
+
mailboxType: types_1.MailboxViolationType.ValidatorManager,
|
|
140
|
+
contract: inbox.inbox.contract,
|
|
141
|
+
chain,
|
|
142
|
+
actual,
|
|
143
|
+
expected,
|
|
144
|
+
};
|
|
145
|
+
this.addViolation(violation);
|
|
146
|
+
}
|
|
147
|
+
})));
|
|
148
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(coreContracts.inboxes, (remoteChain, inbox) => __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
// check that the inbox has the right local domain
|
|
150
|
+
const actualLocalDomain = yield inbox.inbox.contract.localDomain();
|
|
151
|
+
utils_1.utils.assert(actualLocalDomain === domains_1.ChainNameToDomainId[chain]);
|
|
152
|
+
const actualRemoteDomain = yield inbox.inbox.contract.remoteDomain();
|
|
153
|
+
utils_1.utils.assert(actualRemoteDomain === domains_1.ChainNameToDomainId[remoteChain]);
|
|
154
|
+
})));
|
|
155
|
+
// Check that all inboxes on this chain share the same implementation and
|
|
156
|
+
// UpgradeBeacon.
|
|
157
|
+
const coreAddresses = this.app.getAddresses(chain);
|
|
158
|
+
const inboxes = Object.values(coreAddresses.inboxes);
|
|
159
|
+
const implementations = inboxes.map((r) => r.implementation);
|
|
160
|
+
const upgradeBeacons = inboxes.map((r) => r.beacon);
|
|
161
|
+
utils_1.utils.assert(implementations.every((implementation) => implementation === implementations[0]));
|
|
162
|
+
utils_1.utils.assert(upgradeBeacons.every((beacon) => beacon === upgradeBeacons[0]));
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
checkConnectionManager(chain) {
|
|
166
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
167
|
+
const coreContracts = this.app.getContracts(chain);
|
|
168
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(coreContracts.inboxes, (remote, inbox) => __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
// expected configured inboxes for remote on chain
|
|
170
|
+
const remoteConfig = this.configMap[remote];
|
|
171
|
+
const expectedInboxes = new Set(remoteConfig.remove ? [] : [inbox.inbox.address]);
|
|
172
|
+
// actual configured inboxes for remote on chain
|
|
173
|
+
const remoteDomain = chainMetadata_1.chainMetadata[remote].id;
|
|
174
|
+
const enrolledInboxes = new Set(yield coreContracts.connectionManager.getInboxes(remoteDomain));
|
|
175
|
+
if (!utils_1.utils.setEquality(enrolledInboxes, expectedInboxes)) {
|
|
176
|
+
const violation = {
|
|
177
|
+
type: types_1.CoreViolationType.ConnectionManager,
|
|
178
|
+
connectionManagerType: types_1.ConnectionManagerViolationType.EnrolledInboxes,
|
|
179
|
+
remote,
|
|
180
|
+
contract: coreContracts.connectionManager,
|
|
181
|
+
chain: chain,
|
|
182
|
+
actual: enrolledInboxes,
|
|
183
|
+
expected: expectedInboxes,
|
|
184
|
+
};
|
|
185
|
+
this.violations.push(violation);
|
|
186
|
+
}
|
|
187
|
+
})));
|
|
188
|
+
// Outbox is set on connectionManager
|
|
189
|
+
const outbox = yield coreContracts.connectionManager.outbox();
|
|
190
|
+
utils_1.utils.assert(outbox === coreContracts.outbox.address);
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
checkProxiedContracts(chain) {
|
|
194
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
195
|
+
const contracts = this.app.getContracts(chain);
|
|
196
|
+
yield this.checkUpgradeBeacon(chain, 'Outbox', contracts.outbox.addresses);
|
|
197
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(contracts.inboxes, (_remoteChain, inbox) => this.checkUpgradeBeacon(chain, 'Inbox', inbox.inbox.addresses)));
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
checkInterchainGasPaymaster(chain) {
|
|
201
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
202
|
+
const contracts = this.app.getContracts(chain);
|
|
203
|
+
yield this.checkUpgradeBeacon(chain, 'InterchainGasPaymaster', contracts.interchainGasPaymaster.addresses);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
120
206
|
}
|
|
121
207
|
exports.HyperlaneCoreChecker = HyperlaneCoreChecker;
|
|
122
208
|
//# sourceMappingURL=HyperlaneCoreChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gDAA6C;AAE7C,8DAA2D;AAE3D,2CAAoD;AAGpD,iDAA4D;AAC5D,gEAA6D;AAE7D,mCAWiB;AAEjB,MAAa,oBAEX,SAAQ,yCAA4D;IAC9D,UAAU,CAAC,KAAY;;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,gDAAgD;YAChD,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,oBAAoB,CAAC,KAAY;;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG;oBACf,SAAS,CAAC,iBAAiB;oBAC3B,SAAS,CAAC,uBAAuB;oBACjC,SAAS,CAAC,MAAM,CAAC,QAAQ;oBACzB,SAAS,CAAC,sBAAsB;oBAChC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;yBAChC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC;wBACnB,KAAK,CAAC,KAAK,CAAC,QAAQ;wBACpB,KAAK,CAAC,qBAAqB;qBAC5B,CAAC;yBACD,IAAI,EAAE;iBACV,CAAC;gBACF,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;aAC3D;QACH,CAAC;KAAA;IAEK,WAAW,CAAC,KAAY;;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,aAAK,CAAC,MAAM,CAAC,WAAW,KAAK,6BAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACzE,MAAM,eAAe,GAAG,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC;YACjE,IAAI,aAAa,KAAK,eAAe,EAAE;gBACrC,MAAM,SAAS,GAAqB;oBAClC,IAAI,EAAE,yBAAiB,CAAC,OAAO;oBAC/B,WAAW,EAAE,4BAAoB,CAAC,gBAAgB;oBAClD,QAAQ,EAAE,MAAM;oBAChB,KAAK;oBACL,MAAM,EAAE,aAAa;oBACrB,QAAQ,EAAE,eAAe;iBAC1B,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;QACH,CAAC;KAAA;IAED,8DAA8D;IAC9D,uCAAuC;IACjC,sBAAsB,CAAC,KAAY;;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,qBAAqB,CAC9B,KAAK,EACL,KAAK,EACL,aAAa,CAAC,sBAAsB,CACrC,CAAC;YACF,MAAM,IAAA,uBAAa,EACjB,IAAA,gBAAM,EAAC,aAAa,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC9C,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,qBAAqB,CAAC,CACvE,CACF,CAAC;QACJ,CAAC;KAAA;IAED,yFAAyF;IACzF,0CAA0C;IAC1C,oFAAoF;IACpF,sCAAsC;IAChC,qBAAqB,CACzB,KAAY,EACZ,MAAa,EACb,gBAA0C;;YAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACvD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,UAAU,CAAC;YAC7D,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAE7D,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/C,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC7C,CAAC;YAEF,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE;gBAC9C,MAAM,SAAS,GAAgC;oBAC7C,IAAI,EAAE,yBAAiB,CAAC,gBAAgB;oBACxC,oBAAoB,EAAE,qCAA6B,CAAC,kBAAkB;oBACtE,QAAQ,EAAE,gBAAgB;oBAC1B,KAAK,EAAE,KAAK;oBACZ,MAAM;oBACN,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,WAAW;iBACtB,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;YAED,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,SAAS,CAAC;YAC3D,aAAK,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC;YAE9C,MAAM,eAAe,GAAG,CAAC,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAExE,IAAI,iBAAiB,KAAK,eAAe,EAAE;gBACzC,MAAM,SAAS,GAAuB;oBACpC,IAAI,EAAE,yBAAiB,CAAC,gBAAgB;oBACxC,oBAAoB,EAAE,qCAA6B,CAAC,SAAS;oBAC7D,QAAQ,EAAE,gBAAgB;oBAC1B,KAAK,EAAE,KAAK;oBACZ,MAAM;oBACN,MAAM,EAAE,eAAe;oBACvB,QAAQ,EAAE,iBAAiB;iBAC5B,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;QACH,CAAC;KAAA;IAEK,YAAY,CAAC,KAAY;;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEnD,0EAA0E;YAC1E,WAAW;YACX,MAAM,IAAA,uBAAa,EACjB,IAAA,gBAAM,EAAC,aAAa,CAAC,OAAO,EAAE,CAAO,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC7D,IAAI,QAAQ,KAAK,MAAM,EAAE;oBACvB,MAAM,SAAS,GAAqC;wBAClD,IAAI,EAAE,yBAAiB,CAAC,OAAO;wBAC/B,WAAW,EAAE,4BAAoB,CAAC,gBAAgB;wBAClD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;wBAC9B,KAAK;wBACL,MAAM;wBACN,QAAQ;qBACT,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAA,CAAC,CACH,CAAC;YAEF,MAAM,IAAA,uBAAa,EACjB,IAAA,gBAAM,EAAC,aAAa,CAAC,OAAO,EAAE,CAAO,WAAW,EAAE,KAAK,EAAE,EAAE;gBACzD,kDAAkD;gBAClD,MAAM,iBAAiB,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACnE,aAAK,CAAC,MAAM,CAAC,iBAAiB,KAAK,6BAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE/D,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACrE,aAAK,CAAC,MAAM,CAAC,kBAAkB,KAAK,6BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;YACxE,CAAC,CAAA,CAAC,CACH,CAAC;YAEF,yEAAyE;YACzE,iBAAiB;YACjB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,OAAO,GAA2B,MAAM,CAAC,MAAM,CACnD,aAAa,CAAC,OAAO,CACtB,CAAC;YACF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACpD,aAAK,CAAC,MAAM,CACV,eAAe,CAAC,KAAK,CACnB,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,KAAK,eAAe,CAAC,CAAC,CAAC,CAC1D,CACF,CAAC;YACF,aAAK,CAAC,MAAM,CACV,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;QACJ,CAAC;KAAA;IAEK,sBAAsB,CAAC,KAAY;;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,IAAA,uBAAa,EACjB,IAAA,gBAAM,EAAC,aAAa,CAAC,OAAO,EAAE,CAAO,MAAM,EAAE,KAAK,EAAE,EAAE;gBACpD,kDAAkD;gBAClD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CACjD,CAAC;gBAEF,gDAAgD;gBAChD,MAAM,YAAY,GAAG,6BAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,MAAM,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC,CAC/D,CAAC;gBAEF,IAAI,CAAC,aAAK,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE;oBACxD,MAAM,SAAS,GAA6B;wBAC1C,IAAI,EAAE,yBAAiB,CAAC,iBAAiB;wBACzC,qBAAqB,EACnB,sCAA8B,CAAC,eAAe;wBAChD,MAAM;wBACN,QAAQ,EAAE,aAAa,CAAC,iBAAiB;wBACzC,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,eAAe;wBACvB,QAAQ,EAAE,eAAe;qBAC1B,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACjC;YACH,CAAC,CAAA,CAAC,CACH,CAAC;YAEF,qCAAqC;YACrC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC9D,aAAK,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,qBAAqB,CAAC,KAAY;;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,IAAA,uBAAa,EACjB,IAAA,gBAAM,EAAC,SAAS,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAChD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAC/D,CACF,CAAC;QACJ,CAAC;KAAA;IAEK,2BAA2B,CAAC,KAAY;;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,kBAAkB,CAC3B,KAAK,EACL,wBAAwB,EACxB,SAAS,CAAC,sBAAsB,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;KAAA;CACF;AA7OD,oDA6OC"}
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
import {
|
|
2
|
+
import { Inbox } from '@hyperlane-xyz/core';
|
|
3
3
|
import type { types } from '@hyperlane-xyz/utils';
|
|
4
|
-
import { HyperlaneCore } from '../../core/HyperlaneCore';
|
|
5
|
-
import { CoreContracts, coreFactories } from '../../core/contracts';
|
|
4
|
+
import { CoreContractsMap, HyperlaneCore } from '../../core/HyperlaneCore';
|
|
5
|
+
import { CoreContracts, InboxContracts, OutboxContracts, coreFactories } from '../../core/contracts';
|
|
6
6
|
import { ChainConnection } from '../../providers/ChainConnection';
|
|
7
7
|
import { MultiProvider } from '../../providers/MultiProvider';
|
|
8
|
-
import {
|
|
9
|
-
import { ChainMap, ChainName } from '../../types';
|
|
10
|
-
import {
|
|
11
|
-
import { CoreConfig } from './types';
|
|
12
|
-
export declare class HyperlaneCoreDeployer<Chain extends ChainName> extends HyperlaneDeployer<Chain, CoreConfig, CoreContracts, typeof coreFactories> {
|
|
8
|
+
import { BeaconProxyAddresses, ProxiedContract } from '../../proxy';
|
|
9
|
+
import { ChainMap, ChainName, Remotes } from '../../types';
|
|
10
|
+
import { HyperlaneDeployer } from '../HyperlaneDeployer';
|
|
11
|
+
import { CoreConfig, ValidatorManagerConfig } from './types';
|
|
12
|
+
export declare class HyperlaneCoreDeployer<Chain extends ChainName> extends HyperlaneDeployer<Chain, CoreConfig, CoreContracts<Chain, Chain>, typeof coreFactories> {
|
|
13
13
|
startingBlockNumbers: ChainMap<Chain, number | undefined>;
|
|
14
14
|
constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, CoreConfig>, factoriesOverride?: {
|
|
15
|
+
outbox: import("@hyperlane-xyz/core").Outbox__factory;
|
|
16
|
+
outboxValidatorManager: import("@hyperlane-xyz/core").OutboxValidatorManager__factory;
|
|
17
|
+
inbox: import("@hyperlane-xyz/core").Inbox__factory;
|
|
18
|
+
inboxValidatorManager: import("@hyperlane-xyz/core").InboxValidatorManager__factory;
|
|
15
19
|
interchainAccountRouter: import("@hyperlane-xyz/core").InterchainAccountRouter__factory;
|
|
16
20
|
interchainQueryRouter: import("@hyperlane-xyz/core").InterchainQueryRouter__factory;
|
|
17
21
|
create2Factory: import("@hyperlane-xyz/core").Create2Factory__factory;
|
|
18
|
-
|
|
22
|
+
connectionManager: import("@hyperlane-xyz/core").AbacusConnectionManager__factory;
|
|
23
|
+
upgradeBeaconController: import("@hyperlane-xyz/core").UpgradeBeaconController__factory;
|
|
19
24
|
interchainGasPaymaster: import("@hyperlane-xyz/core").InterchainGasPaymaster__factory;
|
|
20
|
-
multisigIsm: import("@hyperlane-xyz/core").MultisigIsm__factory;
|
|
21
|
-
mailbox: import("@hyperlane-xyz/core").Mailbox__factory;
|
|
22
25
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
deployContracts<LocalChain extends Chain>(chain: LocalChain, config: CoreConfig): Promise<CoreContracts
|
|
26
|
+
deploy(partialDeployment?: Partial<CoreContractsMap<Chain>>): Promise<CoreContractsMap<Chain>>;
|
|
27
|
+
deployOutbox<LocalChain extends Chain>(chain: LocalChain, config: ValidatorManagerConfig, ubcAddress: types.Address): Promise<OutboxContracts>;
|
|
28
|
+
deployInbox<Local extends Chain>(localChain: Local, remoteChain: Remotes<Chain, Local>, config: ValidatorManagerConfig, ubcAddress: types.Address, duplicate?: ProxiedContract<Inbox, BeaconProxyAddresses>): Promise<InboxContracts>;
|
|
29
|
+
deployContracts<LocalChain extends Chain>(chain: LocalChain, config: CoreConfig): Promise<CoreContracts<Chain, LocalChain>>;
|
|
27
30
|
static transferOwnership<CoreChains extends ChainName>(core: HyperlaneCore<CoreChains>, owners: ChainMap<CoreChains, types.Address>, multiProvider: MultiProvider<CoreChains>): Promise<ChainMap<CoreChains, ethers.ContractReceipt[]>>;
|
|
28
|
-
static transferOwnershipOfChain(coreContracts: CoreContracts, owner: types.Address, chainConnection: ChainConnection): Promise<ethers.ContractReceipt[]>;
|
|
31
|
+
static transferOwnershipOfChain<Chain extends ChainName, Local extends Chain>(coreContracts: CoreContracts<Chain, Local>, owner: types.Address, chainConnection: ChainConnection): Promise<ethers.ContractReceipt[]>;
|
|
29
32
|
}
|
|
30
33
|
//# sourceMappingURL=HyperlaneCoreDeployer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAW,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAkB,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,qBAAqB,CAChC,KAAK,SAAS,SAAS,CACvB,SAAQ,iBAAiB,CACzB,KAAK,EACL,UAAU,EACV,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3B,OAAO,aAAa,CACrB;IACC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;gBAGxD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,EACtC,iBAAiB;;;;;;;;;;;KAAgB;IAS7B,MAAM,CACV,iBAAiB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GACnD,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAI7B,YAAY,CAAC,UAAU,SAAS,KAAK,EACzC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,KAAK,CAAC,OAAO,GACxB,OAAO,CAAC,eAAe,CAAC;IAkBrB,WAAW,CAAC,KAAK,SAAS,KAAK,EACnC,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAClC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,KAAK,CAAC,OAAO,EACzB,SAAS,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,oBAAoB,CAAC,GACvD,OAAO,CAAC,cAAc,CAAC;IAgCpB,eAAe,CAAC,UAAU,SAAS,KAAK,EAC5C,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;WA8F/B,iBAAiB,CAAC,UAAU,SAAS,SAAS,EACzD,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,EAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAC3C,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,GACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;WAY7C,wBAAwB,CACnC,KAAK,SAAS,SAAS,EACvB,KAAK,SAAS,KAAK,EAEnB,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAC1C,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;CAkBrC"}
|
|
@@ -14,10 +14,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.HyperlaneCoreDeployer = void 0;
|
|
16
16
|
const debug_1 = __importDefault(require("debug"));
|
|
17
|
-
const ethers_1 = require("ethers");
|
|
18
17
|
const chainMetadata_1 = require("../../consts/chainMetadata");
|
|
19
18
|
const contracts_1 = require("../../core/contracts");
|
|
20
|
-
const domains_1 = require("../../domains");
|
|
21
19
|
const objects_1 = require("../../utils/objects");
|
|
22
20
|
const HyperlaneDeployer_1 = require("../HyperlaneDeployer");
|
|
23
21
|
class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
@@ -27,50 +25,47 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
27
25
|
});
|
|
28
26
|
this.startingBlockNumbers = (0, objects_1.objMap)(configMap, () => undefined);
|
|
29
27
|
}
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
// override return type for inboxes shape derived from chain
|
|
29
|
+
deploy(partialDeployment) {
|
|
30
|
+
const _super = Object.create(null, {
|
|
31
|
+
deploy: { get: () => super.deploy }
|
|
32
|
+
});
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
return _super.deploy.call(this, partialDeployment);
|
|
35
|
+
});
|
|
32
36
|
}
|
|
33
|
-
|
|
37
|
+
deployOutbox(chain, config, ubcAddress) {
|
|
34
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
39
|
const domain = chainMetadata_1.chainMetadata[chain].id;
|
|
36
|
-
const
|
|
37
|
-
|
|
40
|
+
const outboxValidatorManager = yield this.deployContract(chain, 'outboxValidatorManager', [domain, config.validators, config.threshold]);
|
|
41
|
+
const outbox = yield this.deployProxiedContract(chain, 'outbox', [domain], ubcAddress, [outboxValidatorManager.address]);
|
|
42
|
+
return { outbox, outboxValidatorManager };
|
|
38
43
|
});
|
|
39
44
|
}
|
|
40
|
-
|
|
41
|
-
const _super = Object.create(null, {
|
|
42
|
-
runIfOwner: { get: () => super.runIfOwner }
|
|
43
|
-
});
|
|
45
|
+
deployInbox(localChain, remoteChain, config, ubcAddress, duplicate) {
|
|
44
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
yield chainConnection.handleTx(multisigIsm.enrollValidators(chainsToEnrollValidators.map((c) => domains_1.ChainNameToDomainId[c]), validatorsToEnroll.filter((validators) => validators.length > 0), chainConnection.overrides));
|
|
61
|
-
}
|
|
62
|
-
const actualThresholds = yield Promise.all(remoteDomains.map((id) => multisigIsm.threshold(id)));
|
|
63
|
-
const expectedThresholds = remotes.map((chain) => this.configMap[chain].multisigIsm.threshold);
|
|
64
|
-
const chainsToSetThreshold = remotes.filter((_, i) => actualThresholds[i] !== expectedThresholds[i]);
|
|
65
|
-
if (chainsToSetThreshold.length > 0) {
|
|
66
|
-
this.logger(`Set remote (${chainsToSetThreshold}) thresholds on ${chain}`);
|
|
67
|
-
yield chainConnection.handleTx(multisigIsm.setThresholds(chainsToSetThreshold.map((c) => domains_1.ChainNameToDomainId[c]), chainsToSetThreshold.map((c) => this.configMap[c].multisigIsm.threshold), chainConnection.overrides));
|
|
68
|
-
}
|
|
69
|
-
}));
|
|
70
|
-
return multisigIsm;
|
|
47
|
+
const localDomain = chainMetadata_1.chainMetadata[localChain].id;
|
|
48
|
+
const remoteDomain = chainMetadata_1.chainMetadata[remoteChain].id;
|
|
49
|
+
const inboxValidatorManager = yield this.deployContract(localChain, 'inboxValidatorManager', [remoteDomain, config.validators, config.threshold]);
|
|
50
|
+
const initArgs = [
|
|
51
|
+
remoteDomain,
|
|
52
|
+
inboxValidatorManager.address,
|
|
53
|
+
];
|
|
54
|
+
let inbox;
|
|
55
|
+
if (duplicate) {
|
|
56
|
+
inbox = yield this.duplicateProxiedContract(localChain, duplicate, initArgs);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
inbox = yield this.deployProxiedContract(localChain, 'inbox', [localDomain], ubcAddress, initArgs);
|
|
60
|
+
}
|
|
61
|
+
return { inbox, inboxValidatorManager };
|
|
71
62
|
});
|
|
72
63
|
}
|
|
73
64
|
deployContracts(chain, config) {
|
|
65
|
+
const _super = Object.create(null, {
|
|
66
|
+
runIfOwner: { get: () => super.runIfOwner }
|
|
67
|
+
});
|
|
68
|
+
var _a, _b, _c;
|
|
74
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
75
70
|
if (config.remove) {
|
|
76
71
|
// skip deploying to chains configured to be removed
|
|
@@ -80,16 +75,40 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
80
75
|
const provider = dc.provider;
|
|
81
76
|
const startingBlockNumber = yield provider.getBlockNumber();
|
|
82
77
|
this.startingBlockNumbers[chain] = startingBlockNumber;
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
78
|
+
const upgradeBeaconController = yield this.deployContract(chain, 'upgradeBeaconController', []);
|
|
79
|
+
const interchainGasPaymaster = yield this.deployProxiedContract(chain, 'interchainGasPaymaster', [], upgradeBeaconController.address, []);
|
|
80
|
+
const connectionManager = yield this.deployContract(chain, 'connectionManager', []);
|
|
81
|
+
const outbox = yield this.deployOutbox(chain, config.validatorManager, upgradeBeaconController.address);
|
|
82
|
+
yield _super.runIfOwner.call(this, chain, connectionManager, () => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const current = yield connectionManager.outbox();
|
|
84
|
+
if (current !== outbox.outbox.address) {
|
|
85
|
+
const outboxTx = yield connectionManager.setOutbox(outbox.outbox.address, dc.overrides);
|
|
86
|
+
yield dc.handleTx(outboxTx);
|
|
87
|
+
}
|
|
88
|
+
}));
|
|
89
|
+
const configChains = Object.keys(this.configMap);
|
|
90
|
+
const remotes = this.multiProvider
|
|
91
|
+
.intersect(configChains, false)
|
|
92
|
+
.multiProvider.remoteChains(chain);
|
|
93
|
+
const inboxes = (_b = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a.inboxes) !== null && _b !== void 0 ? _b : {};
|
|
94
|
+
let prev;
|
|
95
|
+
for (const remote of remotes) {
|
|
96
|
+
if (!inboxes[remote]) {
|
|
97
|
+
inboxes[remote] = yield this.deployInbox(chain, remote, this.configMap[remote].validatorManager, upgradeBeaconController.address, (_c = inboxes[prev]) === null || _c === void 0 ? void 0 : _c.inbox);
|
|
98
|
+
}
|
|
99
|
+
yield _super.runIfOwner.call(this, chain, connectionManager, () => __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const isEnrolled = yield connectionManager.isInbox(inboxes[remote].inbox.address);
|
|
101
|
+
if (!isEnrolled) {
|
|
102
|
+
this.logger(`Enrolling inbox for remote '${remote}'`);
|
|
103
|
+
const enrollTx = yield connectionManager.enrollInbox(chainMetadata_1.chainMetadata[remote].id, inboxes[remote].inbox.address, dc.overrides);
|
|
104
|
+
yield dc.handleTx(enrollTx);
|
|
105
|
+
}
|
|
106
|
+
}));
|
|
107
|
+
prev = remote;
|
|
108
|
+
}
|
|
109
|
+
return Object.assign({ upgradeBeaconController,
|
|
110
|
+
connectionManager,
|
|
111
|
+
interchainGasPaymaster, inboxes: inboxes }, outbox);
|
|
93
112
|
});
|
|
94
113
|
}
|
|
95
114
|
static transferOwnership(core, owners, multiProvider) {
|
|
@@ -102,9 +121,11 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
102
121
|
static transferOwnershipOfChain(coreContracts, owner, chainConnection) {
|
|
103
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
104
123
|
const ownables = [
|
|
105
|
-
coreContracts.
|
|
106
|
-
coreContracts.
|
|
107
|
-
coreContracts.
|
|
124
|
+
coreContracts.outbox.contract,
|
|
125
|
+
coreContracts.outboxValidatorManager,
|
|
126
|
+
coreContracts.connectionManager,
|
|
127
|
+
coreContracts.upgradeBeaconController,
|
|
128
|
+
...Object.values(coreContracts.inboxes).flatMap((inbox) => [inbox.inbox.contract, inbox.inboxValidatorManager]),
|
|
108
129
|
];
|
|
109
130
|
return Promise.all(ownables.map((ownable) => chainConnection.handleTx(ownable.transferOwnership(owner, chainConnection.overrides))));
|
|
110
131
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +1,64 @@
|
|
|
1
|
-
import { Mailbox,
|
|
1
|
+
import { AbacusConnectionManager, Mailbox, MultisigValidatorManager } from '@hyperlane-xyz/core';
|
|
2
2
|
import type { types } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { ChainName } from '../../types';
|
|
4
4
|
import type { CheckerViolation } from '../types';
|
|
5
|
-
export declare type
|
|
5
|
+
export declare type ValidatorManagerConfig = {
|
|
6
6
|
validators: Array<types.Address>;
|
|
7
7
|
threshold: number;
|
|
8
8
|
};
|
|
9
9
|
export declare type CoreConfig = {
|
|
10
|
-
|
|
10
|
+
validatorManager: ValidatorManagerConfig;
|
|
11
11
|
owner?: types.Address;
|
|
12
12
|
remove?: boolean;
|
|
13
13
|
};
|
|
14
14
|
export declare enum CoreViolationType {
|
|
15
|
-
|
|
15
|
+
ValidatorManager = "ValidatorManager",
|
|
16
16
|
Mailbox = "Mailbox",
|
|
17
17
|
ConnectionManager = "ConnectionManager"
|
|
18
18
|
}
|
|
19
|
-
export declare enum
|
|
19
|
+
export declare enum ValidatorManagerViolationType {
|
|
20
20
|
EnrolledValidators = "EnrolledValidators",
|
|
21
21
|
Threshold = "Threshold"
|
|
22
22
|
}
|
|
23
|
+
export declare enum ConnectionManagerViolationType {
|
|
24
|
+
EnrolledInboxes = "EnrolledInboxes"
|
|
25
|
+
}
|
|
23
26
|
export declare enum MailboxViolationType {
|
|
24
|
-
|
|
27
|
+
ValidatorManager = "ValidatorManager"
|
|
25
28
|
}
|
|
26
29
|
export interface MailboxViolation extends CheckerViolation {
|
|
27
30
|
type: CoreViolationType.Mailbox;
|
|
28
31
|
contract: Mailbox;
|
|
29
32
|
mailboxType: MailboxViolationType;
|
|
30
33
|
}
|
|
31
|
-
export interface
|
|
34
|
+
export interface MailboxValidatorManagerViolation extends MailboxViolation {
|
|
32
35
|
actual: types.Address;
|
|
33
36
|
expected: types.Address;
|
|
34
37
|
}
|
|
35
|
-
export interface
|
|
36
|
-
type: CoreViolationType.
|
|
37
|
-
contract:
|
|
38
|
-
|
|
38
|
+
export interface ValidatorManagerViolation extends CheckerViolation {
|
|
39
|
+
type: CoreViolationType.ValidatorManager;
|
|
40
|
+
contract: MultisigValidatorManager;
|
|
41
|
+
validatorManagerType: ValidatorManagerViolationType;
|
|
39
42
|
remote: ChainName;
|
|
40
43
|
}
|
|
41
|
-
export interface EnrolledValidatorsViolation extends
|
|
42
|
-
|
|
44
|
+
export interface EnrolledValidatorsViolation extends ValidatorManagerViolation {
|
|
45
|
+
validatorManagerType: ValidatorManagerViolationType.EnrolledValidators;
|
|
43
46
|
actual: Set<types.Address>;
|
|
44
47
|
expected: Set<types.Address>;
|
|
45
48
|
}
|
|
46
|
-
export interface ThresholdViolation extends
|
|
47
|
-
|
|
49
|
+
export interface ThresholdViolation extends ValidatorManagerViolation {
|
|
50
|
+
validatorManagerType: ValidatorManagerViolationType.Threshold;
|
|
48
51
|
actual: number;
|
|
49
52
|
expected: number;
|
|
50
53
|
}
|
|
54
|
+
export interface ConnectionManagerViolation extends CheckerViolation {
|
|
55
|
+
type: CoreViolationType.ConnectionManager;
|
|
56
|
+
contract: AbacusConnectionManager;
|
|
57
|
+
connectionManagerType: ConnectionManagerViolationType;
|
|
58
|
+
}
|
|
59
|
+
export interface EnrolledInboxesViolation extends ConnectionManagerViolation {
|
|
60
|
+
remote: ChainName;
|
|
61
|
+
actual: Set<types.Address>;
|
|
62
|
+
expected: Set<types.Address>;
|
|
63
|
+
}
|
|
51
64
|
//# sourceMappingURL=types.d.ts.map
|