@hyperlane-xyz/sdk 1.4.2 → 1.4.3-beta0

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 (217) hide show
  1. package/dist/consts/agentStartBlocks.d.ts +3 -0
  2. package/dist/consts/agentStartBlocks.d.ts.map +1 -0
  3. package/dist/consts/agentStartBlocks.js +28 -0
  4. package/dist/consts/agentStartBlocks.js.map +1 -0
  5. package/dist/consts/bytecode.js +1 -1
  6. package/dist/consts/bytecode.js.map +1 -1
  7. package/dist/consts/chainMetadata.js +3 -3
  8. package/dist/consts/chains.d.ts +1 -1
  9. package/dist/consts/chains.d.ts.map +1 -1
  10. package/dist/consts/chains.js +2 -2
  11. package/dist/consts/chains.js.map +1 -1
  12. package/dist/consts/environments/index.d.ts +40 -2
  13. package/dist/consts/environments/index.d.ts.map +1 -1
  14. package/dist/consts/environments/index.js.map +1 -1
  15. package/dist/consts/environments/mainnet.json +27 -9
  16. package/dist/consts/environments/testnet.json +36 -18
  17. package/dist/contracts.d.ts +5 -5
  18. package/dist/contracts.d.ts.map +1 -1
  19. package/dist/contracts.js +12 -23
  20. package/dist/contracts.js.map +1 -1
  21. package/dist/core/CoreDeployer.hardhat-test.js +33 -42
  22. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  23. package/dist/core/HyperlaneCore.d.ts +1 -1
  24. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  25. package/dist/core/HyperlaneCore.js +12 -25
  26. package/dist/core/HyperlaneCore.js.map +1 -1
  27. package/dist/core/HyperlaneCore.test.js +4 -13
  28. package/dist/core/HyperlaneCore.test.js.map +1 -1
  29. package/dist/core/HyperlaneCoreChecker.d.ts +0 -1
  30. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  31. package/dist/core/HyperlaneCoreChecker.js +79 -137
  32. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  33. package/dist/core/HyperlaneCoreDeployer.d.ts +1 -2
  34. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  35. package/dist/core/HyperlaneCoreDeployer.js +45 -71
  36. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  37. package/dist/core/TestCoreApp.js +35 -45
  38. package/dist/core/TestCoreApp.js.map +1 -1
  39. package/dist/core/TestCoreDeployer.js +14 -27
  40. package/dist/core/TestCoreDeployer.js.map +1 -1
  41. package/dist/core/contracts.d.ts +1 -1
  42. package/dist/core/contracts.d.ts.map +1 -1
  43. package/dist/core/events.d.ts +1 -1
  44. package/dist/core/events.d.ts.map +1 -1
  45. package/dist/core/testHyperlaneDeploy.hardhat-test.js +23 -32
  46. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  47. package/dist/core/types.d.ts +4 -4
  48. package/dist/core/types.d.ts.map +1 -1
  49. package/dist/core/types.js +2 -3
  50. package/dist/core/types.js.map +1 -1
  51. package/dist/deploy/HyperlaneAppChecker.d.ts +3 -1
  52. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  53. package/dist/deploy/HyperlaneAppChecker.js +105 -83
  54. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  55. package/dist/deploy/HyperlaneDeployer.d.ts +5 -1
  56. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  57. package/dist/deploy/HyperlaneDeployer.js +179 -183
  58. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  59. package/dist/deploy/proxy.d.ts +9 -0
  60. package/dist/deploy/proxy.d.ts.map +1 -1
  61. package/dist/deploy/proxy.js +11 -26
  62. package/dist/deploy/proxy.js.map +1 -1
  63. package/dist/deploy/types.d.ts +18 -2
  64. package/dist/deploy/types.d.ts.map +1 -1
  65. package/dist/deploy/types.js +3 -1
  66. package/dist/deploy/types.js.map +1 -1
  67. package/dist/deploy/verify/ContractVerifier.js +122 -131
  68. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  69. package/dist/deploy/verify/types.d.ts +3 -3
  70. package/dist/deploy/verify/types.d.ts.map +1 -1
  71. package/dist/gas/HyperlaneIgpChecker.d.ts +0 -4
  72. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  73. package/dist/gas/HyperlaneIgpChecker.js +101 -121
  74. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  75. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  76. package/dist/gas/HyperlaneIgpDeployer.js +74 -77
  77. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  78. package/dist/gas/contracts.d.ts +4 -3
  79. package/dist/gas/contracts.d.ts.map +1 -1
  80. package/dist/gas/contracts.js +2 -1
  81. package/dist/gas/contracts.js.map +1 -1
  82. package/dist/gas/token-prices.d.ts +5 -5
  83. package/dist/gas/token-prices.d.ts.map +1 -1
  84. package/dist/gas/token-prices.js +37 -54
  85. package/dist/gas/token-prices.js.map +1 -1
  86. package/dist/gas/token-prices.test.js +11 -20
  87. package/dist/gas/token-prices.test.js.map +1 -1
  88. package/dist/gas/types.d.ts +5 -2
  89. package/dist/gas/types.d.ts.map +1 -1
  90. package/dist/gas/types.js +2 -2
  91. package/dist/gas/types.js.map +1 -1
  92. package/dist/hook/HyperlaneHookDeployer.js +69 -88
  93. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  94. package/dist/hook/contracts.d.ts +4 -4
  95. package/dist/hook/contracts.d.ts.map +1 -1
  96. package/dist/hook/contracts.js +5 -1
  97. package/dist/hook/contracts.js.map +1 -1
  98. package/dist/hook/types.d.ts +3 -3
  99. package/dist/hook/types.d.ts.map +1 -1
  100. package/dist/hook/types.js +1 -1
  101. package/dist/hook/types.js.map +1 -1
  102. package/dist/index.d.ts +3 -2
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +6 -2
  105. package/dist/index.js.map +1 -1
  106. package/dist/ism/HyperlaneIsmFactory.d.ts +1 -1
  107. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  108. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -23
  109. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  110. package/dist/ism/HyperlaneIsmFactory.js +215 -194
  111. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  112. package/dist/ism/HyperlaneIsmFactoryDeployer.js +18 -34
  113. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
  114. package/dist/ism/contracts.d.ts +1 -1
  115. package/dist/ism/contracts.d.ts.map +1 -1
  116. package/dist/ism/types.d.ts +5 -5
  117. package/dist/ism/types.d.ts.map +1 -1
  118. package/dist/ism/types.js +1 -1
  119. package/dist/ism/types.js.map +1 -1
  120. package/dist/metadata/agentConfig.d.ts +9 -4
  121. package/dist/metadata/agentConfig.d.ts.map +1 -1
  122. package/dist/metadata/agentConfig.js +26 -8
  123. package/dist/metadata/agentConfig.js.map +1 -1
  124. package/dist/metadata/agentConfig.test.d.ts +2 -0
  125. package/dist/metadata/agentConfig.test.d.ts.map +1 -0
  126. package/dist/metadata/agentConfig.test.js +33 -0
  127. package/dist/metadata/agentConfig.test.js.map +1 -0
  128. package/dist/metadata/chainMetadata.test.js +27 -9
  129. package/dist/metadata/chainMetadata.test.js.map +1 -1
  130. package/dist/metadata/chainMetadataTypes.d.ts +3 -3
  131. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  132. package/dist/metadata/chainMetadataTypes.js +3 -4
  133. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  134. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  135. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  136. package/dist/middleware/account/InterchainAccountChecker.js +4 -1
  137. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  138. package/dist/middleware/account/InterchainAccountDeployer.d.ts +12 -6
  139. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  140. package/dist/middleware/account/InterchainAccountDeployer.js +34 -63
  141. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  142. package/dist/middleware/account/accounts.hardhat-test.js +21 -30
  143. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  144. package/dist/middleware/account/contracts.d.ts +4 -3
  145. package/dist/middleware/account/contracts.d.ts.map +1 -1
  146. package/dist/middleware/account/contracts.js +2 -1
  147. package/dist/middleware/account/contracts.js.map +1 -1
  148. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +129 -151
  149. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  150. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -2
  151. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  152. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +85 -107
  153. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  154. package/dist/middleware/liquidity-layer/contracts.d.ts +4 -3
  155. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  156. package/dist/middleware/liquidity-layer/contracts.js +2 -1
  157. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  158. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +41 -46
  159. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  160. package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
  161. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  162. package/dist/middleware/query/InterchainQueryDeployer.js +13 -24
  163. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  164. package/dist/middleware/query/contracts.d.ts +4 -3
  165. package/dist/middleware/query/contracts.d.ts.map +1 -1
  166. package/dist/middleware/query/contracts.js +2 -1
  167. package/dist/middleware/query/contracts.js.map +1 -1
  168. package/dist/middleware/query/queries.hardhat-test.js +23 -32
  169. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  170. package/dist/providers/MultiProvider.d.ts +2 -2
  171. package/dist/providers/MultiProvider.d.ts.map +1 -1
  172. package/dist/providers/MultiProvider.js +63 -84
  173. package/dist/providers/MultiProvider.js.map +1 -1
  174. package/dist/providers/RetryProvider.d.ts +1 -1
  175. package/dist/providers/RetryProvider.d.ts.map +1 -1
  176. package/dist/providers/RetryProvider.js +2 -16
  177. package/dist/providers/RetryProvider.js.map +1 -1
  178. package/dist/router/GasRouterDeployer.js +18 -32
  179. package/dist/router/GasRouterDeployer.js.map +1 -1
  180. package/dist/router/HyperlaneRouterChecker.d.ts +0 -1
  181. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  182. package/dist/router/HyperlaneRouterChecker.js +37 -51
  183. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  184. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  185. package/dist/router/HyperlaneRouterDeployer.js +89 -107
  186. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  187. package/dist/router/ProxiedRouterChecker.d.ts +3 -2
  188. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -1
  189. package/dist/router/ProxiedRouterChecker.js +15 -17
  190. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  191. package/dist/router/ProxiedRouterDeployer.d.ts +2 -2
  192. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  193. package/dist/router/ProxiedRouterDeployer.js +27 -28
  194. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  195. package/dist/router/RouterApps.d.ts.map +1 -1
  196. package/dist/router/RouterApps.js +4 -15
  197. package/dist/router/RouterApps.js.map +1 -1
  198. package/dist/router/types.d.ts +14 -9
  199. package/dist/router/types.d.ts.map +1 -1
  200. package/dist/router/types.js +7 -2
  201. package/dist/router/types.js.map +1 -1
  202. package/dist/test/testUtils.d.ts.map +1 -1
  203. package/dist/test/testUtils.js +21 -24
  204. package/dist/test/testUtils.js.map +1 -1
  205. package/dist/types.d.ts +5 -5
  206. package/dist/types.d.ts.map +1 -1
  207. package/dist/utils/MultiGeneric.js +2 -4
  208. package/dist/utils/MultiGeneric.js.map +1 -1
  209. package/dist/utils/fetch.js +8 -16
  210. package/dist/utils/fetch.js.map +1 -1
  211. package/dist/utils/number.js +2 -2
  212. package/dist/utils/number.js.map +1 -1
  213. package/dist/utils/objects.d.ts +2 -2
  214. package/dist/utils/objects.d.ts.map +1 -1
  215. package/dist/utils/wagmi.js +1 -2
  216. package/dist/utils/wagmi.js.map +1 -1
  217. package/package.json +10 -9
