@hyperlane-xyz/sdk 41.0.0 → 41.2.0

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 (124) hide show
  1. package/dist/block-explorer/etherscan.d.ts +16 -0
  2. package/dist/block-explorer/etherscan.d.ts.map +1 -1
  3. package/dist/block-explorer/etherscan.js +42 -30
  4. package/dist/block-explorer/etherscan.js.map +1 -1
  5. package/dist/core/types.d.ts +136 -0
  6. package/dist/core/types.d.ts.map +1 -1
  7. package/dist/deploy/proxy.d.ts +41 -4
  8. package/dist/deploy/proxy.d.ts.map +1 -1
  9. package/dist/deploy/proxy.js +38 -8
  10. package/dist/deploy/proxy.js.map +1 -1
  11. package/dist/deploy/warp.d.ts.map +1 -1
  12. package/dist/deploy/warp.js +18 -1
  13. package/dist/deploy/warp.js.map +1 -1
  14. package/dist/ica/types.d.ts +80 -0
  15. package/dist/ica/types.d.ts.map +1 -1
  16. package/dist/ism/EvmIsmModule.d.ts +2 -0
  17. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  18. package/dist/ism/EvmIsmModule.hardhat-test.js +162 -9
  19. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  20. package/dist/ism/EvmIsmModule.js +35 -8
  21. package/dist/ism/EvmIsmModule.js.map +1 -1
  22. package/dist/ism/EvmIsmModule.test.d.ts +2 -0
  23. package/dist/ism/EvmIsmModule.test.d.ts.map +1 -0
  24. package/dist/ism/EvmIsmModule.test.js +200 -0
  25. package/dist/ism/EvmIsmModule.test.js.map +1 -0
  26. package/dist/ism/EvmIsmReader.d.ts +12 -0
  27. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  28. package/dist/ism/EvmIsmReader.js +29 -12
  29. package/dist/ism/EvmIsmReader.js.map +1 -1
  30. package/dist/ism/EvmIsmReader.test.js +227 -8
  31. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  32. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  33. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +166 -2
  34. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  35. package/dist/ism/HyperlaneIsmFactory.js +3 -2
  36. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  37. package/dist/ism/blacklist.d.ts +62 -0
  38. package/dist/ism/blacklist.d.ts.map +1 -0
  39. package/dist/ism/blacklist.js +98 -0
  40. package/dist/ism/blacklist.js.map +1 -0
  41. package/dist/ism/types.test.js +20 -1
  42. package/dist/ism/types.test.js.map +1 -1
  43. package/dist/ism/utils.d.ts.map +1 -1
  44. package/dist/ism/utils.js +26 -8
  45. package/dist/ism/utils.js.map +1 -1
  46. package/dist/metadata/ChainMetadataManager.d.ts +6 -0
  47. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  48. package/dist/metadata/ChainMetadataManager.js +21 -16
  49. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  50. package/dist/metadata/ChainMetadataManager.test.js +30 -0
  51. package/dist/metadata/ChainMetadataManager.test.js.map +1 -1
  52. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
  53. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +21 -6
  54. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
  55. package/dist/providers/SmartProvider/SmartProvider.d.ts +4 -0
  56. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  57. package/dist/providers/SmartProvider/SmartProvider.js +1 -1
  58. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  59. package/dist/providers/SmartProvider/SmartProvider.test.js +82 -0
  60. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  61. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  62. package/dist/router/ProxiedRouterDeployer.js +9 -0
  63. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  64. package/dist/router/types.d.ts +80 -0
  65. package/dist/router/types.d.ts.map +1 -1
  66. package/dist/router/types.js +4 -1
  67. package/dist/router/types.js.map +1 -1
  68. package/dist/router/types.test.js +76 -0
  69. package/dist/router/types.test.js.map +1 -1
  70. package/dist/rpc/evm/EvmEventLogsReader.d.ts +14 -0
  71. package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -1
  72. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +209 -3
  73. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -1
  74. package/dist/rpc/evm/EvmEventLogsReader.js +96 -11
  75. package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -1
  76. package/dist/rpc/evm/utils.d.ts +7 -11
  77. package/dist/rpc/evm/utils.d.ts.map +1 -1
  78. package/dist/rpc/evm/utils.hardhat-test.js +34 -9
  79. package/dist/rpc/evm/utils.hardhat-test.js.map +1 -1
  80. package/dist/rpc/evm/utils.js +10 -20
  81. package/dist/rpc/evm/utils.js.map +1 -1
  82. package/dist/test/contractDouble.d.ts +8 -0
  83. package/dist/test/contractDouble.d.ts.map +1 -0
  84. package/dist/test/contractDouble.js +12 -0
  85. package/dist/test/contractDouble.js.map +1 -0
  86. package/dist/timelock/evm/constants.d.ts +1 -0
  87. package/dist/timelock/evm/constants.d.ts.map +1 -1
  88. package/dist/timelock/evm/constants.js +1 -0
  89. package/dist/timelock/evm/constants.js.map +1 -1
  90. package/dist/timelock/evm/errors.d.ts +2 -0
  91. package/dist/timelock/evm/errors.d.ts.map +1 -0
  92. package/dist/timelock/evm/errors.js +19 -0
  93. package/dist/timelock/evm/errors.js.map +1 -0
  94. package/dist/timelock/evm/errors.test.d.ts +2 -0
  95. package/dist/timelock/evm/errors.test.d.ts.map +1 -0
  96. package/dist/timelock/evm/errors.test.js +33 -0
  97. package/dist/timelock/evm/errors.test.js.map +1 -0
  98. package/dist/token/EvmWarpModule.d.ts +13 -0
  99. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  100. package/dist/token/EvmWarpModule.hardhat-test.js +35 -0
  101. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  102. package/dist/token/EvmWarpModule.js +99 -2
  103. package/dist/token/EvmWarpModule.js.map +1 -1
  104. package/dist/token/EvmWarpModule.test.js +232 -8
  105. package/dist/token/EvmWarpModule.test.js.map +1 -1
  106. package/dist/token/configUtils.d.ts.map +1 -1
  107. package/dist/token/configUtils.js +2 -0
  108. package/dist/token/configUtils.js.map +1 -1
  109. package/dist/token/deploy.d.ts +1 -0
  110. package/dist/token/deploy.d.ts.map +1 -1
  111. package/dist/token/deploy.js +8 -1
  112. package/dist/token/deploy.js.map +1 -1
  113. package/dist/token/types.d.ts +6146 -2899
  114. package/dist/token/types.d.ts.map +1 -1
  115. package/dist/token/types.js +20 -3
  116. package/dist/token/types.js.map +1 -1
  117. package/dist/token/types.test.js +21 -0
  118. package/dist/token/types.test.js.map +1 -1
  119. package/dist/token/warpCheck.d.ts.map +1 -1
  120. package/dist/token/warpCheck.js +88 -2
  121. package/dist/token/warpCheck.js.map +1 -1
  122. package/dist/token/warpCheck.test.js +101 -1
  123. package/dist/token/warpCheck.test.js.map +1 -1
  124. package/package.json +11 -11
