@hyperlane-xyz/sdk 1.3.0 → 1.3.1
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 +0 -18
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/mainnet.json +0 -9
- package/dist/consts/environments/testnet.json +1 -10
- package/dist/contracts.d.ts +0 -1
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +3 -12
- 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 +18 -19
- 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 +23 -18
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +15 -16
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +60 -103
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/utils.d.ts +6 -0
- package/dist/deploy/utils.d.ts.map +1 -0
- package/dist/deploy/utils.js +13 -0
- package/dist/deploy/utils.js.map +1 -0
- 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 +17 -33
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/calculator.d.ts +186 -0
- package/dist/gas/calculator.d.ts.map +1 -0
- package/dist/gas/calculator.hardhat-test.d.ts +2 -0
- package/dist/gas/calculator.hardhat-test.d.ts.map +1 -0
- package/dist/gas/calculator.hardhat-test.js +59 -0
- package/dist/gas/calculator.hardhat-test.js.map +1 -0
- package/dist/gas/calculator.js +301 -0
- package/dist/gas/calculator.js.map +1 -0
- package/dist/gas/calculator.test.d.ts +2 -0
- package/dist/gas/calculator.test.d.ts.map +1 -0
- package/dist/gas/calculator.test.js +197 -0
- package/dist/gas/calculator.test.js.map +1 -0
- 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 +19 -13
- 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/accounts.hardhat-test.d.ts +2 -0
- package/dist/middleware/accounts.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/accounts.hardhat-test.js +67 -0
- package/dist/middleware/accounts.hardhat-test.js.map +1 -0
- package/dist/middleware/deploy.d.ts +28 -0
- package/dist/middleware/deploy.d.ts.map +1 -0
- package/dist/middleware/deploy.js +124 -0
- package/dist/middleware/deploy.js.map +1 -0
- 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/queries.hardhat-test.d.ts +2 -0
- package/dist/middleware/queries.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/queries.hardhat-test.js +73 -0
- package/dist/middleware/queries.hardhat-test.js.map +1 -0
- 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 +1 -1
- package/dist/proxy.d.ts +24 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +39 -0
- package/dist/proxy.js.map +1 -0
- 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 +10 -14
- 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/router/ProxiedRouterChecker.js +26 -0
- 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/app.d.ts +14 -0
- package/dist/router/app.d.ts.map +1 -0
- package/dist/router/app.js +31 -0
- package/dist/router/app.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.map +1 -1
- package/dist/utils/objects.js +4 -1
- package/dist/utils/objects.js.map +1 -1
- package/package.json +6 -6
|
@@ -16,42 +16,41 @@ exports.HyperlaneCoreDeployer = void 0;
|
|
|
16
16
|
const debug_1 = __importDefault(require("debug"));
|
|
17
17
|
const ethers_1 = require("ethers");
|
|
18
18
|
const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
|
|
19
|
-
const objects_1 = require("../utils/objects");
|
|
20
19
|
const contracts_1 = require("./contracts");
|
|
21
20
|
class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
22
|
-
constructor(multiProvider
|
|
23
|
-
super(multiProvider,
|
|
21
|
+
constructor(multiProvider) {
|
|
22
|
+
super(multiProvider, contracts_1.coreFactories, {
|
|
24
23
|
logger: (0, debug_1.default)('hyperlane:CoreDeployer'),
|
|
24
|
+
chainTimeoutMs: 1000 * 60 * 10, // 10 minutes
|
|
25
25
|
});
|
|
26
|
-
this.startingBlockNumbers =
|
|
26
|
+
this.startingBlockNumbers = {};
|
|
27
27
|
}
|
|
28
|
-
deployMailbox(chain, defaultIsmAddress, proxyAdmin,
|
|
28
|
+
deployMailbox(chain, defaultIsmAddress, proxyAdmin, owner) {
|
|
29
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
30
|
const domain = this.multiProvider.getDomainId(chain);
|
|
31
|
-
const
|
|
32
|
-
const mailbox = yield this.deployProxiedContract(chain, 'mailbox', [domain], [owner, defaultIsmAddress], proxyAdmin, deployOpts);
|
|
31
|
+
const mailbox = yield this.deployProxiedContract(chain, 'mailbox', proxyAdmin, [domain], [owner, defaultIsmAddress]);
|
|
33
32
|
return mailbox;
|
|
34
33
|
});
|
|
35
34
|
}
|
|
36
|
-
deployValidatorAnnounce(chain, mailboxAddress
|
|
35
|
+
deployValidatorAnnounce(chain, mailboxAddress) {
|
|
37
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const validatorAnnounce = yield this.deployContract(chain, 'validatorAnnounce', [mailboxAddress]
|
|
37
|
+
const validatorAnnounce = yield this.deployContract(chain, 'validatorAnnounce', [mailboxAddress]);
|
|
39
38
|
return validatorAnnounce;
|
|
40
39
|
});
|
|
41
40
|
}
|
|
42
|
-
deployLegacyMultisigIsm(chain) {
|
|
41
|
+
deployLegacyMultisigIsm(chain, multisigIsmConfig) {
|
|
43
42
|
const _super = Object.create(null, {
|
|
44
43
|
runIfOwner: { get: () => super.runIfOwner }
|
|
45
44
|
});
|
|
46
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
46
|
const multisigIsm = yield this.deployContract(chain, 'multisigIsm', []);
|
|
48
|
-
const remotes = Object.keys(
|
|
47
|
+
const remotes = Object.keys(multisigIsmConfig);
|
|
49
48
|
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
50
49
|
yield _super.runIfOwner.call(this, chain, multisigIsm, () => __awaiter(this, void 0, void 0, function* () {
|
|
51
50
|
// TODO: Remove extraneous validators
|
|
52
51
|
const remoteDomains = this.multiProvider.getDomainIds(remotes);
|
|
53
52
|
const actualValidators = yield Promise.all(remoteDomains.map((id) => multisigIsm.validators(id)));
|
|
54
|
-
const expectedValidators = remotes.map((remote) =>
|
|
53
|
+
const expectedValidators = remotes.map((remote) => multisigIsmConfig[remote].validators);
|
|
55
54
|
const validatorsToEnroll = expectedValidators.map((validators, i) => validators.filter((validator) => !actualValidators[i].includes(ethers_1.ethers.utils.getAddress(validator))));
|
|
56
55
|
const chainsToEnrollValidators = remotes.filter((_, i) => validatorsToEnroll[i].length > 0);
|
|
57
56
|
if (chainsToEnrollValidators.length > 0) {
|
|
@@ -59,11 +58,11 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
59
58
|
yield this.multiProvider.handleTx(chain, multisigIsm.enrollValidators(chainsToEnrollValidators.map((c) => this.multiProvider.getDomainId(c)), validatorsToEnroll.filter((validators) => validators.length > 0), overrides));
|
|
60
59
|
}
|
|
61
60
|
const actualThresholds = yield Promise.all(remoteDomains.map((id) => multisigIsm.threshold(id)));
|
|
62
|
-
const expectedThresholds = remotes.map((remote) =>
|
|
61
|
+
const expectedThresholds = remotes.map((remote) => multisigIsmConfig[remote].threshold);
|
|
63
62
|
const chainsToSetThreshold = remotes.filter((_, i) => actualThresholds[i] !== expectedThresholds[i]);
|
|
64
63
|
if (chainsToSetThreshold.length > 0) {
|
|
65
64
|
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) =>
|
|
65
|
+
yield this.multiProvider.handleTx(chain, multisigIsm.setThresholds(chainsToSetThreshold.map((c) => this.multiProvider.getDomainId(c)), chainsToSetThreshold.map((remote) => multisigIsmConfig[remote].threshold), overrides));
|
|
67
66
|
}
|
|
68
67
|
}));
|
|
69
68
|
return multisigIsm;
|
|
@@ -75,12 +74,12 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
75
74
|
// skip deploying to chains configured to be removed
|
|
76
75
|
return undefined;
|
|
77
76
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const multisigIsm = yield this.deployLegacyMultisigIsm(chain);
|
|
77
|
+
this.startingBlockNumbers[chain] = yield this.multiProvider
|
|
78
|
+
.getProvider(chain)
|
|
79
|
+
.getBlockNumber();
|
|
80
|
+
const multisigIsm = yield this.deployLegacyMultisigIsm(chain, config.multisigIsm);
|
|
82
81
|
const proxyAdmin = yield this.deployContract(chain, 'proxyAdmin', []);
|
|
83
|
-
const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin.address);
|
|
82
|
+
const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin.address, config.owner);
|
|
84
83
|
const validatorAnnounce = yield this.deployValidatorAnnounce(chain, mailbox.address);
|
|
85
84
|
// Ownership of the Mailbox and the interchainGasPaymaster is transferred upon initialization.
|
|
86
85
|
const ownables = [multisigIsm, proxyAdmin];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mCAAgC;AAWhC,
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,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;IAiBV,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAuB/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"}
|
|
@@ -85,10 +85,9 @@ class HyperlaneAppChecker {
|
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
|
-
|
|
89
|
-
checkOwnership(chain, owner) {
|
|
88
|
+
ownables(chain) {
|
|
90
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
const isOwnable = (contract) => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const isOwnable = (_, contract) => __awaiter(this, void 0, void 0, function* () {
|
|
92
91
|
try {
|
|
93
92
|
yield contract.owner();
|
|
94
93
|
return true;
|
|
@@ -98,22 +97,28 @@ class HyperlaneAppChecker {
|
|
|
98
97
|
}
|
|
99
98
|
});
|
|
100
99
|
const contracts = this.app.getContracts(chain);
|
|
101
|
-
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(contracts,
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
100
|
+
const isOwnableContracts = yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(contracts, isOwnable));
|
|
101
|
+
return (0, objects_1.objFilter)(contracts, (name, contract) => isOwnableContracts[name]);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
// TODO: Require owner in config if ownables is non-empty
|
|
105
|
+
checkOwnership(chain, owner) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const ownableContracts = yield this.ownables(chain);
|
|
108
|
+
for (const [name, contract] of Object.entries(ownableContracts)) {
|
|
109
|
+
const actual = yield contract.owner();
|
|
110
|
+
if (!utils_2.utils.eqAddress(actual, owner)) {
|
|
111
|
+
const violation = {
|
|
112
|
+
chain,
|
|
113
|
+
name,
|
|
114
|
+
type: types_1.ViolationType.Owner,
|
|
115
|
+
actual,
|
|
116
|
+
expected: owner,
|
|
117
|
+
contract,
|
|
118
|
+
};
|
|
119
|
+
this.addViolation(violation);
|
|
115
120
|
}
|
|
116
|
-
}
|
|
121
|
+
}
|
|
117
122
|
});
|
|
118
123
|
}
|
|
119
124
|
expectViolations(violationCounts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAA6C;
|
|
1
|
+
{"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,45 +3,44 @@ import { Contract, ethers } from 'ethers';
|
|
|
3
3
|
import { HyperlaneConnectionClient, Ownable, ProxyAdmin, TransparentUpgradeableProxy } from '@hyperlane-xyz/core';
|
|
4
4
|
import { types } from '@hyperlane-xyz/utils';
|
|
5
5
|
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
|
|
6
|
+
import { HyperlaneAddressesMap } from '../contracts';
|
|
6
7
|
import { MultiProvider } from '../providers/MultiProvider';
|
|
7
8
|
import { ConnectionClientConfig } from '../router/types';
|
|
8
9
|
import { ChainMap, ChainName } from '../types';
|
|
9
10
|
import { ContractVerificationInput } from './verify/types';
|
|
10
11
|
export interface DeployerOptions {
|
|
11
12
|
logger?: Debugger;
|
|
13
|
+
chainTimeoutMs?: number;
|
|
12
14
|
}
|
|
13
|
-
export interface DeployOptions {
|
|
14
|
-
create2Salt?: string;
|
|
15
|
-
initCalldata?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare const CREATE2FACTORY_ADDRESS = "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a";
|
|
18
15
|
export declare abstract class HyperlaneDeployer<Config, Factories extends HyperlaneFactories> {
|
|
19
16
|
protected readonly multiProvider: MultiProvider;
|
|
20
|
-
readonly
|
|
21
|
-
readonly factories: Factories;
|
|
17
|
+
protected readonly factories: Factories;
|
|
22
18
|
protected readonly options?: DeployerOptions | undefined;
|
|
23
|
-
deployedContracts: HyperlaneContractsMap<Factories>;
|
|
24
19
|
verificationInputs: ChainMap<ContractVerificationInput[]>;
|
|
20
|
+
deployedContracts: HyperlaneContractsMap<Factories>;
|
|
21
|
+
startingBlockNumbers: ChainMap<number | undefined>;
|
|
25
22
|
protected logger: Debugger;
|
|
26
|
-
|
|
23
|
+
protected chainTimeoutMs: number;
|
|
24
|
+
constructor(multiProvider: MultiProvider, factories: Factories, options?: DeployerOptions | undefined);
|
|
27
25
|
cacheContracts(partialDeployment: HyperlaneContractsMap<Factories>): void;
|
|
26
|
+
cacheAddresses(partialDeployment: HyperlaneAddressesMap<Factories>): void;
|
|
28
27
|
abstract deployContracts(chain: ChainName, config: Config): Promise<HyperlaneContracts<Factories>>;
|
|
29
|
-
deploy(
|
|
30
|
-
protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T
|
|
28
|
+
deploy(configMap: ChainMap<Config>): Promise<HyperlaneContractsMap<Factories>>;
|
|
29
|
+
protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>, label?: string): Promise<T | undefined>;
|
|
31
30
|
protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
|
|
32
31
|
protected runIfAdmin<T>(chain: ChainName, proxy: Contract, signerAdminFn: () => Promise<T>, proxyAdminOwnerFn: (proxyAdmin: ProxyAdmin) => Promise<T>): Promise<T | undefined>;
|
|
33
32
|
protected initConnectionClient(local: ChainName, connectionClient: HyperlaneConnectionClient, config: ConnectionClientConfig): Promise<void>;
|
|
34
|
-
protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>,
|
|
35
|
-
deployContract<K extends keyof Factories>(chain: ChainName, contractName: K,
|
|
33
|
+
protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<F['deploy']>>['initialize']>): Promise<ReturnType<F['deploy']>>;
|
|
34
|
+
deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>): Promise<HyperlaneContracts<Factories>[K]>;
|
|
36
35
|
protected changeAdmin(chain: ChainName, proxy: TransparentUpgradeableProxy, admin: string): Promise<void>;
|
|
37
|
-
protected upgradeAndInitialize(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation:
|
|
38
|
-
protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C,
|
|
36
|
+
protected upgradeAndInitialize<C extends ethers.Contract>(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation: C, initializeArgs: Parameters<C['initialize']>): Promise<void>;
|
|
37
|
+
protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, proxyAdmin: string, initializeArgs?: Parameters<C['initialize']>): Promise<C>;
|
|
39
38
|
private cacheContract;
|
|
40
39
|
/**
|
|
41
40
|
* Deploys the Implementation and Proxy for a given contract
|
|
42
41
|
*
|
|
43
42
|
*/
|
|
44
|
-
deployProxiedContract<K extends keyof Factories>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>,
|
|
43
|
+
deployProxiedContract<K extends keyof Factories>(chain: ChainName, contractName: K, proxyAdmin: string, constructorArgs: Parameters<Factories[K]['deploy']>, initializeArgs?: Parameters<HyperlaneContracts<Factories>[K]['initialize']>): Promise<HyperlaneContracts<Factories>[K]>;
|
|
45
44
|
mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<ContractVerificationInput[]>): ChainMap<ContractVerificationInput[]>;
|
|
46
45
|
protected transferOwnershipOfContracts(chain: ChainName, owner: types.Address, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
|
|
47
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
|