@@ -1,24 +1,15 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.HyperlaneDeployer = void 0;
13
4
  const debug_1 = require("debug");
14
5
  const ethers_1 = require("ethers");
15
6
  const core_1 = require("@hyperlane-xyz/core");
16
7
  const utils_1 = require("@hyperlane-xyz/utils");
8
+ const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
17
9
  const proxy_1 = require("./proxy");
18
10
  const utils_2 = require("./verify/utils");
19
11
  class HyperlaneDeployer {
20
12
  constructor(multiProvider, factories, options) {
21
- var _a, _b;
22
13
  this.multiProvider = multiProvider;
23
14
  this.factories = factories;
24
15
  this.options = options;
@@ -26,168 +17,178 @@ class HyperlaneDeployer {
26
17
  this.cachedAddresses = {};
27
18
  this.deployedContracts = {};
28
19
  this.startingBlockNumbers = {};
29
- this.logger = (_a = options === null || options === void 0 ? void 0 : options.logger) !== null && _a !== void 0 ? _a : (0, debug_1.debug)('hyperlane:deployer');
30
- this.chainTimeoutMs = (_b = options === null || options === void 0 ? void 0 : options.chainTimeoutMs) !== null && _b !== void 0 ? _b : 5 * 60 * 1000; // 5 minute timeout per chain
20
+ this.logger = options?.logger ?? (0, debug_1.debug)('hyperlane:deployer');
21
+ this.chainTimeoutMs = options?.chainTimeoutMs ?? 5 * 60 * 1000; // 5 minute timeout per chain
31
22
  }
32
23
  cacheAddressesMap(addressesMap) {
33
24
  this.cachedAddresses = addressesMap;
34
25
  }
35
- checkConfig(_) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- return;
38
- });
26
+ async checkConfig(_) {
27
+ return;
39
28
  }