@@ -71,6 +71,22 @@ interface GetEventLogs extends BaseEtherscanLikeAPIParams<EtherscanLikeExplorerA
71
71
  offset: number;
72
72
  }
73
73
  type GetEventLogsOptions = Omit<GetEventLogs, 'module' | 'action' | 'page' | 'offset'>;
74
+ type ExplorerLogRangeOptions = {
75
+ address?: Address;
76
+ fromBlock?: number | 'latest';
77
+ toBlock?: number | 'latest';
78
+ };
79
+ type ExplorerLogIdentity = {
80
+ blockNumber: number | string;
81
+ transactionHash: string;
82
+ logIndex: number | string;
83
+ };
84
+ /**
85
+ * Reads every explorer page for a log range or throws without returning the
86
+ * prefix collected so far. Both direct explorer reads and explorer providers
87
+ * use this so a successful getLogs response has the same completeness contract.
88
+ */
89
+ export declare function readPaginatedExplorerLogs<T extends ExplorerLogIdentity>(options: ExplorerLogRangeOptions, readPage: (page: number, offset: number) => Promise<T[]>): Promise<T[]>;
74
90
  export declare function getLogsFromEtherscanLikeExplorerAPI({ apiUrl, apiKey: apikey }: EtherscanLikeAPIOptions, options: GetEventLogsOptions): Promise<Array<GetEventLogsResponse>>;
