@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.
Files changed (140) hide show
  1. package/dist/HyperlaneApp.d.ts.map +1 -1
  2. package/dist/HyperlaneApp.js +1 -1
  3. package/dist/HyperlaneApp.js.map +1 -1
  4. package/dist/consts/environments/index.d.ts +0 -18
  5. package/dist/consts/environments/index.d.ts.map +1 -1
  6. package/dist/consts/environments/mainnet.json +0 -9
  7. package/dist/consts/environments/testnet.json +1 -10
  8. package/dist/contracts.d.ts +0 -1
  9. package/dist/contracts.d.ts.map +1 -1
  10. package/dist/contracts.js +3 -12
  11. package/dist/contracts.js.map +1 -1
  12. package/dist/core/CoreDeployer.hardhat-test.d.ts +2 -0
  13. package/dist/core/CoreDeployer.hardhat-test.d.ts.map +1 -0
  14. package/dist/core/CoreDeployer.hardhat-test.js +93 -0
  15. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -0
  16. package/dist/core/HyperlaneCore.d.ts +2 -1
  17. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  18. package/dist/core/HyperlaneCore.js +14 -10
  19. package/dist/core/HyperlaneCore.js.map +1 -1
  20. package/dist/core/HyperlaneCoreDeployer.d.ts +6 -11
  21. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  22. package/dist/core/HyperlaneCoreDeployer.js +18 -19
  23. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  24. package/dist/core/TestCoreDeployer.d.ts +14 -6
  25. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  26. package/dist/core/TestCoreDeployer.js +12 -6
  27. package/dist/core/TestCoreDeployer.js.map +1 -1
  28. package/dist/deploy/HyperlaneAppChecker.d.ts +4 -0
  29. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  30. package/dist/deploy/HyperlaneAppChecker.js +23 -18
  31. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  32. package/dist/deploy/HyperlaneDeployer.d.ts +15 -16
  33. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  34. package/dist/deploy/HyperlaneDeployer.js +60 -103
  35. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  36. package/dist/deploy/utils.d.ts +6 -0
  37. package/dist/deploy/utils.d.ts.map +1 -0
  38. package/dist/deploy/utils.js +13 -0
  39. package/dist/deploy/utils.js.map +1 -0
  40. package/dist/gas/HyperlaneIgpChecker.d.ts +4 -0
  41. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  42. package/dist/gas/HyperlaneIgpChecker.js +10 -0
  43. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  44. package/dist/gas/HyperlaneIgpDeployer.d.ts +7 -13
  45. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  46. package/dist/gas/HyperlaneIgpDeployer.js +17 -33
  47. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  48. package/dist/gas/calculator.d.ts +186 -0
  49. package/dist/gas/calculator.d.ts.map +1 -0
  50. package/dist/gas/calculator.hardhat-test.d.ts +2 -0
  51. package/dist/gas/calculator.hardhat-test.d.ts.map +1 -0
  52. package/dist/gas/calculator.hardhat-test.js +59 -0
  53. package/dist/gas/calculator.hardhat-test.js.map +1 -0
  54. package/dist/gas/calculator.js +301 -0
  55. package/dist/gas/calculator.js.map +1 -0
  56. package/dist/gas/calculator.test.d.ts +2 -0
  57. package/dist/gas/calculator.test.d.ts.map +1 -0
  58. package/dist/gas/calculator.test.js +197 -0
  59. package/dist/gas/calculator.test.js.map +1 -0
  60. package/dist/index.d.ts +2 -2
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +2 -3
  63. package/dist/index.js.map +1 -1
  64. package/dist/middleware/account/InterchainAccountChecker.d.ts +2 -2
  65. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  66. package/dist/middleware/account/InterchainAccountChecker.js +2 -2
  67. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  68. package/dist/middleware/account/InterchainAccountDeployer.d.ts +6 -6
  69. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  70. package/dist/middleware/account/InterchainAccountDeployer.js +19 -13
  71. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  72. package/dist/middleware/account/accounts.hardhat-test.js +4 -9
  73. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  74. package/dist/middleware/accounts.hardhat-test.d.ts +2 -0
  75. package/dist/middleware/accounts.hardhat-test.d.ts.map +1 -0
  76. package/dist/middleware/accounts.hardhat-test.js +67 -0
  77. package/dist/middleware/accounts.hardhat-test.js.map +1 -0
  78. package/dist/middleware/deploy.d.ts +28 -0
  79. package/dist/middleware/deploy.d.ts.map +1 -0
  80. package/dist/middleware/deploy.js +124 -0
  81. package/dist/middleware/deploy.js.map +1 -0
  82. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  83. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +3 -0
  84. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  85. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +12 -5
  86. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  87. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +28 -19
  88. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  89. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +2 -2
  90. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  91. package/dist/middleware/queries.hardhat-test.d.ts +2 -0
  92. package/dist/middleware/queries.hardhat-test.d.ts.map +1 -0
  93. package/dist/middleware/queries.hardhat-test.js +73 -0
  94. package/dist/middleware/queries.hardhat-test.js.map +1 -0
  95. package/dist/middleware/query/InterchainQueryChecker.d.ts +2 -2
  96. package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -1
  97. package/dist/middleware/query/InterchainQueryChecker.js +2 -2
  98. package/dist/middleware/query/InterchainQueryChecker.js.map +1 -1
  99. package/dist/middleware/query/InterchainQueryDeployer.d.ts +10 -5
  100. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  101. package/dist/middleware/query/InterchainQueryDeployer.js +31 -4
  102. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  103. package/dist/middleware/query/queries.hardhat-test.js +2 -2
  104. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  105. package/dist/providers/MultiProvider.d.ts +1 -1
  106. package/dist/providers/MultiProvider.js +1 -1
  107. package/dist/proxy.d.ts +24 -0
  108. package/dist/proxy.d.ts.map +1 -0
  109. package/dist/proxy.js +39 -0
  110. package/dist/proxy.js.map +1 -0
  111. package/dist/router/GasRouterDeployer.d.ts +4 -5
  112. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  113. package/dist/router/GasRouterDeployer.js +5 -9
  114. package/dist/router/GasRouterDeployer.js.map +1 -1
  115. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  116. package/dist/router/HyperlaneRouterChecker.js +2 -3
  117. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  118. package/dist/router/HyperlaneRouterDeployer.d.ts +5 -7
  119. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  120. package/dist/router/HyperlaneRouterDeployer.js +10 -14
  121. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  122. package/dist/router/ProxiedRouterChecker.d.ts +8 -0
  123. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -0
  124. package/dist/router/ProxiedRouterChecker.js +26 -0
  125. package/dist/router/ProxiedRouterChecker.js.map +1 -0
  126. package/dist/router/ProxiedRouterDeployer.d.ts +13 -0
  127. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -0
  128. package/dist/router/ProxiedRouterDeployer.js +35 -0
  129. package/dist/router/ProxiedRouterDeployer.js.map +1 -0
  130. package/dist/router/app.d.ts +14 -0
  131. package/dist/router/app.d.ts.map +1 -0
  132. package/dist/router/app.js +31 -0
  133. package/dist/router/app.js.map +1 -0
  134. package/dist/router/types.d.ts +1 -2
  135. package/dist/router/types.d.ts.map +1 -1
  136. package/dist/test/testUtils.d.ts.map +1 -1
  137. package/dist/utils/objects.d.ts.map +1 -1
  138. package/dist/utils/objects.js +4 -1
  139. package/dist/utils/objects.js.map +1 -1
  140. 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, configMap, factoriesOverride = contracts_1.coreFactories) {
23
- super(multiProvider, configMap, factoriesOverride, {
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 = (0, objects_1.objMap)(configMap, () => undefined);
26
+ this.startingBlockNumbers = {};
27
27
  }
28
- deployMailbox(chain, defaultIsmAddress, proxyAdmin, deployOpts) {
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 owner = this.configMap[chain].owner;
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, deployOpts) {
35
+ deployValidatorAnnounce(chain, mailboxAddress) {
37
36
  return __awaiter(this, void 0, void 0, function* () {
38
- const validatorAnnounce = yield this.deployContract(chain, 'validatorAnnounce', [mailboxAddress], deployOpts);
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(this.configMap[chain].multisigIsm);
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) => this.configMap[chain].multisigIsm[remote].validators);
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) => this.configMap[chain].multisigIsm[remote].threshold);
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) => this.configMap[chain].multisigIsm[remote].threshold), overrides));
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
- const provider = this.multiProvider.getProvider(chain);
79
- const startingBlockNumber = yield provider.getBlockNumber();
80
- this.startingBlockNumbers[chain] = startingBlockNumber;
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":"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"}
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 { MultiProvider } from '../providers/MultiProvider';
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 { CoreConfig } from './types';
7
+ import { CoreFactories } from './contracts';
8
+ import { MultisigIsmConfig } from './types';
8
9
  export declare class TestCoreDeployer extends HyperlaneCoreDeployer {
9
- readonly multiProvider: MultiProvider;
10
- constructor(multiProvider: MultiProvider, configMap?: ChainMap<CoreConfig>);
11
- deployLegacyMultisigIsm(chain: ChainName): Promise<LegacyMultisigIsm>;
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,EAIlB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AASrC,qBAAa,gBAAiB,SAAQ,qBAAqB;aAEvC,aAAa,EAAE,aAAa;gBAA5B,aAAa,EAAE,aAAa,EAC5C,SAAS,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IAS5B,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAYrE,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAIjE,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC;CAGxC"}
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(multiProvider, configMap) {
22
- // Note that the multisig module configs are unused.
23
- const configs = configMap !== null && configMap !== void 0 ? configMap : (0, testUtils_1.testCoreConfig)(chains_1.TestChains);
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,2CAA4C;AAG5C,MAAM,iBAAiB,mCAClB,yBAAa,KAChB,OAAO,EAAE,IAAI,2BAAoB,EAAE,EACnC,OAAO,EAAE,IAAI,uBAAgB,EAAE,EAC/B,sBAAsB,EAAE,IAAI,0CAAmC,EAAE,GAClE,CAAC;AAEF,MAAa,gBAAiB,SAAQ,6CAAqB;IACzD,YACkB,aAA4B,EAC5C,SAAgC;QAEhC,oDAAoD;QACpD,MAAM,OAAO,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAA,0BAAc,EAAC,mBAAU,CAAC,CAAC;QAExD,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QANjC,kBAAa,GAAb,aAAa,CAAe;IAO9C,CAAC;IAED,+CAA+C;IACzC,uBAAuB,CAAC,KAAgB;;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAClD,KAAK,EACL,iBAAiB,CAAC,OAAO,EACzB,SAAS,EACT,EAAE,CACH,CAAC;YACF,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,OAAuC,CAAC;QACjD,CAAC;KAAA;IAED,wDAAwD;IAClD,4BAA4B;;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAEK,SAAS;;YACb,OAAO,IAAI,yBAAW,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,CAAC;KAAA;CACF;AA/BD,4CA+BC"}
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;IAkBV,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3E,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
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
- // TODO: Require owner in config if ownables is non-empty
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, (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
- }
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":"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"}
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 configMap: ChainMap<Config>;
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
- constructor(multiProvider: MultiProvider, configMap: ChainMap<Config>, factories: Factories, options?: DeployerOptions | undefined);
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(partialDeployment?: HyperlaneContractsMap<Factories>): Promise<HyperlaneContractsMap<Factories>>;
30
- protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>): Promise<T | undefined>;
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']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
35
- deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<HyperlaneContracts<Factories>[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: string, initData: string): Promise<void>;
38
- protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, initArgs: Parameters<C['initialize']>, proxyAdmin: string, deployOpts?: DeployOptions): Promise<C>;
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']>, initArgs: Parameters<HyperlaneContracts<Factories>[K]['initialize']>, proxyAdmin: string, deployOpts?: DeployOptions): Promise<HyperlaneContracts<Factories>[K]>;
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,EAEL,yBAAyB,EACzB,OAAO,EACP,UAAU,EAEV,2BAA2B,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAM3D,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,sBAAsB,+CACW,CAAC;AAE/C,8BAAsB,iBAAiB,CACrC,MAAM,EACN,SAAS,SAAS,kBAAkB;IAOlC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;aAC/B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC;aAC3B,SAAS,EAAE,SAAS;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IARtB,iBAAiB,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAM;IACzD,kBAAkB,EAAE,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACjE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAGN,aAAa,EAAE,aAAa,EAC/B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,SAAS,EAAE,SAAS,EACjB,OAAO,CAAC,6BAAiB;IAM9C,cAAc,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,IAAI;IAOzE,QAAQ,CAAC,eAAe,CACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEnC,MAAM,CACV,iBAAiB,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACnD,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;cAiC5B,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAUT,UAAU,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAIT,UAAU,CAAC,CAAC,EAC1B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC/B,iBAAiB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAoBT,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,gBAAgB,EAAE,yBAAyB,EAC3C,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,IAAI,CAAC;cA2CA,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,eAAe,EACxE,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,EACV,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACxC,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IA2F7B,cAAc,CAAC,CAAC,SAAS,MAAM,SAAS,EAC5C,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,CAAC,EACf,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACxC,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;cAY5B,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,2BAA2B,EAClC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;cAmBA,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,2BAA2B,EAClC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;cAwBA,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EACnD,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,CAAC,EACjB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,CAAC,CAAC;IA+Db,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACG,qBAAqB,CAAC,CAAC,SAAS,MAAM,SAAS,EACnD,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,CAAC,EACf,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACnD,QAAQ,EAAE,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EACpE,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IA6B5C,mCAAmC,CACjC,iBAAiB,EAAE,QAAQ,CAAC,yBAAyB,EAAE,CAAC,GACvD,QAAQ,CAAC,yBAAyB,EAAE,CAAC;cAcxB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;CAoBrC"}
1
+ {"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}