40
- deploy(configMap) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- yield this.checkConfig(configMap);
43
- const configChains = Object.keys(configMap);
44
- const targetChains = this.multiProvider.intersect(configChains, true).intersection;
45
- this.logger(`Start deploy to ${targetChains}`);
46
- for (const chain of targetChains) {
47
- const signerUrl = yield this.multiProvider.tryGetExplorerAddressUrl(chain);
48
- const signerAddress = yield this.multiProvider.getSignerAddress(chain);
49
- const fromString = signerUrl || signerAddress;
50
- this.logger(`Deploying to ${chain} from ${fromString}`);
51
- this.startingBlockNumbers[chain] = yield this.multiProvider
52
- .getProvider(chain)
53
- .getBlockNumber();
54
- yield utils_1.utils.runWithTimeout(this.chainTimeoutMs, () => __awaiter(this, void 0, void 0, function* () {
55
- this.deployedContracts[chain] = yield this.deployContracts(chain, configMap[chain]);
56
- }));
57
- }
58
- return this.deployedContracts;
59
- });
29
+ async deploy(configMap) {
30
+ const configChains = Object.keys(configMap);
31
+ const targetChains = this.multiProvider.intersect(configChains, true).intersection;
32
+ this.logger(`Start deploy to ${targetChains}`);
33
+ for (const chain of targetChains) {
34
+ const signerUrl = await this.multiProvider.tryGetExplorerAddressUrl(chain);
35
+ const signerAddress = await this.multiProvider.getSignerAddress(chain);
36
+ const fromString = signerUrl || signerAddress;
37
+ this.logger(`Deploying to ${chain} from ${fromString}`);
38
+ this.startingBlockNumbers[chain] = await this.multiProvider
39
+ .getProvider(chain)
40
+ .getBlockNumber();
41
+ await utils_1.utils.runWithTimeout(this.chainTimeoutMs, async () => {
42
+ this.deployedContracts[chain] = await this.deployContracts(chain, configMap[chain]);
43
+ });
44
+ }
45
+ return this.deployedContracts;
60
46
  }
61
- runIf(chain, address, fn, label = 'address') {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- const signer = yield this.multiProvider.getSignerAddress(chain);
64
- if (utils_1.utils.eqAddress(address, signer)) {
65
- return fn();
66
- }
67
- else {
68
- this.logger(`Signer (${signer}) does not match ${label} (${address})`);
69
- }
70
- return undefined;
71
- });
47
+ async runIf(chain, address, fn, label = 'address') {
48
+ const signer = await this.multiProvider.getSignerAddress(chain);
49
+ if (utils_1.utils.eqAddress(address, signer)) {
50
+ return fn();
51
+ }
52
+ else {
53
+ this.logger(`Signer (${signer}) does not match ${label} (${address})`);
54
+ }
55
+ return undefined;
72
56
  }
73
- runIfOwner(chain, ownable, fn) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- return this.runIf(chain, yield ownable.callStatic.owner(), fn, 'owner');
76
- });
57
+ async runIfOwner(chain, ownable, fn) {
58
+ return this.runIf(chain, await ownable.callStatic.owner(), fn, 'owner');
77
59
  }