75
91
  type GetContractSourceCodeResponse = {
76
92
  SourceCode: string;
@@ -1 +1 @@
1
- {"version":3,"file":"etherscan.d.ts","sourceRoot":"","sources":["../../src/block-explorer/etherscan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"etherscan.d.ts","sourceRoot":"","sources":["../../src/block-explorer/etherscan.ts"],"names":[],"mappings":"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"}
@@ -132,14 +132,14 @@ const MAX_EXPLORER_LOG_PAGES = 10;
132
132
  * instead of returned.
133
133
  *
134
134
  * The ceiling is a property of the endpoint rather than of the moment, so
135
- * `retryAsync` must not spend attempts on it: `isRecoverable = false` sends
136
- * `EvmEventLogsReader` to its RPC fallback on the first response, and that
137
- * fallback paginates by block and so has no equivalent ceiling.
135
+ * `retryAsync` must not spend attempts on it: `isRecoverable = false` sends a
136
+ * reader or composite provider to its RPC fallback on the first response, and
137
+ * that fallback paginates by block and so has no equivalent ceiling.
138
138
  */
139
139
  class ExplorerLogPageLimitError extends Error {
140
140
  isRecoverable = false;
141
- constructor({ address, fromBlock, toBlock }) {
142
- super(`Explorer served ${MAX_EXPLORER_LOG_PAGES} full pages of ${EXPLORER_LOGS_PAGE_SIZE} logs for contract ${address} between blocks ${fromBlock} and ${toBlock}, which is as far as it pages, so the logs of that range cannot be read in full`);
141
+ constructor(options) {
142
+ super(`Explorer served ${MAX_EXPLORER_LOG_PAGES} full pages of ${EXPLORER_LOGS_PAGE_SIZE} logs ${describeExplorerLogRange(options)}, which is as far as it pages, so the logs of that range cannot be read in full`);
143
143
  this.name = 'ExplorerLogPageLimitError';
144
144
  }
145
145
  }
@@ -148,18 +148,22 @@ class ExplorerLogPageLimitError extends Error {
148
148
  *
149
149
  * The pages before it were served, so asking for the range again would repeat
150
150
  * them, and the retries this page is worth have already been spent below. It
151
- * therefore carries the same `isRecoverable = false` as the ceiling above, so
152
- * that `EvmEventLogsReader` moves on to its RPC fallback instead of restarting
153
- * a read that is nine tenths done.
151
+ * therefore carries the same `isRecoverable = false` as the ceiling above, so a
152
+ * reader or composite provider moves on to its RPC fallback instead of
153
+ * restarting a read that is nine tenths done.
154
154
  */
155
155
  class ExplorerLogPageReadError extends Error {
156
156
  isRecoverable = false;
157
- constructor(page, { address, fromBlock, toBlock }, cause) {
157
+ constructor(page, options, cause) {
158
158
  const reason = cause instanceof Error ? cause.message : String(cause);
159
- super(`Explorer failed to serve page ${page} of the logs for contract ${address} between blocks ${fromBlock} and ${toBlock}: ${reason}`, { cause });
159
+ super(`Explorer failed to serve page ${page} of the logs ${describeExplorerLogRange(options)}: ${reason}`, { cause });
160
160
  this.name = 'ExplorerLogPageReadError';
161
161
  }
162
162
  }
163
+ function describeExplorerLogRange({ address, fromBlock, toBlock, }) {
164
+ const addressDescription = address ? `for contract ${address} ` : '';
165
+ return `${addressDescription}between blocks ${fromBlock ?? 'earliest'} and ${toBlock ?? 'latest'}`;
166
+ }
163
167
  // Explorers report a zero valued field as a bare "0x", which Number reads as
164
168
  // NaN: NaN compares false against everything, so a log index that arrived that
165
169
  // way silently loses the ordering comparisons the callers of this run on. A
@@ -181,25 +185,41 @@ function toEventLogsResponse(rawLog) {
181
185
  // The three fields together identify a log whether the explorer scopes
182
186
  // logIndex to the block or to the transaction.
183
187
  function logIdentity(log) {
184
- return `${log.blockNumber}:${log.transactionHash}:${log.logIndex}`;
188
+ return `${toNumber(log.blockNumber, 'blockNumber')}:${log.transactionHash.toLowerCase()}:${toNumber(log.logIndex, 'logIndex')}`;
185
189
  }
186
190
  // Retrying the page rather than the read is what keeps a rate limited page from
187
191
  // re-requesting the pages already served. Only the request is retried: a
188
192
  // response the explorer did serve is judged once, by the caller.
189
- async function readExplorerLogPage(requestUrl, page, options) {
193
+ async function readExplorerLogPage(readPage, page, options) {
190
194
  try {
191
- return await retryAsync(async () => {
192
- const response = await fetch(requestUrl);
193
- return handleEtherscanResponse(response);
194
- });
195
+ return await retryAsync(readPage);
195
196
  }
196
197
  catch (error) {
197
198
  throw new ExplorerLogPageReadError(page, options, error);
198
199
  }
199
200
  }
200
- export async function getLogsFromEtherscanLikeExplorerAPI({ apiUrl, apiKey: apikey }, options) {
201
+ /**
202
+ * Reads every explorer page for a log range or throws without returning the
203
+ * prefix collected so far. Both direct explorer reads and explorer providers
204
+ * use this so a successful getLogs response has the same completeness contract.
205
+ */
206
+ export async function readPaginatedExplorerLogs(options, readPage) {
201
207
  const logsByIdentity = new Map();
202
208
  for (let page = 1; page <= MAX_EXPLORER_LOG_PAGES; page++) {
209
+ const pageLogs = await readExplorerLogPage(() => readPage(page, EXPLORER_LOGS_PAGE_SIZE), page, options);
210
+ assert(Array.isArray(pageLogs), `Explorer did not return a list of logs ${describeExplorerLogRange(options)}`);
211
+ for (const log of pageLogs) {
212
+ logsByIdentity.set(logIdentity(log), log);
213
+ }
214
+ // A page the explorer could not fill is the last one it has.
215
+ if (pageLogs.length < EXPLORER_LOGS_PAGE_SIZE) {
216
+ return [...logsByIdentity.values()];
217
+ }
218
+ }
219
+ throw new ExplorerLogPageLimitError(options);
220
+ }
221
+ export async function getLogsFromEtherscanLikeExplorerAPI({ apiUrl, apiKey: apikey }, options) {
222
+ const rawLogs = await readPaginatedExplorerLogs(options, async (page, offset) => {
203
223
  const data = {
204
224
  module: EtherscanLikeExplorerApiModule.LOGS,
205
225
  action: EtherscanLikeExplorerApiAction.GET_LOGS,
@@ -208,21 +228,13 @@ export async function getLogsFromEtherscanLikeExplorerAPI({ apiUrl, apiKey: apik
208
228
  toBlock: options.toBlock,
209
229
  topic0: options.topic0,
210
230
  page,
211
- offset: EXPLORER_LOGS_PAGE_SIZE,
231
+ offset,
212
232
  };
213
233
  const requestUrl = formatExplorerUrl({ apiUrl, apiKey: apikey }, data);
214
- const rawLogs = await readExplorerLogPage(requestUrl, page, options);
215
- assert(Array.isArray(rawLogs), `Explorer did not return a list of logs for contract ${options.address} between blocks ${options.fromBlock} and ${options.toBlock}`);
216
- for (const rawLog of rawLogs) {
217
- const log = toEventLogsResponse(rawLog);
218
- logsByIdentity.set(logIdentity(log), log);
219
- }
220
- // A page the explorer could not fill is the last one it has.
221
- if (rawLogs.length < EXPLORER_LOGS_PAGE_SIZE) {
222
- return [...logsByIdentity.values()];
223
- }
224
- }
225
- throw new ExplorerLogPageLimitError(options);
234
+ const response = await fetch(requestUrl);
235
+ return handleEtherscanResponse(response);
236
+ });
237
+ return rawLogs.map(toEventLogsResponse);
226
238
  }
227
239
  export async function getContractSourceCode(explorerOptions, { contractAddress }) {
228
240
  const options = {
@@ -1 +1 @@
1
- {"version":3,"file":"etherscan.js","sourceRoot":"","sources":["../../src/block-explorer/etherscan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"etherscan.js","sourceRoot":"","sources":["../../src/block-explorer/etherscan.ts"],"names":[],"mappings":"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"}
@@ -849,6 +849,32 @@ export declare const CoreConfigSchema: z.ZodEffects<z.ZodObject<{
849
849
  interchainSecurityModule: z.ZodOptional<z.ZodType<IsmConfig, z.ZodTypeDef, unknown>>;
850
850
  } & {
851
851
  foreignDeployment: z.ZodOptional<z.ZodString>;
852
+ } & {
853
+ timelock: z.ZodOptional<z.ZodObject<{
854
+ delay: z.ZodEffects<z.ZodNumber, number, number>;
855
+ roles: z.ZodObject<{
856
+ executor: z.ZodEffects<z.ZodString, string, string>;
857
+ proposer: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
858
+ }, "strip", z.ZodTypeAny, {
859
+ executor: string;
860
+ proposer: string;
861
+ }, {
862
+ executor: string;
863
+ proposer: string;
864
+ }>;
865
+ }, "strip", z.ZodTypeAny, {
866
+ delay: number;
867
+ roles: {
868
+ executor: string;
869
+ proposer: string;
870
+ };
871
+ }, {
872
+ delay: number;
873
+ roles: {
874
+ executor: string;
875
+ proposer: string;
876
+ };
877
+ }>>;
852
878
  } & {
853
879
  remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodObject<{
854
880
  address: z.ZodString;
@@ -1126,6 +1152,13 @@ export declare const CoreConfigSchema: z.ZodEffects<z.ZodObject<{
1126
1152
  }, "strip", z.ZodTypeAny, {
1127
1153
  owner: string;
1128
1154
  ownerOverrides?: Record<string, string> | undefined;
1155
+ timelock?: {
1156
+ delay: number;
1157
+ roles: {
1158
+ executor: string;
1159
+ proposer: string;
1160
+ };
1161
+ } | undefined;
1129
1162
  mailbox: string;
1130
1163
  hook?: string | import("../hook/types.js").AggregationHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").ArbL2ToL1HookConfig | {
1131
1164
  owner: string;
@@ -1254,6 +1287,13 @@ export declare const CoreConfigSchema: z.ZodEffects<z.ZodObject<{
1254
1287
  }, {
1255
1288
  owner: string;
1256
1289
  ownerOverrides?: Record<string, string> | undefined;
1290
+ timelock?: {
1291
+ delay: number;
1292
+ roles: {
1293
+ executor: string;
1294
+ proposer: string;
1295
+ };
1296
+ } | undefined;
1257
1297
  mailbox: string;
1258
1298
  hook?: unknown;
1259
1299
  interchainSecurityModule?: unknown;
@@ -1461,6 +1501,13 @@ export declare const CoreConfigSchema: z.ZodEffects<z.ZodObject<{
1461
1501
  interchainAccountRouter?: {
1462
1502
  owner: string;
1463
1503
  ownerOverrides?: Record<string, string> | undefined;
1504
+ timelock?: {
1505
+ delay: number;
1506
+ roles: {
1507
+ executor: string;
1508
+ proposer: string;
1509
+ };
1510
+ } | undefined;
1464
1511
  mailbox: string;
1465
1512
  hook?: string | import("../hook/types.js").AggregationHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").ArbL2ToL1HookConfig | {
1466
1513
  owner: string;
@@ -1604,6 +1651,13 @@ export declare const CoreConfigSchema: z.ZodEffects<z.ZodObject<{
1604
1651
  interchainAccountRouter?: {
1605
1652
  owner: string;
1606
1653
  ownerOverrides?: Record<string, string> | undefined;
1654
+ timelock?: {
1655
+ delay: number;
1656
+ roles: {
1657
+ executor: string;
1658
+ proposer: string;
1659
+ };
1660
+ } | undefined;
1607
1661
  mailbox: string;
1608
1662
  hook?: unknown;
1609
1663
  interchainSecurityModule?: unknown;
@@ -1811,6 +1865,13 @@ export declare const CoreConfigSchema: z.ZodEffects<z.ZodObject<{
1811
1865
  interchainAccountRouter?: {
1812
1866
  owner: string;
1813
1867
  ownerOverrides?: Record<string, string> | undefined;
1868
+ timelock?: {
1869
+ delay: number;
1870
+ roles: {
1871
+ executor: string;
1872
+ proposer: string;
1873
+ };
1874
+ } | undefined;
1814
1875
  mailbox: string;
1815
1876
  hook?: string | import("../hook/types.js").AggregationHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").ArbL2ToL1HookConfig | {
1816
1877
  owner: string;
@@ -1954,6 +2015,13 @@ export declare const CoreConfigSchema: z.ZodEffects<z.ZodObject<{
1954
2015
  interchainAccountRouter?: {
1955
2016
  owner: string;
1956
2017
  ownerOverrides?: Record<string, string> | undefined;
2018
+ timelock?: {
2019
+ delay: number;
2020
+ roles: {
2021
+ executor: string;
2022
+ proposer: string;
2023
+ };
2024
+ } | undefined;
1957
2025
  mailbox: string;
1958
2026
  hook?: unknown;
1959
2027
  interchainSecurityModule?: unknown;
@@ -2866,6 +2934,32 @@ export declare const DerivedCoreConfigSchema: z.ZodEffects<z.ZodObject<{
2866
2934
  interchainSecurityModule: z.ZodOptional<z.ZodType<IsmConfig, z.ZodTypeDef, unknown>>;
2867
2935
  } & {
2868
2936
  foreignDeployment: z.ZodOptional<z.ZodString>;
2937
+ } & {
2938
+ timelock: z.ZodOptional<z.ZodObject<{
2939
+ delay: z.ZodEffects<z.ZodNumber, number, number>;
2940
+ roles: z.ZodObject<{
2941
+ executor: z.ZodEffects<z.ZodString, string, string>;
2942
+ proposer: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
2943
+ }, "strip", z.ZodTypeAny, {
2944
+ executor: string;
2945
+ proposer: string;
2946
+ }, {
2947
+ executor: string;
2948
+ proposer: string;
2949
+ }>;
2950
+ }, "strip", z.ZodTypeAny, {
2951
+ delay: number;
2952
+ roles: {
2953
+ executor: string;
2954
+ proposer: string;
2955
+ };
2956
+ }, {
2957
+ delay: number;
2958
+ roles: {
2959
+ executor: string;
2960
+ proposer: string;
2961
+ };
2962
+ }>>;
2869
2963
  } & {
2870
2964
  remoteRouters: z.ZodOptional<z.ZodRecord<z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodObject<{
2871
2965
  address: z.ZodString;
@@ -3145,6 +3239,13 @@ export declare const DerivedCoreConfigSchema: z.ZodEffects<z.ZodObject<{
3145
3239
  }, "strip", z.ZodTypeAny, {
3146
3240
  owner: string;
3147
3241
  ownerOverrides?: Record<string, string> | undefined;
3242
+ timelock?: {
3243
+ delay: number;
3244
+ roles: {
3245
+ executor: string;
3246
+ proposer: string;
3247
+ };
3248
+ } | undefined;
3148
3249
  mailbox: string;
3149
3250
  hook?: string | import("../hook/types.js").AggregationHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").ArbL2ToL1HookConfig | {
3150
3251
  owner: string;
@@ -3274,6 +3375,13 @@ export declare const DerivedCoreConfigSchema: z.ZodEffects<z.ZodObject<{
3274
3375
  }, {
3275
3376
  owner: string;
3276
3377
  ownerOverrides?: Record<string, string> | undefined;
3378
+ timelock?: {
3379
+ delay: number;
3380
+ roles: {
3381
+ executor: string;
3382
+ proposer: string;
3383
+ };
3384
+ } | undefined;
3277
3385
  mailbox: string;
3278
3386
  hook?: unknown;
3279
3387
  interchainSecurityModule?: unknown;
@@ -3482,6 +3590,13 @@ export declare const DerivedCoreConfigSchema: z.ZodEffects<z.ZodObject<{
3482
3590
  interchainAccountRouter?: {
3483
3591
  owner: string;
3484
3592
  ownerOverrides?: Record<string, string> | undefined;
3593
+ timelock?: {
3594
+ delay: number;
3595
+ roles: {
3596
+ executor: string;
3597
+ proposer: string;
3598
+ };
3599
+ } | undefined;
3485
3600
  mailbox: string;
3486
3601
  hook?: string | import("../hook/types.js").AggregationHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").ArbL2ToL1HookConfig | {
3487
3602
  owner: string;
@@ -3626,6 +3741,13 @@ export declare const DerivedCoreConfigSchema: z.ZodEffects<z.ZodObject<{
3626
3741
  interchainAccountRouter?: {
3627
3742
  owner: string;
3628
3743
  ownerOverrides?: Record<string, string> | undefined;
3744
+ timelock?: {
3745
+ delay: number;
3746
+ roles: {
3747
+ executor: string;
3748
+ proposer: string;
3749
+ };
3750
+ } | undefined;
3629
3751
  mailbox: string;
3630
3752
  hook?: unknown;
3631
3753
  interchainSecurityModule?: unknown;
@@ -3834,6 +3956,13 @@ export declare const DerivedCoreConfigSchema: z.ZodEffects<z.ZodObject<{
3834
3956
  interchainAccountRouter?: {
3835
3957
  owner: string;
3836
3958
  ownerOverrides?: Record<string, string> | undefined;
3959
+ timelock?: {
3960
+ delay: number;
3961
+ roles: {
3962
+ executor: string;
3963
+ proposer: string;
3964
+ };
3965
+ } | undefined;
3837
3966
  mailbox: string;
3838
3967
  hook?: string | import("../hook/types.js").AggregationHookConfig | import("../hook/types.js").AmountRoutingHookConfig | import("../hook/types.js").ArbL2ToL1HookConfig | {
3839
3968
  owner: string;
@@ -3978,6 +4107,13 @@ export declare const DerivedCoreConfigSchema: z.ZodEffects<z.ZodObject<{
3978
4107
  interchainAccountRouter?: {
3979
4108
  owner: string;
3980
4109
  ownerOverrides?: Record<string, string> | undefined;
4110
+ timelock?: {
4111
+ delay: number;
4112
+ roles: {
4113
+ executor: string;
4114
+ proposer: string;
4115
+ };
4116
+ } | undefined;
3981
4117
  mailbox: string;
3982
4118
  hook?: unknown;
3983
4119
  interchainSecurityModule?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAOtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA0D7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAOtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA0D7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -1,18 +1,54 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { Provider as ZKSyncProvider } from 'zksync-ethers';
3
+ import { z } from 'zod';
3
4
  import { Address, ChainId } from '@hyperlane-xyz/utils';
4
5
  import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
5
6
  import { DeployedOwnableConfig } from '../types.js';
6
7
  export type EthersLikeProvider = ethers.providers.Provider | ZKSyncProvider;
7
- export type UpgradeConfig = {
8
+ export declare const UpgradeConfigSchema: z.ZodObject<{
9
+ timelock: z.ZodObject<{
10
+ delay: z.ZodEffects<z.ZodNumber, number, number>;
11
+ roles: z.ZodObject<{
12
+ executor: z.ZodEffects<z.ZodString, string, string>;
13
+ proposer: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ executor: string;
16
+ proposer: string;
17
+ }, {
18
+ executor: string;
19
+ proposer: string;
20
+ }>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ delay: number;
23
+ roles: {
24
+ executor: string;
25
+ proposer: string;
26
+ };
27
+ }, {
28
+ delay: number;
29
+ roles: {
30
+ executor: string;
31
+ proposer: string;
32
+ };
33
+ }>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ timelock: {
36
+ delay: number;
37
+ roles: {
38
+ executor: string;
39
+ proposer: string;
40
+ };
41
+ };
42
+ }, {
8
43
  timelock: {
9
44
  delay: number;
10
45
  roles: {
11
- executor: Address;
12
- proposer: Address;
46
+ executor: string;
47
+ proposer: string;
13
48
  };
14
49
  };
15
- };
50
+ }>;
51
+ export type UpgradeConfig = z.infer<typeof UpgradeConfigSchema>;
16
52
  /**
17
53
  * Checks if a storage value represents empty/uninitialized storage.
18
54
  * Some RPC providers (e.g., Somnia) return empty hex strings ('0x' or '')
@@ -21,6 +57,7 @@ export type UpgradeConfig = {
21
57
  * @returns true if the storage slot is empty/uninitialized
22
58
  */
23
59
  export declare function isStorageEmpty(rawValue: string): boolean;
60
+ export declare function contractHasCode(provider: EthersLikeProvider, contract: Address): Promise<boolean>;
24
61
  export declare function proxyImplementation(provider: EthersLikeProvider, proxy: Address): Promise<Address>;
25
62
  export declare function isInitialized(provider: EthersLikeProvider, contract: Address): Promise<boolean>;
26
63
  export declare function proxyAdmin(provider: EthersLikeProvider, proxy: Address): Promise<Address>;
@@ -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;AAChC,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QAEd,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAoBD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EAC5D,cAAc,EAAE,CAAC,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAC5C,qBAAqB,SAAe,GACnC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQ1B;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC,EACF,cAAc,EAAE,QAAQ,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC,GACD,uBAAuB,EAAE,CAiD3B;AAWD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAMlB"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,OAAO,EACP,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;AAc5E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAID,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAqBlB;AAYD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EAC5D,cAAc,EAAE,CAAC,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAC5C,qBAAqB,SAAe,GACnC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQ1B;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC,EACF,cAAc,EAAE,QAAQ,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC,GACD,uBAAuB,EAAE,CAiD3B;AAWD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAMlB"}
@@ -1,7 +1,24 @@
1
1
  import { ethers } from 'ethers';
2
+ import { z } from 'zod';
2
3
  import { ProxyAdmin__factory } from '@hyperlane-xyz/core';
3
- import { eqAddress, retryAsync } from '@hyperlane-xyz/utils';
4
+ import { assert, eqAddress, isValidAddressEvm, retryAsync, } from '@hyperlane-xyz/utils';
4
5
  import { transferOwnershipTransactions } from '../contracts/contracts.js';
6
+ import { ZNzUint } from '../metadata/customZodTypes.js';
7
+ const ZEvmAddress = z
8
+ .string()
9
+ .refine(isValidAddressEvm, 'Must be a valid EVM address');
10
+ const ZEvmNonZeroAddress = ZEvmAddress.refine((address) => !eqAddress(address, ethers.constants.AddressZero), 'Must be a non-zero EVM address');
11
+ const ZSafeNzUint = ZNzUint.refine((value) => Number.isSafeInteger(value), 'Must be a safe integer');
12
+ export const UpgradeConfigSchema = z.object({
13
+ timelock: z.object({
14
+ delay: ZSafeNzUint,
15
+ // canceller inherited from proposer and admin not supported
16
+ roles: z.object({
17
+ executor: ZEvmAddress,
18
+ proposer: ZEvmNonZeroAddress,
19
+ }),
20
+ }),
21
+ });
5
22
  /**
6
23
  * Checks if a storage value represents empty/uninitialized storage.
7
24
  * Some RPC providers (e.g., Somnia) return empty hex strings ('0x' or '')
@@ -12,15 +29,28 @@ import { transferOwnershipTransactions } from '../contracts/contracts.js';
12
29
  export function isStorageEmpty(rawValue) {
13
30
  return rawValue === '0x' || rawValue === '' || rawValue === '0x0';
14
31
  }
15
- async function assertCodeExists(provider, contract) {
32
+ class MissingContractCodeError extends Error {
33
+ }
34
+ export async function contractHasCode(provider, contract) {
16
35
  // Retry to handle RPC lag where a just-confirmed tx isn't yet visible on
17
36
  // all nodes in a load-balanced pool.
18
- await retryAsync(async () => {
19
- const code = await provider.getCode(contract);
20
- if (code === '0x') {
21
- throw new Error(`Contract at ${contract} has no code`);
22
- }
23
- }, 5, 500);
37
+ try {
38
+ await retryAsync(async () => {
39
+ const code = await provider.getCode(contract);
40
+ if (code === '0x') {
41
+ throw new MissingContractCodeError(`Contract at ${contract} has no code`);
42
+ }
43
+ }, 5, 500);
44
+ return true;
45
+ }
46
+ catch (error) {
47
+ if (error instanceof MissingContractCodeError)
48
+ return false;
49
+ throw error;
50
+ }
51
+ }
52
+ async function assertCodeExists(provider, contract) {
53
+ assert(await contractHasCode(provider, contract), `Contract at ${contract} has no code`);
24
54
  }
25
55
  export async function proxyImplementation(provider, proxy) {
26
56
  await assertCodeExists(provider, proxy);
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"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"}