78
- runIfAdmin(chain, proxy, signerAdminFn, proxyAdminOwnerFn) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- const admin = yield (0, proxy_1.proxyAdmin)(this.multiProvider.getProvider(chain), proxy.address);
81
- const code = yield this.multiProvider.getProvider(chain).getCode(admin);
82
- // if admin is a ProxyAdmin, run the proxyAdminOwnerFn (if deployer is owner)
83
- if (code !== '0x') {
84
- this.logger(`Admin is a ProxyAdmin (${admin})`);
85
- const proxyAdmin = core_1.ProxyAdmin__factory.connect(admin, proxy.signer);
86
- return this.runIfOwner(chain, proxyAdmin, () => proxyAdminOwnerFn(proxyAdmin));
60
+ async runIfAdmin(chain, proxy, signerAdminFn, proxyAdminOwnerFn) {
61
+ const admin = await (0, proxy_1.proxyAdmin)(this.multiProvider.getProvider(chain), proxy.address);
62
+ const code = await this.multiProvider.getProvider(chain).getCode(admin);
63
+ // if admin is a ProxyAdmin, run the proxyAdminOwnerFn (if deployer is owner)
64
+ if (code !== '0x') {
65
+ this.logger(`Admin is a ProxyAdmin (${admin})`);
66
+ const proxyAdmin = core_1.ProxyAdmin__factory.connect(admin, proxy.signer);
67
+ return this.runIfOwner(chain, proxyAdmin, () => proxyAdminOwnerFn(proxyAdmin));
68
+ }
69
+ else {
70
+ this.logger(`Admin is an EOA (${admin})`);
71
+ // if admin is an EOA, run the signerAdminFn (if deployer is admin)
72
+ return this.runIf(chain, admin, () => signerAdminFn(), 'admin');
73
+ }
74
+ }
75
+ async initConnectionClient(local, connectionClient, config) {
76
+ this.logger(`Initializing connection client (if not already) on ${local}...`);
77
+ await this.runIfOwner(local, connectionClient, async () => {
78
+ const txOverrides = this.multiProvider.getTransactionOverrides(local);
79
+ // set mailbox if not already set (and configured)
80
+ if (config.mailbox !== (await connectionClient.mailbox())) {
81
+ this.logger(`Set mailbox on (${local})`);
82
+ await this.multiProvider.handleTx(local, connectionClient.setMailbox(config.mailbox, txOverrides));
87
83
  }
88
- else {
89
- this.logger(`Admin is an EOA (${admin})`);
90
- // if admin is an EOA, run the signerAdminFn (if deployer is admin)
91
- return this.runIf(chain, admin, () => signerAdminFn(), 'admin');
84
+ // set interchain gas paymaster if not already set (and configured)
85
+ if (config.interchainGasPaymaster !==
86
+ (await connectionClient.interchainGasPaymaster())) {
87
+ this.logger(`Set interchain gas paymaster on ${local}`);
88
+ await this.multiProvider.handleTx(local, connectionClient.setInterchainGasPaymaster(config.interchainGasPaymaster, txOverrides));
92
89
  }
93
- });
94
- }
95
- initConnectionClient(local, connectionClient, config) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- this.logger(`Initializing connection client (if not already) on ${local}...`);
98
- yield this.runIfOwner(local, connectionClient, () => __awaiter(this, void 0, void 0, function* () {
99
- // set mailbox if not already set (and configured)
100
- if (config.mailbox !== (yield connectionClient.mailbox())) {
101
- this.logger(`Set mailbox on (${local})`);
102
- yield this.multiProvider.handleTx(local, connectionClient.setMailbox(config.mailbox));
90
+ let currentIsm = await connectionClient.interchainSecurityModule();
91
+ // in case the above returns zero address, fetch the defaultISM from the mailbox
92
+ if (currentIsm === ethers_1.ethers.constants.AddressZero) {
93
+ const mailbox = core_1.Mailbox__factory.connect(config.mailbox, connectionClient.signer);
94
+ currentIsm = await mailbox.defaultIsm();
95
+ }
96
+ if (config.interchainSecurityModule) {
97
+ // set interchain security module if not already set (and configured)
98
+ let configuredIsm;
99
+ if (typeof config.interchainSecurityModule === 'string') {
100
+ configuredIsm = config.interchainSecurityModule;
103
101
  }
104
- // set interchain gas paymaster if not already set (and configured)
105
- if (config.interchainGasPaymaster !==
106
- (yield connectionClient.interchainGasPaymaster())) {
107
- this.logger(`Set interchain gas paymaster on ${local}`);
108
- yield this.multiProvider.handleTx(local, connectionClient.setInterchainGasPaymaster(config.interchainGasPaymaster));
102
+ else if (this.options?.ismFactory) {
103
+ const matches = await (0, HyperlaneIsmFactory_1.moduleMatchesConfig)(local, currentIsm, config.interchainSecurityModule, this.multiProvider, this.options.ismFactory.chainMap[local]);
104
+ if (matches) {
105
+ // when the ISM recursively matches the IsmConfig, we don't need to deploy a new ISM
106
+ this.logger(`ISM matches config for chain ${local}, skipping deploy`);
107
+ return;
108
+ }
109
+ const ism = await this.options.ismFactory.deploy(local, config.interchainSecurityModule);
110
+ configuredIsm = ism.address;
109
111
  }
110
- // set interchain security module if not already set (and configured)
111
- if (config.interchainSecurityModule &&
112
- config.interchainSecurityModule !==
113
- (yield connectionClient.interchainSecurityModule())) {
114
- this.logger(`Set interchain security module on ${local}`);
115
- yield this.multiProvider.handleTx(local, connectionClient.setInterchainSecurityModule(config.interchainSecurityModule));
112
+ else {
113
+ throw new Error('No ISM factory provided');
116
114
  }
117
- }));
118
- this.logger(`Connection client on ${local} initialized...`);
119
- });
120
- }
121
- deployContractFromFactory(chain, factory, contractName, constructorArgs, initializeArgs) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const cachedContract = this.readCache(chain, factory, contractName);
124
- if (cachedContract) {
125
- return cachedContract;
126
- }
127
- const signer = this.multiProvider.getSigner(chain);
128
- const overrides = this.multiProvider.getTransactionOverrides(chain);
129
- this.logger(`Deploy ${contractName} on ${chain}`);
130
- const contract = yield factory
131
- .connect(signer)
132
- .deploy(...constructorArgs, overrides);
133
- yield this.multiProvider.handleTx(chain, contract.deployTransaction);
134
- if (initializeArgs) {
135
- this.logger(`Initialize ${contractName} on ${chain}`);
136
- const initTx = yield contract.initialize(...initializeArgs, overrides);
137
- yield this.multiProvider.handleTx(chain, initTx);
115
+ this.logger(`Set interchain security module on ${local} at ${configuredIsm}`);
116
+ await this.multiProvider.handleTx(local, connectionClient.setInterchainSecurityModule(configuredIsm, txOverrides));
138
117
  }
139
- const verificationInput = (0, utils_2.getContractVerificationInput)(contractName, contract, factory.bytecode);
140
- this.verificationInputs[chain] = this.verificationInputs[chain] || [];
141
- this.verificationInputs[chain].push(verificationInput);
142
- return contract;
143
118
  });
119
+ this.logger(`Connection client on ${local} initialized...`);
144
120
  }
145
- deployContract(chain, contractName, constructorArgs, initializeArgs) {
146
- return __awaiter(this, void 0, void 0, function* () {
147
- const contract = (yield this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), constructorArgs, initializeArgs));
148
- this.writeCache(chain, contractName, contract.address);
149
- return contract;
150
- });
121
+ async deployContractFromFactory(chain, factory, contractName, constructorArgs, initializeArgs) {
122
+ const cachedContract = this.readCache(chain, factory, contractName);
123
+ if (cachedContract) {
124
+ return cachedContract;
125
+ }
126
+ const signer = this.multiProvider.getSigner(chain);
127
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
128
+ this.logger(`Deploy ${contractName} on ${chain}`);
129
+ const contract = await factory
130
+ .connect(signer)
131
+ .deploy(...constructorArgs, overrides);
132
+ await this.multiProvider.handleTx(chain, contract.deployTransaction);
133
+ if (initializeArgs) {
134
+ this.logger(`Initialize ${contractName} on ${chain}`);
135
+ const initTx = await contract.initialize(...initializeArgs, overrides);
136
+ await this.multiProvider.handleTx(chain, initTx);
137
+ }
138
+ const verificationInput = (0, utils_2.getContractVerificationInput)(contractName, contract, factory.bytecode);
139
+ this.verificationInputs[chain] = this.verificationInputs[chain] || [];
140
+ this.verificationInputs[chain].push(verificationInput);
141
+ return contract;
151
142
  }
152
- changeAdmin(chain, proxy, admin) {
153
- return __awaiter(this, void 0, void 0, function* () {
154
- const actualAdmin = yield (0, proxy_1.proxyAdmin)(this.multiProvider.getProvider(chain), proxy.address);
155
- if (utils_1.utils.eqAddress(admin, actualAdmin)) {
156
- this.logger(`Admin set correctly, skipping admin change`);
157
- return;
158
- }
159
- const txOverrides = this.multiProvider.getTransactionOverrides(chain);
160
- this.logger(`Changing proxy admin`);
161
- yield this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.changeAdmin(admin, txOverrides)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.changeProxyAdmin(proxy.address, admin, txOverrides)));
162
- });
143
+ async deployContract(chain, contractName, constructorArgs, initializeArgs) {
144
+ const contract = (await this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), constructorArgs, initializeArgs));
145
+ this.writeCache(chain, contractName, contract.address);
146
+ return contract;
163
147
  }
164
- upgradeAndInitialize(chain, proxy, implementation, initializeArgs) {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- const current = yield proxy.callStatic.implementation();
167
- if (utils_1.utils.eqAddress(implementation.address, current)) {
168
- this.logger(`Implementation set correctly, skipping upgrade`);
169
- return;
170
- }
171
- this.logger(`Upgrading and initializing implementation`);
172
- const initData = implementation.interface.encodeFunctionData('initialize', initializeArgs);
173
- const overrides = this.multiProvider.getTransactionOverrides(chain);
174
- yield this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.upgradeToAndCall(implementation.address, initData, overrides)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides)));
175
- });
148
+ async changeAdmin(chain, proxy, admin) {
149
+ const actualAdmin = await (0, proxy_1.proxyAdmin)(this.multiProvider.getProvider(chain), proxy.address);
150
+ if (utils_1.utils.eqAddress(admin, actualAdmin)) {
151
+ this.logger(`Admin set correctly, skipping admin change`);
152
+ return;
153
+ }
154
+ const txOverrides = this.multiProvider.getTransactionOverrides(chain);
155
+ this.logger(`Changing proxy admin`);
156
+ await this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.changeAdmin(admin, txOverrides)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.changeProxyAdmin(proxy.address, admin, txOverrides)));
176
157
  }
177
- deployProxy(chain, implementation, proxyAdmin, initializeArgs) {
178
- return __awaiter(this, void 0, void 0, function* () {
179
- const initData = initializeArgs
180
- ? implementation.interface.encodeFunctionData('initialize', initializeArgs)
181
- : '0x';
182
- this.logger(`Deploying transparent upgradable proxy`);
183
- const constructorArgs = [
184
- implementation.address,
185
- proxyAdmin,
186
- initData,
187
- ];
188
- const proxy = yield this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs);
189
- return implementation.attach(proxy.address);
190
- });
158
+ async upgradeAndInitialize(chain, proxy, implementation, initializeArgs) {
159
+ const current = await proxy.callStatic.implementation();
160
+ if (utils_1.utils.eqAddress(implementation.address, current)) {
161
+ this.logger(`Implementation set correctly, skipping upgrade`);
162
+ return;
163
+ }
164
+ this.logger(`Upgrading and initializing implementation`);
165
+ const initData = implementation.interface.encodeFunctionData('initialize', initializeArgs);
166
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
167
+ await this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.upgradeToAndCall(implementation.address, initData, overrides)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides)));
168
+ }
169
+ async deployProxy(chain, implementation, proxyAdmin, initializeArgs) {
170
+ const initData = initializeArgs
171
+ ? implementation.interface.encodeFunctionData('initialize', initializeArgs)
172
+ : '0x';
173
+ this.logger(`Deploying transparent upgradable proxy`);
174
+ const constructorArgs = [
175
+ implementation.address,
176
+ proxyAdmin,
177
+ initData,
178
+ ];
179
+ const proxy = await this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs);
180
+ return implementation.attach(proxy.address);
181
+ }
182
+ async deployTimelock(chain, timelockConfig) {
183
+ const timelock = await this.deployContractFromFactory(chain, new core_1.TimelockController__factory(), 'timelockController',
184
+ // delay, [proposers], [executors], admin
185
+ [
186
+ timelockConfig.delay,
187
+ [timelockConfig.roles.proposer],
188
+ [timelockConfig.roles.executor],
189
+ ethers_1.ethers.constants.AddressZero,
190
+ ]);
191
+ return timelock;
191
192
  }
192
193
  writeCache(chain, contractName, address) {
193
194
  if (!this.cachedAddresses[chain]) {
@@ -196,9 +197,8 @@ class HyperlaneDeployer {
196
197
  this.cachedAddresses[chain][contractName] = address;
197
198
  }
198
199
  readCache(chain, factory, contractName) {
199
- var _a;
200
- const cachedAddress = (_a = this.cachedAddresses[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
201
- const hit = !!cachedAddress;
200
+ const cachedAddress = this.cachedAddresses[chain]?.[contractName];
201
+ const hit = !!cachedAddress && cachedAddress !== ethers_1.ethers.constants.AddressZero;
202
202
  const contractAddress = hit ? cachedAddress : ethers_1.ethers.constants.AddressZero;
203
203
  const contract = factory
204
204
  .attach(contractAddress)
@@ -213,19 +213,17 @@ class HyperlaneDeployer {
213
213
  * Deploys the Implementation and Proxy for a given contract
214
214
  *
215
215
  */
216
- deployProxiedContract(chain, contractName, proxyAdmin, constructorArgs, initializeArgs) {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- const cachedContract = this.readCache(chain, this.factories[contractName], contractName.toString());
219
- if (cachedContract) {
220
- return cachedContract;
221
- }
222
- // Try to initialize the implementation even though it may not be necessary
223
- const implementation = yield this.deployContract(chain, contractName, constructorArgs, initializeArgs);
224
- // Initialize the proxy the same way
225
- const contract = yield this.deployProxy(chain, implementation, proxyAdmin, initializeArgs);
226
- this.writeCache(chain, contractName, contract.address);
227
- return contract;
228
- });
216
+ async deployProxiedContract(chain, contractName, proxyAdmin, constructorArgs, initializeArgs) {
217
+ const cachedContract = this.readCache(chain, this.factories[contractName], contractName.toString());
218
+ if (cachedContract) {
219
+ return cachedContract;
220
+ }
221
+ // Try to initialize the implementation even though it may not be necessary
222
+ const implementation = await this.deployContract(chain, contractName, constructorArgs, initializeArgs);
223
+ // Initialize the proxy the same way
224
+ const contract = await this.deployProxy(chain, implementation, proxyAdmin, initializeArgs);
225
+ this.writeCache(chain, contractName, contract.address);
226
+ return contract;
229
227
  }
230
228
  mergeWithExistingVerificationInputs(existingInputsMap) {
231
229
  const allChains = new Set();
@@ -239,21 +237,19 @@ class HyperlaneDeployer {
239
237
  }
240
238
  return ret;
241
239
  }
242
- transferOwnershipOfContracts(chain, owner, ownables) {
243
- return __awaiter(this, void 0, void 0, function* () {
244
- const receipts = [];
245
- for (const contractName of Object.keys(ownables)) {
246
- const ownable = ownables[contractName];
247
- const currentOwner = yield ownable.owner();
248
- if (!utils_1.utils.eqAddress(currentOwner, owner)) {
249
- this.logger(`Transferring ownership of ${contractName} to ${owner} on ${chain}`);
250
- const receipt = yield this.runIfOwner(chain, ownable, () => this.multiProvider.handleTx(chain, ownable.transferOwnership(owner, this.multiProvider.getTransactionOverrides(chain))));
251
- if (receipt)
252
- receipts.push(receipt);
253
- }
240
+ async transferOwnershipOfContracts(chain, owner, ownables) {
241
+ const receipts = [];
242
+ for (const contractName of Object.keys(ownables)) {
243
+ const ownable = ownables[contractName];
244
+ const currentOwner = await ownable.owner();
245
+ if (!utils_1.utils.eqAddress(currentOwner, owner)) {
246
+ this.logger(`Transferring ownership of ${contractName} to ${owner} on ${chain}`);
247
+ const receipt = await this.runIfOwner(chain, ownable, () => this.multiProvider.handleTx(chain, ownable.transferOwnership(owner, this.multiProvider.getTransactionOverrides(chain))));
248
+ if (receipt)
249
+ receipts.push(receipt);
254
250
  }
255
- return receipts.filter((x) => !!x);
256
- });
251
+ }
252
+ return receipts.filter((x) => !!x);
257
253
  }
258
254
  }
259
255
  exports.HyperlaneDeployer = HyperlaneDeployer;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;AACxC,mCAA0C;AAE1C,8CAO6B;AAC7B,gDAAoD;AAYpD,mCAAqC;AAErC,0CAA8D;AAO9D,MAAsB,iBAAiB;IAYrC,YACqB,aAA4B,EAC5B,SAAoB,EACpB,OAAyB;;QAFzB,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAkB;QAXvC,uBAAkB,GAA0C,EAAE,CAAC;QAC/D,oBAAe,GAA+B,EAAE,CAAC;QACjD,sBAAiB,GAAqC,EAAE,CAAC;QACzD,yBAAoB,GAAiC,EAAE,CAAC;QAU7D,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,IAAA,aAAK,EAAC,oBAAoB,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,6BAA6B;IAC/F,CAAC;IAED,iBAAiB,CAAC,YAAwC;QACxD,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC;IACtC,CAAC;IAEK,WAAW,CAAC,CAAmB;;YACnC,OAAO;QACT,CAAC;KAAA;IAOK,MAAM,CACV,SAA2B;;YAE3B,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAC/C,YAAY,EACZ,IAAI,CACL,CAAC,YAAY,CAAC;YAEf,IAAI,CAAC,MAAM,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;gBAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,wBAAwB,CACjE,KAAK,CACN,CAAC;gBACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,UAAU,GAAG,SAAS,IAAI,aAAa,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,UAAU,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa;qBACxD,WAAW,CAAC,KAAK,CAAC;qBAClB,cAAc,EAAE,CAAC;gBACpB,MAAM,aAAK,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,GAAS,EAAE;oBACzD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CACxD,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,CACjB,CAAC;gBACJ,CAAC,CAAA,CAAC,CAAC;aACJ;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;KAAA;IAEe,KAAK,CACnB,KAAgB,EAChB,OAAe,EACf,EAAoB,EACpB,KAAK,GAAG,SAAS;;YAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,aAAK,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;gBACpC,OAAO,EAAE,EAAE,CAAC;aACb;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,WAAW,MAAM,oBAAoB,KAAK,KAAK,OAAO,GAAG,CAAC,CAAC;aACxE;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEe,UAAU,CACxB,KAAgB,EAChB,OAAgB,EAChB,EAAoB;;YAEpB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEe,UAAU,CACxB,KAAgB,EAChB,KAAe,EACf,aAA+B,EAC/B,iBAAyD;;YAEzD,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAU,EAC5B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EACrC,KAAK,CAAC,OAAO,CACd,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxE,6EAA6E;YAC7E,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,0BAA0B,KAAK,GAAG,CAAC,CAAC;gBAChD,MAAM,UAAU,GAAG,0BAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAC7C,iBAAiB,CAAC,UAAU,CAAC,CAC9B,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;gBAC1C,mEAAmE;gBACnE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;aACjE;QACH,CAAC;KAAA;IAEe,oBAAoB,CAClC,KAAgB,EAChB,gBAA2C,EAC3C,MAA8B;;YAE9B,IAAI,CAAC,MAAM,CACT,sDAAsD,KAAK,KAAK,CACjE,CAAC;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAS,EAAE;gBACxD,kDAAkD;gBAClD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE;oBACzD,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAC;oBACzC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAC5C,CAAC;iBACH;gBAED,mEAAmE;gBACnE,IACE,MAAM,CAAC,sBAAsB;oBAC7B,CAAC,MAAM,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,EACjD;oBACA,IAAI,CAAC,MAAM,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;oBACxD,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,gBAAgB,CAAC,yBAAyB,CACxC,MAAM,CAAC,sBAAsB,CAC9B,CACF,CAAC;iBACH;gBAED,qEAAqE;gBACrE,IACE,MAAM,CAAC,wBAAwB;oBAC/B,MAAM,CAAC,wBAAwB;wBAC7B,CAAC,MAAM,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,EACrD;oBACA,IAAI,CAAC,MAAM,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;oBAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,gBAAgB,CAAC,2BAA2B,CAC1C,MAAM,CAAC,wBAAwB,CAChC,CACF,CAAC;iBACH;YACH,CAAC,CAAA,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,wBAAwB,KAAK,iBAAiB,CAAC,CAAC;QAC9D,CAAC;KAAA;IAEe,yBAAyB,CACvC,KAAgB,EAChB,OAAU,EACV,YAAoB,EACpB,eAAwC,EACxC,cAA2E;;YAE3E,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YACpE,IAAI,cAAc,EAAE;gBAClB,OAAO,cAAc,CAAC;aACvB;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAEpE,IAAI,CAAC,MAAM,CAAC,UAAU,YAAY,OAAO,KAAK,EAAE,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAO,OAAO;iBAC5B,OAAO,CAAC,MAAM,CAAC;iBACf,MAAM,CAAC,GAAG,eAAe,EAAE,SAAS,CAA6B,CAAC;YAErE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAErE,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,OAAO,KAAK,EAAE,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,cAAc,EAAE,SAAS,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAClD;YAED,MAAM,iBAAiB,GAAG,IAAA,oCAA4B,EACpD,YAAY,EACZ,QAAQ,EACR,OAAO,CAAC,QAAQ,CACjB,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACtE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAEvD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAEK,cAAc,CAClB,KAAgB,EAChB,YAAe,EACf,eAAmD,EACnD,cAEC;;YAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,yBAAyB,CACpD,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC5B,YAAY,CAAC,QAAQ,EAAE,EACvB,eAAe,EACf,cAAc,CACf,CAAqC,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAEe,WAAW,CACzB,KAAgB,EAChB,KAAkC,EAClC,KAAa;;YAEb,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAU,EAClC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EACrC,KAAK,CAAC,OAAO,CACd,CAAC;YACF,IAAI,aAAK,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,OAAO;aACR;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,UAAU,CACnB,KAAK,EACL,KAAK,EACL,GAAG,EAAE,CACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CACzB,KAAK,EACL,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CACtC,EACH,CAAC,UAAU,EAAE,EAAE,CACb,IAAI,CAAC,aAAa,CAAC,QAAQ,CACzB,KAAK,EACL,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAC/D,CACJ,CAAC;QACJ,CAAC;KAAA;IAEe,oBAAoB,CAClC,KAAgB,EAChB,KAAkC,EAClC,cAAiB,EACjB,cAA2C;;YAE3C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;YACxD,IAAI,aAAK,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,kBAAkB,CAC1D,YAAY,EACZ,cAAc,CACf,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,UAAU,CACnB,KAAK,EACL,KAAK,EACL,GAAG,EAAE,CACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CACzB,KAAK,EACL,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CACpE,EACH,CAAC,UAAsB,EAAE,EAAE,CACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,CACzB,KAAK,EACL,UAAU,CAAC,cAAc,CACvB,KAAK,CAAC,OAAO,EACb,cAAc,CAAC,OAAO,EACtB,QAAQ,EACR,SAAS,CACV,CACF,CACJ,CAAC;QACJ,CAAC;KAAA;IAEe,WAAW,CACzB,KAAgB,EAChB,cAAiB,EACjB,UAAkB,EAClB,cAA4C;;YAE5C,MAAM,QAAQ,GAAG,cAAc;gBAC7B,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,kBAAkB,CACzC,YAAY,EACZ,cAAc,CACf;gBACH,CAAC,CAAC,IAAI,CAAC;YAET,IAAI,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;YACtD,MAAM,eAAe,GAA6B;gBAChD,cAAc,CAAC,OAAO;gBACtB,UAAU;gBACV,QAAQ;aACT,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAChD,KAAK,EACL,IAAI,2CAAoC,EAAE,EAC1C,6BAA6B,EAC7B,eAAe,CAChB,CAAC;YAEF,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QACnD,CAAC;KAAA;IAES,UAAU,CAClB,KAAgB,EAChB,YAAe,EACf,OAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SAClC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;IACtD,CAAC;IAES,SAAS,CACjB,KAAgB,EAChB,OAAU,EACV,YAAoB;;QAEpB,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,0CAAG,YAAY,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC;QAC5B,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC;QAC3E,MAAM,QAAQ,GAAG,OAAO;aACrB,MAAM,CAAC,eAAe,CAAC;aACvB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAEvD,CAAC;QACF,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,CACT,aAAa,YAAY,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,aAAa,EAAE,CACpE,CAAC;YACF,OAAO,QAAQ,CAAC;SACjB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACG,qBAAqB,CACzB,KAAgB,EAChB,YAAe,EACf,UAAkB,EAClB,eAAmD,EACnD,cAA2E;;YAE3E,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CACnC,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC5B,YAAY,CAAC,QAAQ,EAAE,CACxB,CAAC;YACF,IAAI,cAAc,EAAE;gBAClB,OAAO,cAAc,CAAC;aACvB;YAED,2EAA2E;YAC3E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAC9C,KAAK,EACL,YAAY,EACZ,eAAe,EACf,cAAc,CACf,CAAC;YAEF,oCAAoC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,cAAc,EACd,UAAU,EACV,cAAc,CACf,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED,mCAAmC,CACjC,iBAAwD;QAExD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,MAAM,GAAG,GAA0C,EAAE,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;SAChD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEe,4BAA4B,CAC1C,KAAgB,EAChB,KAAoB,EACpB,QAAoC;;YAEpC,MAAM,QAAQ,GAA6B,EAAE,CAAC;YAC9C,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3C,IAAI,CAAC,aAAK,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE;oBACzC,IAAI,CAAC,MAAM,CACT,6BAA6B,YAAY,OAAO,KAAK,OAAO,KAAK,EAAE,CACpE,CAAC;oBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CACzD,IAAI,CAAC,aAAa,CAAC,QAAQ,CACzB,KAAK,EACL,OAAO,CAAC,iBAAiB,CACvB,KAAK,EACL,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAClD,CACF,CACF,CAAC;oBACF,IAAI,OAAO;wBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACrC;aACF;YAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAA6B,CAAC;QACjE,CAAC;KAAA;CACF;AArbD,8CAqbC"}
1
+ {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,14 @@
1
1
  import { ethers } from 'ethers';
2
2
  import type { types } from '@hyperlane-xyz/utils';
3
+ export type UpgradeConfig = {
4
+ timelock: {
5
+ delay: number;
6
+ roles: {
7
+ executor: types.Address;
8
+ proposer: types.Address;
9
+ };
10
+ };
11
+ };
3
12
  export declare function proxyImplementation(provider: ethers.providers.Provider, proxy: types.Address): Promise<types.Address>;
4
13
  export declare function proxyAdmin(provider: ethers.providers.Provider, proxy: types.Address): Promise<types.Address>;
5
14
  export declare function isProxy(provider: ethers.providers.Provider, proxy: types.Address): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAGlB"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QAEd,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;SACzB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAGlB"}
@@ -1,38 +1,23 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.isProxy = exports.proxyAdmin = exports.proxyImplementation = void 0;
13
4
  const ethers_1 = require("ethers");
14
5
  const utils_1 = require("@hyperlane-xyz/utils/dist/src/utils");
15
- function proxyImplementation(provider, proxy) {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- // Hardcoded storage slot for implementation per EIP-1967
18
- const storageValue = yield provider.getStorageAt(proxy, '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc');
19
- return ethers_1.ethers.utils.getAddress(storageValue.slice(26));
20
- });
6
+ async function proxyImplementation(provider, proxy) {
7
+ // Hardcoded storage slot for implementation per EIP-1967
8
+ const storageValue = await provider.getStorageAt(proxy, '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc');
9
+ return ethers_1.ethers.utils.getAddress(storageValue.slice(26));
21
10
  }
22
11
  exports.proxyImplementation = proxyImplementation;
23
- function proxyAdmin(provider, proxy) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- // Hardcoded storage slot for admin per EIP-1967
26
- const storageValue = yield provider.getStorageAt(proxy, '0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103');
27
- return ethers_1.ethers.utils.getAddress(storageValue.slice(26));
28
- });
12
+ async function proxyAdmin(provider, proxy) {
13
+ // Hardcoded storage slot for admin per EIP-1967
14
+ const storageValue = await provider.getStorageAt(proxy, '0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103');
15
+ return ethers_1.ethers.utils.getAddress(storageValue.slice(26));
29
16
  }
30
17
  exports.proxyAdmin = proxyAdmin;
31
- function isProxy(provider, proxy) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const admin = yield proxyAdmin(provider, proxy);
34
- return !(0, utils_1.eqAddress)(admin, ethers_1.ethers.constants.AddressZero);
35
- });
18
+ async function isProxy(provider, proxy) {
19
+ const admin = await proxyAdmin(provider, proxy);
20
+ return !(0, utils_1.eqAddress)(admin, ethers_1.ethers.constants.AddressZero);
36
21
  }
37
22
  exports.isProxy = isProxy;
38
23
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAGhC,+DAAgE;AAEhE,SAAsB,mBAAmB,CACvC,QAAmC,EACnC,KAAoB;;QAEpB,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;QACF,OAAO,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CAAA;AAVD,kDAUC;AAED,SAAsB,UAAU,CAC9B,QAAmC,EACnC,KAAoB;;QAEpB,gDAAgD;QAChD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;QACF,OAAO,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;CAAA;AAVD,gCAUC;AAED,SAAsB,OAAO,CAC3B,QAAmC,EACnC,KAAoB;;QAEpB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;CAAA;AAND,0BAMC"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAGhC,+DAAgE;AAazD,KAAK,UAAU,mBAAmB,CACvC,QAAmC,EACnC,KAAoB;IAEpB,yDAAyD;IACzD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;IACF,OAAO,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAVD,kDAUC;AAEM,KAAK,UAAU,UAAU,CAC9B,QAAmC,EACnC,KAAoB;IAEpB,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;IACF,OAAO,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAVD,gCAUC;AAEM,KAAK,UAAU,OAAO,CAC3B,QAAmC,EACnC,KAAoB;IAEpB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAA,iBAAS,EAAC,KAAK,EAAE,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACzD,CAAC;AAND,0BAMC"}
@@ -1,5 +1,5 @@
1
1
  import type { Contract } from 'ethers';
2
- import type { Ownable } from '@hyperlane-xyz/core';
2
+ import type { AccessControl, Ownable, TimelockController } from '@hyperlane-xyz/core';
3
3
  import type { ChainName } from '../types';
4
4
  export interface CheckerViolation {
5
5
  chain: ChainName;
@@ -12,7 +12,9 @@ export declare enum ViolationType {
12
12
  Owner = "Owner",
13
13
  NotDeployed = "NotDeployed",
14
14
  BytecodeMismatch = "BytecodeMismatch",
15
- ProxyAdmin = "ProxyAdmin"
15
+ ProxyAdmin = "ProxyAdmin",
16
+ TimelockController = "TimelockController",
17
+ AccessControl = "AccessControl"
16
18
  }
17
19
  export interface OwnerViolation extends CheckerViolation {
18
20
  type: ViolationType.Owner;
@@ -25,6 +27,20 @@ export interface ProxyAdminViolation extends CheckerViolation {
25
27
  type: ViolationType.ProxyAdmin;
26
28
  name: string;
27
29
  }
30
+ export interface TimelockControllerViolation extends CheckerViolation {
31
+ type: ViolationType.TimelockController;
32
+ actual: number;
33
+ expected: number;
34
+ contract: TimelockController;
35
+ }
36
+ export interface AccessControlViolation extends CheckerViolation {
37
+ type: ViolationType.AccessControl;
38
+ role: string;
39
+ account: string;
40
+ actual: boolean;
41
+ expected: boolean;
42
+ contract: AccessControl;
43
+ }
28
44
  export interface NotDeployedViolation extends CheckerViolation {
29
45
  type: ViolationType.NotDeployed;
30
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deploy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC;CACjC;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,IAAI,EAAE,aAAa,CAAC,gBAAgB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/deploy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EACV,aAAa,EACb,OAAO,EACP,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;CAChC;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,2BAA4B,SAAQ,gBAAgB;IACnE,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC;CACjC;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,IAAI,EAAE,aAAa,CAAC,gBAAgB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd"}