@hyperlane-xyz/cli 35.0.0 → 35.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
Binary file
package/bundle/index.js CHANGED
@@ -403460,7 +403460,7 @@ async function __wbg_init(module_or_path, memory) {
403460
403460
  return __wbg_finalize_init(instance, module, thread_stack_size);
403461
403461
  }
403462
403462
 
403463
- const module$1 = __nccwpck_require__.ab + "aleo_wasm1.wasm";
403463
+ const module$1 = __nccwpck_require__.ab + "aleo_wasm.wasm";
403464
403464
 
403465
403465
  await __wbg_init({ module_or_path: pathToFileURL(module$1).href });
403466
403466
 
@@ -403471,7 +403471,7 @@ async function initThreadPool(threads) {
403471
403471
 
403472
403472
  console.info(`Spawning ${threads} threads`);
403473
403473
 
403474
- await initThreadPool$1(__nccwpck_require__.ab + "worker3.js", threads);
403474
+ await initThreadPool$1(__nccwpck_require__.ab + "worker2.js", threads);
403475
403475
  }
403476
403476
 
403477
403477
 
@@ -417591,7 +417591,7 @@ async function __wbg_init(module_or_path, memory) {
417591
417591
  return __wbg_finalize_init(instance, module, thread_stack_size);
417592
417592
  }
417593
417593
 
417594
- const module$1 = __nccwpck_require__.ab + "aleo_wasm.wasm";
417594
+ const module$1 = __nccwpck_require__.ab + "aleo_wasm1.wasm";
417595
417595
 
417596
417596
  await __wbg_init({ module_or_path: pathToFileURL(module$1).href });
417597
417597
 
@@ -417602,7 +417602,7 @@ async function initThreadPool(threads) {
417602
417602
 
417603
417603
  console.info(`Spawning ${threads} threads`);
417604
417604
 
417605
- await initThreadPool$1(__nccwpck_require__.ab + "worker2.js", threads);
417605
+ await initThreadPool$1(__nccwpck_require__.ab + "worker3.js", threads);
417606
417606
  }
417607
417607
 
417608
417608
 
@@ -694227,7 +694227,7 @@ __webpack_async_result__();
694227
694227
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
694228
694228
  /* harmony export */ x: () => (/* binding */ VERSION)
694229
694229
  /* harmony export */ });
694230
- const VERSION = '35.0.0';
694230
+ const VERSION = '35.0.1';
694231
694231
  //# sourceMappingURL=version.js.map
694232
694232
 
694233
694233
  /***/ }),
@@ -745983,6 +745983,10 @@ const defaultMultisigConfigs = {
745983
745983
  alias: AW_VALIDATOR_ALIAS,
745984
745984
  },
745985
745985
  DEFAULT_MITOSIS_VALIDATOR,
745986
+ {
745987
+ address: '0xd2e26f9089e9ff6a1ea9f7e90575e985cfea7f03',
745988
+ alias: 'Citrea',
745989
+ },
745986
745990
  ],
745987
745991
  },
745988
745992
  coredao: {
@@ -746159,6 +746163,10 @@ const defaultMultisigConfigs = {
746159
746163
  address: '0x36a669703ad0e11a0382b098574903d2084be22c',
746160
746164
  alias: 'Enigma',
746161
746165
  },
746166
+ {
746167
+ address: '0xef2e5bb2bc45dd092ff7f9d4d4485f022185aeae',
746168
+ alias: 'Citrea',
746169
+ },
746162
746170
  ],
746163
746171
  },
746164
746172
  everclear: {
@@ -746895,12 +746903,13 @@ const defaultMultisigConfigs = {
746895
746903
  ],
746896
746904
  },
746897
746905
  nesa: {
746898
- threshold: 1,
746906
+ threshold: 2,
746899
746907
  validators: [
746900
746908
  {
746901
746909
  address: '0x990f548e766b830f69642d36cdd47fb20a2aa405',
746902
746910
  alias: AW_VALIDATOR_ALIAS,
746903
746911
  },
746912
+ DEFAULT_MITOSIS_VALIDATOR,
746904
746913
  ],
746905
746914
  },
746906
746915
  neutron: {
@@ -756703,15 +756712,16 @@ class EvmHookModule extends _core_AbstractHyperlaneModule_js__WEBPACK_IMPORTED_M
756703
756712
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
756704
756713
  /* harmony export */ F: () => (/* binding */ EvmHookReader)
756705
756714
  /* harmony export */ });
756706
- /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(61934);
756715
+ /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(61934);
756707
756716
  /* harmony import */ var _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(50653);
756708
756717
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(94523);
756709
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(73938);
756710
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(14918);
756711
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(93142);
756712
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(21387);
756718
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(73938);
756719
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(14918);
756720
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(93142);
756721
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(21387);
756713
756722
  /* harmony import */ var _consts_concurrency_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(92573);
756714
756723
  /* harmony import */ var _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(49680);
756724
+ /* harmony import */ var _utils_contract_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(76709);
756715
756725
  /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(52116);
756716
756726
 
756717
756727
 
@@ -756719,6 +756729,13 @@ class EvmHookModule extends _core_AbstractHyperlaneModule_js__WEBPACK_IMPORTED_M
756719
756729
 
756720
756730
 
756721
756731
 
756732
+
756733
+ function isUnsupportedIgpDomainError(error, domainId) {
756734
+ // Mirrors InterchainGasPaymaster.getExchangeRateAndGasPrice in
756735
+ // solidity/contracts/hooks/igp/InterchainGasPaymaster.sol.
756736
+ return (error instanceof Error &&
756737
+ error.message.includes(`Configured IGP doesn't support domain ${domainId}`));
756738
+ }
756722
756739
  class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1__/* .HyperlaneReader */ .S {
756723
756740
  multiProvider;
756724
756741
  chain;
@@ -756807,8 +756824,7 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
756807
756824
  }
756808
756825
  catch (e) {
756809
756826
  let customMessage = `Failed to derive ${onchainHookType} hook (${address})`;
756810
- if (!onchainHookType &&
756811
- e.message.includes('Invalid response from provider')) {
756827
+ if (!onchainHookType && (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_5__/* .isMissingSelectorCallException */ .pJ)(e)) {
756812
756828
  customMessage = customMessage.concat(` [The provided hook contract might be outdated and not support hookType()]`);
756813
756829
  this.logger.info(`${customMessage}:\n\t${e}`);
756814
756830
  }
@@ -756843,7 +756859,7 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
756843
756859
  switch (config.type) {
756844
756860
  case _types_js__WEBPACK_IMPORTED_MODULE_4__/* .HookType */ .WD.FALLBACK_ROUTING:
756845
756861
  case _types_js__WEBPACK_IMPORTED_MODULE_4__/* .HookType */ .WD.ROUTING:
756846
- config.domains = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .promiseObjAll */ .a1)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .objMap */ .Yp)(config.domains, async (_, hook) => {
756862
+ config.domains = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__/* .promiseObjAll */ .a1)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__/* .objMap */ .Yp)(config.domains, async (_, hook) => {
756847
756863
  const derived = await this.deriveHookConfig(hook);
756848
756864
  return this.preserveUnredeployable(hook, derived);
756849
756865
  }));
@@ -756899,24 +756915,26 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
756899
756915
  }
756900
756916
  async deriveIdAuthIsmConfig(address) {
756901
756917
  // First check if it's a CCIP hook
756918
+ const ccipHook = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .CCIPHook__factory */ .TaE.connect(address, this.provider);
756902
756919
  try {
756903
- const ccipHook = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .CCIPHook__factory */ .TaE.connect(address, this.provider);
756904
756920
  // This method only exists on CCIPHook
756905
756921
  await ccipHook.ccipDestination();
756906
- return this.deriveCcipConfig(address);
756907
756922
  }
756908
- catch {
756923
+ catch (error) {
756924
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_5__/* .throwIfNotMissingSelector */ .KT)(error);
756909
756925
  // Not a CCIP hook, try OPStack
756926
+ const opStackHook = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .OPStackHook__factory */ .Luq.connect(address, this.provider);
756910
756927
  try {
756911
- const opStackHook = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .OPStackHook__factory */ .Luq.connect(address, this.provider);
756912
756928
  // This method only exists on OPStackHook
756913
756929
  await opStackHook.l1Messenger();
756914
- return this.deriveOpStackConfig(address);
756915
756930
  }
756916
- catch {
756931
+ catch (innerError) {
756932
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_5__/* .throwIfNotMissingSelector */ .KT)(innerError);
756917
756933
  throw new Error(`Could not determine hook type - neither CCIP nor OPStack methods found`);
756918
756934
  }
756935
+ return this.deriveOpStackConfig(address);
756919
756936
  }
756937
+ return this.deriveCcipConfig(address);
756920
756938
  }
756921
756939
  async deriveCcipConfig(address) {
756922
756940
  const ccipHook = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .CCIPHook__factory */ .TaE.connect(address, this.provider);
@@ -756962,10 +756980,10 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
756962
756980
  // Parallelize hookType and hooks list fetching
756963
756981
  const [hookType, hooks] = await Promise.all([
756964
756982
  hook.hookType(),
756965
- hook.hooks(ethers__WEBPACK_IMPORTED_MODULE_6__.ethers.constants.AddressZero),
756983
+ hook.hooks(ethers__WEBPACK_IMPORTED_MODULE_7__.ethers.constants.AddressZero),
756966
756984
  ]);
756967
756985
  this.assertHookType(hookType, _types_js__WEBPACK_IMPORTED_MODULE_4__/* .OnchainHookType */ .c0.AGGREGATION);
756968
- const hookConfigs = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .concurrentMap */ .q1)(this.concurrency, hooks, async (hookAddress) => {
756986
+ const hookConfigs = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .concurrentMap */ .q1)(this.concurrency, hooks, async (hookAddress) => {
756969
756987
  const derived = await this.deriveHookConfigFromAddress(hookAddress);
756970
756988
  return this.preserveUnredeployable(hookAddress, derived);
756971
756989
  });
@@ -756997,7 +757015,8 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
756997
757015
  hook.owner(),
756998
757016
  hook.beneficiary(),
756999
757017
  // quoteSigners() not available on IGP versions before offchain fee quoting
757000
- hook.quoteSigners().catch(() => {
757018
+ hook.quoteSigners().catch((error) => {
757019
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_5__/* .throwIfNotMissingSelector */ .KT)(error);
757001
757020
  this.logger.debug('quoteSigners() not available on this IGP version, skipping');
757002
757021
  return [];
757003
757022
  }),
@@ -757006,7 +757025,7 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
757006
757025
  const overhead = {};
757007
757026
  const oracleConfig = {};
757008
757027
  let oracleKey;
757009
- const allKeys = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .concurrentMap */ .q1)(this.concurrency, this.possibleDomainIds(), async (domainId) => {
757028
+ const allKeys = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .concurrentMap */ .q1)(this.concurrency, this.possibleDomainIds(), async (domainId) => {
757010
757029
  const { name: chainName, nativeToken } = this.multiProvider.getChainMetadata(domainId);
757011
757030
  try {
757012
757031
  const { tokenExchangeRate, gasPrice } = await hook.getExchangeRateAndGasPrice(domainId);
@@ -757021,15 +757040,17 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
757021
757040
  const oracle = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .StorageGasOracle__factory */ .T8$.connect(gasOracle, this.provider);
757022
757041
  return oracle.owner();
757023
757042
  }
757024
- catch {
757043
+ catch (error) {
757044
+ if (!isUnsupportedIgpDomainError(error, domainId))
757045
+ throw error;
757025
757046
  this.logger.debug('Domain not configured on IGP Hook', domainId, chainName);
757026
757047
  return null;
757027
757048
  }
757028
757049
  });
757029
757050
  const resolvedOracleKeys = allKeys.filter((key) => key !== null);
757030
757051
  if (resolvedOracleKeys.length > 0) {
757031
- const allKeysMatch = resolvedOracleKeys.every((key) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .eqAddress */ .fv)(resolvedOracleKeys[0], key));
757032
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(allKeysMatch, 'Not all oracle keys match');
757052
+ const allKeysMatch = resolvedOracleKeys.every((key) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .eqAddress */ .fv)(resolvedOracleKeys[0], key));
757053
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .assert */ .v)(allKeysMatch, 'Not all oracle keys match');
757033
757054
  oracleKey = resolvedOracleKeys[0];
757034
757055
  }
757035
757056
  const config = {
@@ -757151,17 +757172,12 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
757151
757172
  }
757152
757173
  async fetchDomainHooks(hook) {
757153
757174
  const domainHooks = {};
757154
- await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .concurrentMap */ .q1)(this.concurrency, this.possibleDomainIds(), async (domainId) => {
757175
+ await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .concurrentMap */ .q1)(this.concurrency, this.possibleDomainIds(), async (domainId) => {
757155
757176
  const chainName = this.multiProvider.getChainName(domainId);
757156
- try {
757157
- const domainHook = await hook.hooks(domainId);
757158
- if (domainHook !== ethers__WEBPACK_IMPORTED_MODULE_6__.ethers.constants.AddressZero) {
757159
- const derived = await this.deriveHookConfigFromAddress(domainHook);
757160
- domainHooks[chainName] = this.preserveUnredeployable(domainHook, derived);
757161
- }
757162
- }
757163
- catch {
757164
- this.logger.debug(`Domain not configured on ${hook.constructor.name}`, domainId, chainName);
757177
+ const domainHook = await hook.hooks(domainId);
757178
+ if (!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .isZeroishAddress */ .Hi)(domainHook)) {
757179
+ const derived = await this.deriveHookConfigFromAddress(domainHook);
757180
+ domainHooks[chainName] = this.preserveUnredeployable(domainHook, derived);
757165
757181
  }
757166
757182
  });
757167
757183
  return domainHooks;
@@ -757212,7 +757228,7 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
757212
757228
  return config;
757213
757229
  }
757214
757230
  assertHookType(hookType, expectedType) {
757215
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(hookType === expectedType, `expected hook type to be ${expectedType}, got ${hookType}`);
757231
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .assert */ .v)(hookType === expectedType, `expected hook type to be ${expectedType}, got ${hookType}`);
757216
757232
  }
757217
757233
  }
757218
757234
  //# sourceMappingURL=EvmHookReader.js.map
@@ -757624,13 +757640,15 @@ const isHookCompatible = ({ hookType, chainTechnicalStack, }) => !(hookType ===
757624
757640
  /* harmony export */ e: () => (/* binding */ EvmIcaRouterReader)
757625
757641
  /* harmony export */ });
757626
757642
  /* harmony import */ var _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(50653);
757627
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(94523);
757643
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(94523);
757628
757644
  /* harmony import */ var _router_EvmRouterReader_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(26623);
757645
+ /* harmony import */ var _utils_contract_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(76709);
757629
757646
  /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(89972);
757630
757647
 
757631
757648
 
757632
757649
 
757633
757650
 
757651
+
757634
757652
  class EvmIcaRouterReader extends _router_EvmRouterReader_js__WEBPACK_IMPORTED_MODULE_1__/* .EvmRouterReader */ .V {
757635
757653
  async deriveConfig(address) {
757636
757654
  const icaRouterInstance = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .InterchainAccountRouter__factory */ .ojJ.connect(address, this.provider);
@@ -757640,8 +757658,9 @@ class EvmIcaRouterReader extends _router_EvmRouterReader_js__WEBPACK_IMPORTED_MO
757640
757658
  commitmentIsmAddress = await icaRouterInstance.CCIP_READ_ISM();
757641
757659
  routerType = _types_js__WEBPACK_IMPORTED_MODULE_2__/* .IcaRouterType */ .vn.REGULAR;
757642
757660
  }
757643
- catch {
757644
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .rootLogger */ .Jk.debug(`No CCIP_READ_ISM on ${address} — MinimalInterchainAccountRouter`);
757661
+ catch (error) {
757662
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_3__/* .throwIfNotMissingSelector */ .KT)(error);
757663
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .rootLogger */ .Jk.debug(`No CCIP_READ_ISM on ${address} — MinimalInterchainAccountRouter`);
757645
757664
  routerType = _types_js__WEBPACK_IMPORTED_MODULE_2__/* .IcaRouterType */ .vn.MINIMAL;
757646
757665
  }
757647
757666
  const routerConfig = await this.readRouterConfig(address);
@@ -757999,7 +758018,7 @@ class EvmIsmModule extends _core_AbstractHyperlaneModule_js__WEBPACK_IMPORTED_MO
757999
758018
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
758000
758019
  /* harmony export */ N: () => (/* binding */ EvmIsmReader)
758001
758020
  /* harmony export */ });
758002
- /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(61934);
758021
+ /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(61934);
758003
758022
  /* harmony import */ var _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(50653);
758004
758023
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(94523);
758005
758024
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(73938);
@@ -758009,7 +758028,7 @@ class EvmIsmModule extends _core_AbstractHyperlaneModule_js__WEBPACK_IMPORTED_MO
758009
758028
  /* harmony import */ var _consts_concurrency_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(92573);
758010
758029
  /* harmony import */ var _metadata_chainMetadataTypes_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(1430);
758011
758030
  /* harmony import */ var _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(49680);
758012
- /* harmony import */ var _utils_contract_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(76709);
758031
+ /* harmony import */ var _utils_contract_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(76709);
758013
758032
  /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(69352);
758014
758033
 
758015
758034
 
@@ -758164,7 +758183,8 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758164
758183
  try {
758165
758184
  owner = await ownableIsm.owner();
758166
758185
  }
758167
- catch {
758186
+ catch (error) {
758187
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758168
758188
  this.logger.debug('Error accessing owner property, implying that this is not a DefaultFallbackRoutingIsm.', address);
758169
758189
  }
758170
758190
  // If the current ISM does not have an owner then it is an Amount Router
@@ -758174,7 +758194,7 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758174
758194
  type: _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.INTERCHAIN_ACCOUNT_ROUTING,
758175
758195
  isms: {},
758176
758196
  address,
758177
- owner: ethers__WEBPACK_IMPORTED_MODULE_7__.ethers.constants.AddressZero,
758197
+ owner: ethers__WEBPACK_IMPORTED_MODULE_8__.ethers.constants.AddressZero,
758178
758198
  };
758179
758199
  }
758180
758200
  return this.deriveNonOwnableRoutingConfig(address);
@@ -758186,26 +758206,27 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758186
758206
  const icaRouter = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .InterchainAccountRouter__factory */ .ojJ.connect(address, this.provider);
758187
758207
  return {
758188
758208
  type: _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.INTERCHAIN_ACCOUNT_ROUTING,
758189
- isms: await this.deriveRemoteIsmConfigs(domainIds, abstractRoutingIsm, icaRouter.isms,
758209
+ isms: await this.deriveRemoteIsmConfigs(domainIds, abstractRoutingIsm, (domain) => icaRouter.isms(domain),
758190
758210
  // The isms here are deployed on remote chains and can't be derived
758191
758211
  false),
758192
758212
  address,
758193
758213
  owner,
758194
758214
  };
758195
758215
  }
758196
- const domains = await this.deriveRemoteIsmConfigs(domainIds, abstractRoutingIsm, defaultFallbackIsmInstance.module, true);
758216
+ const domains = await this.deriveRemoteIsmConfigs(domainIds, abstractRoutingIsm, (domain) => defaultFallbackIsmInstance.module(domain), true);
758197
758217
  // Fallback routing ISM extends from MailboxClient, default routing
758198
758218
  let ismType = _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.FALLBACK_ROUTING;
758199
758219
  try {
758200
758220
  await defaultFallbackIsmInstance.mailbox();
758201
758221
  }
758202
- catch {
758222
+ catch (error) {
758223
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758203
758224
  ismType = _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.ROUTING;
758204
758225
  this.logger.debug('Error accessing mailbox property, implying this is not a fallback routing ISM.', address);
758205
758226
  }
758206
758227
  // Check if it's an incremental routing ISM by looking for the unique error message in bytecode
758207
758228
  if (ismType === _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.ROUTING) {
758208
- if (await (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_8__/* .contractHasString */ .u)(this.provider, address, INCREMENTAL_REVERT_STRING)) {
758229
+ if (await (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .contractHasString */ .uu)(this.provider, address, INCREMENTAL_REVERT_STRING)) {
758209
758230
  ismType = _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.INCREMENTAL_ROUTING;
758210
758231
  this.logger.debug({ address }, 'Detected incremental routing ISM');
758211
758232
  }
@@ -758227,12 +758248,14 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758227
758248
  await icaInstance.CCIP_READ_ISM();
758228
758249
  return true;
758229
758250
  }
758230
- catch {
758251
+ catch (error) {
758252
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758231
758253
  try {
758232
758254
  await icaInstance.bytecodeHash();
758233
758255
  return true;
758234
758256
  }
758235
- catch {
758257
+ catch (innerError) {
758258
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(innerError);
758236
758259
  this.logger.debug('Not an ICA router (no CCIP_READ_ISM or bytecodeHash).', address);
758237
758260
  return false;
758238
758261
  }
@@ -758242,7 +758265,7 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758242
758265
  const res = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .concurrentMap */ .q1)(this.concurrency, domainIds, async (domainId) => {
758243
758266
  const chainName = this.multiProvider.tryGetChainName(domainId.toNumber());
758244
758267
  if (!chainName) {
758245
- this.logger.warn(`Unknown domain ID ${domainId}, skipping domain configuration`);
758268
+ this.logger.warn(`Unknown domain ID ${domainId.toString()}, skipping domain configuration`);
758246
758269
  return;
758247
758270
  }
758248
758271
  const moduleAddress = this.messageContext
@@ -758271,7 +758294,8 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758271
758294
  ism.threshold(),
758272
758295
  ]);
758273
758296
  }
758274
- catch {
758297
+ catch (error) {
758298
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758275
758299
  // If we fail to access AmountRoutingIsm properties, this is likely a legacy InterchainAccountIsm
758276
758300
  this.logger.debug('Error accessing AmountRoutingIsm properties, treating as legacy InterchainAccountIsm.', address);
758277
758301
  // return a basic ICA routing config for legacy contracts
@@ -758279,7 +758303,7 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758279
758303
  type: _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.INTERCHAIN_ACCOUNT_ROUTING,
758280
758304
  isms: {},
758281
758305
  address,
758282
- owner: ethers__WEBPACK_IMPORTED_MODULE_7__.ethers.constants.AddressZero,
758306
+ owner: ethers__WEBPACK_IMPORTED_MODULE_8__.ethers.constants.AddressZero,
758283
758307
  };
758284
758308
  }
758285
758309
  const [lowerDerived, upperDerived] = await Promise.all([
@@ -758297,7 +758321,7 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758297
758321
  async deriveAggregationConfig(address) {
758298
758322
  const ism = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .StaticAggregationIsm__factory */ .UMv.connect(address, this.provider);
758299
758323
  this.assertModuleType(await ism.moduleType(), _types_js__WEBPACK_IMPORTED_MODULE_1__/* .ModuleType */ .nR.AGGREGATION);
758300
- const [modules, threshold] = await ism.modulesAndThreshold(ethers__WEBPACK_IMPORTED_MODULE_7__.ethers.constants.AddressZero);
758324
+ const [modules, threshold] = await ism.modulesAndThreshold(ethers__WEBPACK_IMPORTED_MODULE_8__.ethers.constants.AddressZero);
758301
758325
  const ismConfigs = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .concurrentMap */ .q1)(this.concurrency, modules, async (module) => {
758302
758326
  const derived = await this.deriveIsmConfigFromAddress(module);
758303
758327
  return this.preserveUnredeployableIsm(module, derived);
@@ -758328,7 +758352,7 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758328
758352
  ? _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.STORAGE_MERKLE_ROOT_MULTISIG
758329
758353
  : _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.STORAGE_MESSAGE_ID_MULTISIG;
758330
758354
  }
758331
- const [validators, threshold] = await ism.validatorsAndThreshold(ethers__WEBPACK_IMPORTED_MODULE_7__.ethers.constants.AddressZero);
758355
+ const [validators, threshold] = await ism.validatorsAndThreshold(ethers__WEBPACK_IMPORTED_MODULE_8__.ethers.constants.AddressZero);
758332
758356
  return {
758333
758357
  address,
758334
758358
  type: ismType,
@@ -758349,22 +758373,31 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758349
758373
  type: _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.TRUSTED_RELAYER,
758350
758374
  };
758351
758375
  }
758352
- catch {
758376
+ catch (error) {
758377
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758353
758378
  this.logger.debug('Error accessing "trustedRelayer" property, implying this is not a Trusted Relayer ISM.', address);
758354
758379
  }
758355
758380
  // if it has paused() property --> PAUSABLE
758356
758381
  const pausableIsm = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .PausableIsm__factory */ .fiP.connect(address, this.provider);
758357
- try {
758358
- const paused = await pausableIsm.paused();
758359
- const owner = await pausableIsm.owner();
758382
+ const [pausedResult, ownerResult] = await Promise.allSettled([
758383
+ pausableIsm.paused(),
758384
+ pausableIsm.owner(),
758385
+ ]);
758386
+ const unexpectedError = [pausedResult, ownerResult].find((result) => result.status === 'rejected' &&
758387
+ !(0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .isMissingSelectorCallException */ .pJ)(result.reason));
758388
+ if (unexpectedError?.status === 'rejected') {
758389
+ throw unexpectedError.reason;
758390
+ }
758391
+ if (pausedResult.status === 'fulfilled' &&
758392
+ ownerResult.status === 'fulfilled') {
758360
758393
  return {
758361
758394
  address,
758362
- owner,
758395
+ owner: ownerResult.value,
758363
758396
  type: _types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.PAUSABLE,
758364
- paused,
758397
+ paused: pausedResult.value,
758365
758398
  };
758366
758399
  }
758367
- catch {
758400
+ else {
758368
758401
  this.logger.debug('Error accessing "paused" property, implying this is not a Pausable ISM.', address);
758369
758402
  }
758370
758403
  // if it has ccipOrigin property --> CCIP
@@ -758381,7 +758414,8 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758381
758414
  originChain,
758382
758415
  };
758383
758416
  }
758384
- catch {
758417
+ catch (error) {
758418
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758385
758419
  this.logger.debug('Error accessing "ccipOrigin" property, implying this is not a CCIP ISM.', address);
758386
758420
  }
758387
758421
  // if it has VERIFIED_MASK_INDEX, it's AbstractMessageIdAuthorizedIsm which means OPStackIsm
@@ -758395,7 +758429,8 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758395
758429
  nativeBridge: '', // no way to extract native bridge from the ism
758396
758430
  };
758397
758431
  }
758398
- catch {
758432
+ catch (error) {
758433
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758399
758434
  this.logger.debug('Error accessing "VERIFIED_MASK_INDEX" property, implying this is not an OP Stack ISM.', address);
758400
758435
  }
758401
758436
  // Detect RateLimitedIsm by probing for its unique recipient() selector.
@@ -758415,7 +758450,8 @@ class EvmIsmReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_2_
758415
758450
  owner,
758416
758451
  };
758417
758452
  }
758418
- catch {
758453
+ catch (error) {
758454
+ (0,_utils_contract_js__WEBPACK_IMPORTED_MODULE_7__/* .throwIfNotMissingSelector */ .KT)(error);
758419
758455
  this.logger.debug('Error accessing "recipient" property, implying this is not a Rate Limited ISM.', address);
758420
758456
  }
758421
758457
  // no specific properties, must be Test ISM
@@ -760737,6 +760773,9 @@ const RelayerAgentConfigSchema = AgentConfigSchema.extend({
760737
760773
  const ScraperAgentConfigSchema = AgentConfigSchema.extend({
760738
760774
  db: zod__WEBPACK_IMPORTED_MODULE_0__/* .string */ .Yj().min(1).describe('Database connection string'),
760739
760775
  chainsToScrape: CommaSeparatedChainList.describe('Comma separated list of chain names to scrape'),
760776
+ ccrRouters: zod__WEBPACK_IMPORTED_MODULE_0__/* .record */ .g1(zod__WEBPACK_IMPORTED_MODULE_0__/* .record */ .g1(zod__WEBPACK_IMPORTED_MODULE_0__/* .string */ .Yj()))
760777
+ .optional()
760778
+ .describe('Per-domain CCR router → underlying ERC20 token mapping. Domain ID → { router_address → token_address }. Auto-populated from registry.'),
760740
760779
  });
760741
760780
  const ValidatorAgentConfigSchema = AgentConfigSchema.extend({
760742
760781
  db: zod__WEBPACK_IMPORTED_MODULE_0__/* .string */ .Yj()
@@ -763386,6 +763425,21 @@ const DEFAULT_MAX_RETRIES = 1;
763386
763425
  const DEFAULT_BASE_RETRY_DELAY_MS = 250; // 0.25 seconds
763387
763426
  const DEFAULT_STAGGER_DELAY_MS = 1000; // 1 seconds
763388
763427
  const DEFAULT_PHASE2_WAIT_MULTIPLIER = 20;
763428
+ function getErrorMessage(error) {
763429
+ return error instanceof Error ? error.message : undefined;
763430
+ }
763431
+ function errorChainHasMessage(error, message) {
763432
+ let current = error;
763433
+ while (current instanceof Error) {
763434
+ if (getErrorMessage(current) === message)
763435
+ return true;
763436
+ current = current.cause;
763437
+ }
763438
+ return false;
763439
+ }
763440
+ function getMostDiagnosticUnhandledError(errors) {
763441
+ return (errors.find((error) => errorChainHasMessage(error, 'Invalid response from provider')) ?? errors[0]);
763442
+ }
763389
763443
  class BlockchainError extends Error {
763390
763444
  isRecoverable = false;
763391
763445
  constructor(message, options) {
@@ -763782,7 +763836,9 @@ class HyperlaneSmartProvider extends lib.providers.BaseProvider {
763782
763836
  }, 'Unhandled error case in combined provider error handler');
763783
763837
  return class extends Error {
763784
763838
  constructor() {
763785
- super(fallbackMsg);
763839
+ super(fallbackMsg, {
763840
+ cause: getMostDiagnosticUnhandledError(errors),
763841
+ });
763786
763842
  }
763787
763843
  };
763788
763844
  }
@@ -764247,11 +764303,13 @@ async function estimateTransactionFeeSolanaWeb3({ provider, transaction, }) {
764247
764303
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(!value.err, `Solana gas estimation failed: ${JSON.stringify(value)}`);
764248
764304
  const gasUnits = BigInt(value.unitsConsumed || 0);
764249
764305
  const recentFees = await connection.getRecentPrioritizationFees();
764250
- const gasPrice = BigInt(recentFees[0].prioritizationFee);
764306
+ // prioritizationFee is in micro-lamports per compute unit; divide by 1e6 to get lamports
764307
+ const microLamportsPerCu = BigInt(recentFees[0]?.prioritizationFee ?? 0);
764308
+ const fee = (gasUnits * microLamportsPerCu) / 1000000n;
764251
764309
  return {
764252
764310
  gasUnits,
764253
- gasPrice,
764254
- fee: gasUnits * gasPrice,
764311
+ gasPrice: microLamportsPerCu,
764312
+ fee,
764255
764313
  };
764256
764314
  }
764257
764315
  // This is based on a reverse-engineered version of the
@@ -803168,8 +803226,8 @@ class EvmWarpModule extends _core_AbstractHyperlaneModule_js__WEBPACK_IMPORTED_M
803168
803226
  async upgradeWarpRouteImplementationTx(actualConfig, expectedConfig) {
803169
803227
  const updateTransactions = [];
803170
803228
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_15__/* .assert */ .v)(expectedConfig.type !== _config_js__WEBPACK_IMPORTED_MODULE_30__/* .TokenType */ .ks.unknown, 'Cannot upgrade warp route with unknown token type');
803171
- // This should be impossible since we try catch the call to `PACKAGE_VERSION`
803172
- // in `EvmWarpRouteReader.fetchPackageVersion`
803229
+ // Older contracts without PACKAGE_VERSION fall back to a legacy version in
803230
+ // EvmWarpRouteReader.fetchPackageVersion.
803173
803231
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_15__/* .assert */ .v)(actualConfig.contractVersion, 'Actual contract version is undefined');
803174
803232
  // Only upgrade if the user specifies a version
803175
803233
  if (!expectedConfig.contractVersion) {
@@ -803369,6 +803427,8 @@ var types = __nccwpck_require__(52116);
803369
803427
  var EvmIsmReader = __nccwpck_require__(60715);
803370
803428
  // EXTERNAL MODULE: ../sdk/dist/router/EvmRouterReader.js
803371
803429
  var EvmRouterReader = __nccwpck_require__(26623);
803430
+ // EXTERNAL MODULE: ../sdk/dist/utils/contract.js
803431
+ var contract = __nccwpck_require__(76709);
803372
803432
  // EXTERNAL MODULE: ../sdk/dist/deploy/proxy.js
803373
803433
  var proxy = __nccwpck_require__(83697);
803374
803434
  // EXTERNAL MODULE: ../sdk/dist/token/config.js
@@ -803397,6 +803457,7 @@ var xerc20 = __nccwpck_require__(32892);
803397
803457
 
803398
803458
 
803399
803459
 
803460
+
803400
803461
  const REBALANCING_CONTRACT_VERSION = '8.0.0';
803401
803462
  const TOKEN_FEE_CONTRACT_VERSION = '10.0.0';
803402
803463
  // version that introduced the fractional scale interface
@@ -803589,7 +803650,8 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803589
803650
  break;
803590
803651
  }
803591
803652
  }
803592
- catch {
803653
+ catch (error) {
803654
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
803593
803655
  // Not a PredicateRouterWrapper — continue
803594
803656
  }
803595
803657
  }
@@ -803623,6 +803685,7 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803623
803685
  const [packageVersion, tokenFee] = await Promise.all([
803624
803686
  this.fetchPackageVersion(routerAddress),
803625
803687
  TokenRouter.feeRecipient().catch((error) => {
803688
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
803626
803689
  this.logger.debug(`Failed to read feeRecipient for token at address "${routerAddress}" on chain "${this.chain}", defaulting to AddressZero`, error);
803627
803690
  return lib.constants.AddressZero;
803628
803691
  }),
@@ -803638,6 +803701,7 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803638
803701
  }
803639
803702
  const routingDestinations = destinations ??
803640
803703
  (await TokenRouter.domains().catch((error) => {
803704
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
803641
803705
  this.logger.debug(`Failed to derive token router domains for routing fee config on "${this.chain}"`, error);
803642
803706
  return undefined;
803643
803707
  }));
@@ -803808,6 +803872,7 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803808
803872
  return token_config/* TokenType */.ks.XERC20;
803809
803873
  }
803810
803874
  catch (error) {
803875
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
803811
803876
  this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${token_config/* TokenType */.ks.XERC20}`, error);
803812
803877
  }
803813
803878
  try {
@@ -803841,6 +803906,7 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803841
803906
  return everclearTokenType;
803842
803907
  }
803843
803908
  catch (error) {
803909
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
803844
803910
  this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${token_config/* TokenType */.ks.collateralEverclear}`, error);
803845
803911
  }
803846
803912
  try {
@@ -803849,12 +803915,14 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803849
803915
  return token_config/* TokenType */.ks.crossCollateral;
803850
803916
  }
803851
803917
  catch (error) {
803918
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
803852
803919
  this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${token_config/* TokenType */.ks.crossCollateral}`, error);
803853
803920
  }
803854
803921
  }
803855
803922
  return tokenType;
803856
803923
  }
803857
- catch {
803924
+ catch (error) {
803925
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
803858
803926
  continue;
803859
803927
  }
803860
803928
  }
@@ -803922,13 +803990,21 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803922
803990
  'function bufferCap(address) external view returns (uint112)',
803923
803991
  ];
803924
803992
  const xERC20 = new lib.Contract(xERC20Address, rateLimitsABI, this.provider);
803993
+ let extraBridgesLimits;
803925
803994
  try {
803926
- const extraBridgesLimits = await (0,xerc20/* getExtraLockBoxConfigs */.g5)({
803995
+ extraBridgesLimits = await (0,xerc20/* getExtraLockBoxConfigs */.g5)({
803927
803996
  chain: this.chain,
803928
803997
  multiProvider: this.multiProvider,
803929
803998
  xERC20Address,
803930
803999
  logger: this.logger,
803931
804000
  });
804001
+ }
804002
+ catch (error) {
804003
+ if (!(0,contract/* isMissingSelectorCallException */.pJ)(error))
804004
+ throw error;
804005
+ this.logger.warn(`Skipping extra xERC20 lockbox configs after missing-selector error for token at ${xERC20Address} on chain ${this.chain}`, error);
804006
+ }
804007
+ try {
803932
804008
  // TODO: fix this such that it fetches from WL's values too
803933
804009
  return {
803934
804010
  xERC20: {
@@ -803937,13 +804013,17 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
803937
804013
  rateLimitPerSecond: (await xERC20.rateLimitPerSecond(warpRouteAddress)).toString(),
803938
804014
  bufferCap: (await xERC20.bufferCap(warpRouteAddress)).toString(),
803939
804015
  },
803940
- extraBridges: extraBridgesLimits.length > 0 ? extraBridgesLimits : undefined,
804016
+ extraBridges: extraBridgesLimits && extraBridgesLimits.length > 0
804017
+ ? extraBridgesLimits
804018
+ : undefined,
803941
804019
  },
803942
804020
  };
803943
804021
  }
803944
804022
  catch (error) {
804023
+ if ((0,contract/* isMissingSelectorCallException */.pJ)(error))
804024
+ return {};
803945
804025
  this.logger.error(`Error fetching xERC20 limits for token at ${xERC20Address} on chain ${this.chain}`, error);
803946
- return {};
804026
+ throw error;
803947
804027
  }
803948
804028
  }
803949
804029
  /**
@@ -804366,7 +804446,7 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
804366
804446
  return await contractWithVersion.PACKAGE_VERSION();
804367
804447
  }
804368
804448
  catch (err) {
804369
- if (err.cause?.code && err.cause?.code === 'CALL_EXCEPTION') {
804449
+ if ((0,contract/* isMissingSelectorCallException */.pJ)(err)) {
804370
804450
  // PACKAGE_VERSION was introduced in @hyperlane-xyz/core@5.4.0
804371
804451
  // See https://github.com/hyperlane-xyz/hyperlane-monorepo/releases/tag/%40hyperlane-xyz%2Fcore%405.4.0
804372
804452
  // The real version of a contract without this function is below 5.4.0
@@ -804374,7 +804454,7 @@ class EvmWarpRouteReader extends EvmRouterReader/* EvmRouterReader */.V {
804374
804454
  }
804375
804455
  else {
804376
804456
  this.logger.error(`Error when fetching package version ${err}`);
804377
- return '0.0.0';
804457
+ throw err;
804378
804458
  }
804379
804459
  }
804380
804460
  }
@@ -806868,14 +806948,17 @@ class EvmHypSyntheticAdapter extends EvmTokenAdapter {
806868
806948
  return await this.contract.PACKAGE_VERSION();
806869
806949
  }
806870
806950
  catch (err) {
806871
- // PACKAGE_VERSION was introduced in v5.4.0
806951
+ if ((0,contract/* isMissingSelectorCallException */.pJ)(err)) {
806952
+ // PACKAGE_VERSION was introduced in v5.4.0
806953
+ return '5.3.9';
806954
+ }
806872
806955
  this.logger.error(`Error when fetching package version ${err}`);
806873
- return '5.3.9';
806956
+ throw err;
806874
806957
  }
806875
806958
  }
806876
806959
  async quoteTransferRemoteGas({ destination, recipient, amount, }) {
806877
806960
  const contractVersion = await this.getContractPackageVersion();
806878
- const hasQuoteTransferRemote = (0,contract/* isValidContractVersion */.j)(contractVersion, TOKEN_FEE_CONTRACT_VERSION);
806961
+ const hasQuoteTransferRemote = (0,contract/* isValidContractVersion */.jh)(contractVersion, TOKEN_FEE_CONTRACT_VERSION);
806879
806962
  // Version does not support quoteTransferRemote defaulting to quoteGasPayment
806880
806963
  if (!hasQuoteTransferRemote) {
806881
806964
  const gasPayment = await this.contract.quoteGasPayment(destination);
@@ -807148,7 +807231,8 @@ class EvmHypCollateralFiatAdapter extends EvmHypCollateralAdapter {
807148
807231
  const limit = await fiatToken.minterAllowance(this.addresses.token);
807149
807232
  return limit.toBigInt();
807150
807233
  }
807151
- catch {
807234
+ catch (error) {
807235
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
807152
807236
  return UIN256_MAX_VALUE;
807153
807237
  }
807154
807238
  }
@@ -817198,6 +817282,8 @@ function viemLogFromGetEventLogsResponse(log) {
817198
817282
  };
817199
817283
  }
817200
817284
  //# sourceMappingURL=utils.js.map
817285
+ // EXTERNAL MODULE: ../sdk/dist/utils/contract.js
817286
+ var contract = __nccwpck_require__(76709);
817201
817287
  // EXTERNAL MODULE: ../sdk/dist/token/types.js
817202
817288
  var types = __nccwpck_require__(38466);
817203
817289
  // EXTERNAL MODULE: ../sdk/dist/token/xerc20-abi.js
@@ -817213,6 +817299,7 @@ var xerc20_abi = __nccwpck_require__(48798);
817213
817299
 
817214
817300
 
817215
817301
 
817302
+
817216
817303
  async function getExtraLockBoxConfigs({ xERC20Address, chain, multiProvider, logger = logging/* rootLogger */.Jk, }) {
817217
817304
  const explorer = multiProvider.tryGetEvmExplorerMetadata(chain);
817218
817305
  if (!explorer) {
@@ -817271,7 +817358,8 @@ async function getLockboxesFromLogs(logs, provider, chain, logger) {
817271
817358
  await maybeXERC20Lockbox.callStatic.XERC20();
817272
817359
  return log;
817273
817360
  }
817274
- catch {
817361
+ catch (error) {
817362
+ (0,contract/* throwIfNotMissingSelector */.KT)(error);
817275
817363
  logger.debug(`Contract at address ${log.args.bridge} on chain ${chain} is not a XERC20Lockbox contract.`);
817276
817364
  return undefined;
817277
817365
  }
@@ -817599,22 +817687,82 @@ class MultiGeneric {
817599
817687
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
817600
817688
 
817601
817689
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
817602
- /* harmony export */ j: () => (/* binding */ isValidContractVersion),
817603
- /* harmony export */ u: () => (/* binding */ contractHasString)
817690
+ /* harmony export */ KT: () => (/* binding */ throwIfNotMissingSelector),
817691
+ /* harmony export */ jh: () => (/* binding */ isValidContractVersion),
817692
+ /* harmony export */ pJ: () => (/* binding */ isMissingSelectorCallException),
817693
+ /* harmony export */ uu: () => (/* binding */ contractHasString)
817604
817694
  /* harmony export */ });
817605
817695
  /* harmony import */ var compare_versions__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(95416);
817606
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(93142);
817607
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(76378);
817696
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(73689);
817697
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(93142);
817698
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(76378);
817608
817699
 
817609
817700
 
817610
817701
  function isValidContractVersion(currentVersion, targetVersion) {
817611
817702
  return (0,compare_versions__WEBPACK_IMPORTED_MODULE_0__.compareVersions)(currentVersion, targetVersion) >= 0;
817612
817703
  }
817704
+ function isRecord(value) {
817705
+ return typeof value === 'object' && !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .isNullish */ .u)(value);
817706
+ }
817707
+ function getErrorMessage(error) {
817708
+ return error instanceof Error
817709
+ ? error.message
817710
+ : isRecord(error) && typeof error.message === 'string'
817711
+ ? error.message
817712
+ : undefined;
817713
+ }
817714
+ function isEmptyProviderResponse(error) {
817715
+ let current = error;
817716
+ while (isRecord(current)) {
817717
+ // Assumes the originating provider call was an eth_call probe. The
817718
+ // HyperlaneJsonRpcProvider also emits this message for empty getBalance,
817719
+ // getBlock, and getBlockNumber responses.
817720
+ if (getErrorMessage(current) === 'Invalid response from provider') {
817721
+ return true;
817722
+ }
817723
+ current = current.cause;
817724
+ }
817725
+ return false;
817726
+ }
817727
+ function findCallException(error) {
817728
+ let current = error;
817729
+ while (isRecord(current)) {
817730
+ if (current.code === 'CALL_EXCEPTION')
817731
+ return current;
817732
+ current = current.cause;
817733
+ }
817734
+ return undefined;
817735
+ }
817736
+ function isMissingSelectorCallException(error) {
817737
+ if (!isRecord(error))
817738
+ return false;
817739
+ if (isEmptyProviderResponse(error))
817740
+ return true;
817741
+ const callException = findCallException(error);
817742
+ if (!callException)
817743
+ return false;
817744
+ const nestedError = isRecord(callException.error)
817745
+ ? callException.error
817746
+ : undefined;
817747
+ const data = typeof callException.data === 'string'
817748
+ ? callException.data
817749
+ : nestedError?.data;
817750
+ if (data === '0x')
817751
+ return true;
817752
+ // Some ethers/provider combinations only expose empty return data in the
817753
+ // formatted message.
817754
+ return (typeof callException.message === 'string' &&
817755
+ callException.message.includes('data="0x"'));
817756
+ }
817757
+ function throwIfNotMissingSelector(error) {
817758
+ if (!isMissingSelectorCallException(error))
817759
+ throw error;
817760
+ }
817613
817761
  async function contractHasString(provider, address, searchFor) {
817614
817762
  const code = await provider.getCode(address);
817615
- const hexString = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .strip0x */ .LL)(Buffer.from(searchFor).toString('hex'));
817763
+ const hexString = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .strip0x */ .LL)(Buffer.from(searchFor).toString('hex'));
817616
817764
  // largest stack operation is PUSH32 https://www.evm.codes/?fork=osaka#7f
817617
- const chunks = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .chunk */ .iv)(hexString, 32 * 2);
817765
+ const chunks = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .chunk */ .iv)(hexString, 32 * 2);
817618
817766
  for (const chunk of chunks) {
817619
817767
  if (!code.includes(chunk)) {
817620
817768
  return false;
@@ -819271,7 +819419,11 @@ class WarpCore {
819271
819419
  interchainFee: igpQuote,
819272
819420
  tokenFeeQuote,
819273
819421
  attestation,
819274
- amount: originTokenAmount.amount,
819422
+ // Only pass amount for predicate flows — it feeds the attested msg_value into
819423
+ // eth_estimateGas. For non-predicate flows, let getLocalTransferFee use its
819424
+ // minimal-amount fallback so simulation doesn't fail on large balances or
819425
+ // placeholder senders (e.g. 0x...dead) that have no ETH.
819426
+ amount: attestation ? originTokenAmount.amount : undefined,
819275
819427
  });
819276
819428
  return {
819277
819429
  interchainQuote: igpQuote,
@@ -819304,7 +819456,7 @@ class WarpCore {
819304
819456
  interchainFee: interchainQuote,
819305
819457
  tokenFeeQuote,
819306
819458
  attestation,
819307
- amount: originTokenAmount.amount,
819459
+ amount: attestation ? originTokenAmount.amount : undefined,
819308
819460
  destinationToken: resolvedDestinationToken,
819309
819461
  });
819310
819462
  return {
@@ -819320,14 +819472,28 @@ class WarpCore {
819320
819472
  async getMaxTransferAmount({ balance, destination, recipient, sender, senderPubKey, feeEstimate, destinationToken, }) {
819321
819473
  const originToken = balance.token;
819322
819474
  if (!feeEstimate) {
819323
- feeEstimate = await this.estimateTransferRemoteFees({
819475
+ // Get IGP and token fee quotes using the full balance so amount-dependent fees
819476
+ // (e.g. percentage-based token fees) are correctly computed and subtracted.
819477
+ const { igpQuote: interchainQuote, tokenFeeQuote } = await this.getInterchainTransferFee({
819324
819478
  originTokenAmount: balance,
819325
819479
  destination,
819326
819480
  recipient,
819327
819481
  sender,
819482
+ destinationToken,
819483
+ });
819484
+ // Estimate local gas with no amount so getLocalTransferFee uses its minimal-amount
819485
+ // fallback — avoids eth_estimateGas failures on native token routes where simulating
819486
+ // the full balance leaves nothing to cover gas.
819487
+ const localQuote = await this.getLocalTransferFeeAmount({
819488
+ originToken,
819489
+ destination,
819490
+ sender,
819328
819491
  senderPubKey,
819492
+ interchainFee: interchainQuote,
819493
+ tokenFeeQuote,
819329
819494
  destinationToken,
819330
819495
  });
819496
+ feeEstimate = { interchainQuote, localQuote, tokenFeeQuote };
819331
819497
  }
819332
819498
  const { localQuote, interchainQuote, tokenFeeQuote } = feeEstimate;
819333
819499
  let maxAmount = balance;
@@ -905272,13 +905438,14 @@ async function createServiceLogger(options) {
905272
905438
  /* harmony export */ hw: () => (/* binding */ formatMessage),
905273
905439
  /* harmony export */ vY: () => (/* binding */ parseMessage)
905274
905440
  /* harmony export */ });
905275
- /* unused harmony exports extractRefundAddressFromMetadata, hasValidRefundAddress */
905441
+ /* unused harmony exports extractRefundAddressFromMetadata, hasValidRefundAddress, syntheticCcrSwapMessageId */
905276
905442
  /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(61934);
905277
905443
  /* harmony import */ var _addresses_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(93142);
905278
905444
  /* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(18508);
905279
905445
 
905280
905446
 
905281
905447
 
905448
+
905282
905449
  /**
905283
905450
  * JS Implementation of solidity/contracts/libs/Message.sol#formatMessage
905284
905451
  * @returns Hex string of the packed message
@@ -905389,6 +905556,32 @@ function hasValidRefundAddress(metadata) {
905389
905556
  return (refundAddress !== null &&
905390
905557
  refundAddress.toLowerCase() !== ethers.constants.AddressZero);
905391
905558
  }
905559
+ /**
905560
+ * Compute the synthetic message ID the scraper stores for a same-chain CCR swap.
905561
+ *
905562
+ * Format: `0x00000000 || keccak256("SameChainCCR" || txHash32 || logIndex8)[0..28]`
905563
+ *
905564
+ * The 4-byte zero prefix makes synthetic IDs immediately distinguishable from
905565
+ * real Hyperlane message IDs (which are uniform keccak256 outputs).
905566
+ *
905567
+ * @param txHash 32-byte transaction hash (0x-prefixed hex string)
905568
+ * @param logIndex log index of the ReceivedTransferRemote event
905569
+ */
905570
+ function syntheticCcrSwapMessageId(txHash, logIndex) {
905571
+ assert(ethers.utils.isHexString(txHash, 32), `txHash must be a 32-byte hex string, got: ${txHash}`);
905572
+ assert((typeof logIndex === 'bigint' && logIndex >= 0n) ||
905573
+ (typeof logIndex === 'number' &&
905574
+ Number.isInteger(logIndex) &&
905575
+ logIndex >= 0), `logIndex must be a non-negative integer, got: ${logIndex}`);
905576
+ const logIndexHex = ethers.utils.hexZeroPad(ethers.BigNumber.from(logIndex).toHexString(), 8);
905577
+ const hash = ethers.utils.keccak256(ethers.utils.concat([
905578
+ ethers.utils.toUtf8Bytes('SameChainCCR'),
905579
+ txHash,
905580
+ logIndexHex,
905581
+ ]));
905582
+ // 4 zero bytes || first 28 bytes of hash
905583
+ return ensure0x('00'.repeat(4) + hash.slice(2, 58));
905584
+ }
905392
905585
  //# sourceMappingURL=messages.js.map
905393
905586
 
905394
905587
  /***/ }),
@@ -907799,7 +907992,7 @@ module.exports = /*#__PURE__*/JSON.parse('[{"type":"function","name":"proveL2Lea
907799
907992
  /***/ 99468:
907800
907993
  /***/ ((module) => {
907801
907994
 
907802
- module.exports = {"rE":"35.0.0"};
907995
+ module.exports = {"rE":"35.0.1"};
907803
907996
 
907804
907997
  /***/ })
907805
907998
 
package/bundle/worker2.js CHANGED
@@ -388,8 +388,8 @@ function __wasm_bindgen_func_elem_7844(arg0, arg1, arg2) {
388
388
  wasm.__wasm_bindgen_func_elem_7844(arg0, arg1, addHeapObject(arg2));
389
389
  }
390
390
 
391
- function __wasm_bindgen_func_elem_6796(arg0, arg1, arg2, arg3) {
392
- wasm.__wasm_bindgen_func_elem_6796(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
391
+ function __wasm_bindgen_func_elem_6792(arg0, arg1, arg2, arg3) {
392
+ wasm.__wasm_bindgen_func_elem_6792(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
393
393
  }
394
394
 
395
395
  const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"];
@@ -13677,7 +13677,7 @@ function __wbg_get_imports(memory) {
13677
13677
  const a = state0.a;
13678
13678
  state0.a = 0;
13679
13679
  try {
13680
- return __wasm_bindgen_func_elem_6796(a, state0.b, arg0, arg1);
13680
+ return __wasm_bindgen_func_elem_6792(a, state0.b, arg0, arg1);
13681
13681
  } finally {
13682
13682
  state0.a = a;
13683
13683
  }
@@ -13950,11 +13950,6 @@ function __wbg_get_imports(memory) {
13950
13950
  const ret = Atomics.waitAsync(getObject(arg0), arg1 >>> 0, arg2);
13951
13951
  return addHeapObject(ret);
13952
13952
  };
13953
- imports.wbg.__wbindgen_cast_07555e2579ff3863 = function(arg0, arg1) {
13954
- // Cast intrinsic for `Closure(Closure { dtor_idx: 418, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 419, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13955
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13956
- return addHeapObject(ret);
13957
- };
13958
13953
  imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
13959
13954
  // Cast intrinsic for `Ref(String) -> Externref`.
13960
13955
  const ret = getStringFromWasm0(arg0, arg1);
@@ -13965,16 +13960,16 @@ function __wbg_get_imports(memory) {
13965
13960
  const ret = (BigInt.asUintN(64, arg0) | (arg1 << BigInt(64)));
13966
13961
  return addHeapObject(ret);
13967
13962
  };
13963
+ imports.wbg.__wbindgen_cast_3e8b1a28e9899889 = function(arg0, arg1) {
13964
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 416, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 417, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13965
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13966
+ return addHeapObject(ret);
13967
+ };
13968
13968
  imports.wbg.__wbindgen_cast_4625c577ab2ec9ee = function(arg0) {
13969
13969
  // Cast intrinsic for `U64 -> Externref`.
13970
13970
  const ret = BigInt.asUintN(64, arg0);
13971
13971
  return addHeapObject(ret);
13972
13972
  };
13973
- imports.wbg.__wbindgen_cast_72bd42f236eeae61 = function(arg0, arg1) {
13974
- // Cast intrinsic for `Closure(Closure { dtor_idx: 418, function: Function { arguments: [Externref], shim_idx: 419, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13975
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13976
- return addHeapObject(ret);
13977
- };
13978
13973
  imports.wbg.__wbindgen_cast_9ae0607507abb057 = function(arg0) {
13979
13974
  // Cast intrinsic for `I64 -> Externref`.
13980
13975
  const ret = arg0;
@@ -13995,6 +13990,11 @@ function __wbg_get_imports(memory) {
13995
13990
  const ret = (BigInt.asUintN(64, arg0) | (BigInt.asUintN(64, arg1) << BigInt(64)));
13996
13991
  return addHeapObject(ret);
13997
13992
  };
13993
+ imports.wbg.__wbindgen_cast_f45fc07d50d9127c = function(arg0, arg1) {
13994
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 416, function: Function { arguments: [Externref], shim_idx: 417, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13995
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13996
+ return addHeapObject(ret);
13997
+ };
13998
13998
  imports.wbg.__wbindgen_link_b9f45ffe079ef2c1 = function(arg0) {
13999
13999
  const val = `onmessage = function (ev) {
14000
14000
  let [ia, index, value] = ev.data;
package/bundle/worker3.js CHANGED
@@ -388,8 +388,8 @@ function __wasm_bindgen_func_elem_7844(arg0, arg1, arg2) {
388
388
  wasm.__wasm_bindgen_func_elem_7844(arg0, arg1, addHeapObject(arg2));
389
389
  }
390
390
 
391
- function __wasm_bindgen_func_elem_6792(arg0, arg1, arg2, arg3) {
392
- wasm.__wasm_bindgen_func_elem_6792(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
391
+ function __wasm_bindgen_func_elem_6796(arg0, arg1, arg2, arg3) {
392
+ wasm.__wasm_bindgen_func_elem_6796(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
393
393
  }
394
394
 
395
395
  const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"];
@@ -13677,7 +13677,7 @@ function __wbg_get_imports(memory) {
13677
13677
  const a = state0.a;
13678
13678
  state0.a = 0;
13679
13679
  try {
13680
- return __wasm_bindgen_func_elem_6792(a, state0.b, arg0, arg1);
13680
+ return __wasm_bindgen_func_elem_6796(a, state0.b, arg0, arg1);
13681
13681
  } finally {
13682
13682
  state0.a = a;
13683
13683
  }
@@ -13950,6 +13950,11 @@ function __wbg_get_imports(memory) {
13950
13950
  const ret = Atomics.waitAsync(getObject(arg0), arg1 >>> 0, arg2);
13951
13951
  return addHeapObject(ret);
13952
13952
  };
13953
+ imports.wbg.__wbindgen_cast_07555e2579ff3863 = function(arg0, arg1) {
13954
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 418, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 419, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13955
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13956
+ return addHeapObject(ret);
13957
+ };
13953
13958
  imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
13954
13959
  // Cast intrinsic for `Ref(String) -> Externref`.
13955
13960
  const ret = getStringFromWasm0(arg0, arg1);
@@ -13960,16 +13965,16 @@ function __wbg_get_imports(memory) {
13960
13965
  const ret = (BigInt.asUintN(64, arg0) | (arg1 << BigInt(64)));
13961
13966
  return addHeapObject(ret);
13962
13967
  };
13963
- imports.wbg.__wbindgen_cast_3e8b1a28e9899889 = function(arg0, arg1) {
13964
- // Cast intrinsic for `Closure(Closure { dtor_idx: 416, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 417, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13965
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13966
- return addHeapObject(ret);
13967
- };
13968
13968
  imports.wbg.__wbindgen_cast_4625c577ab2ec9ee = function(arg0) {
13969
13969
  // Cast intrinsic for `U64 -> Externref`.
13970
13970
  const ret = BigInt.asUintN(64, arg0);
13971
13971
  return addHeapObject(ret);
13972
13972
  };
13973
+ imports.wbg.__wbindgen_cast_72bd42f236eeae61 = function(arg0, arg1) {
13974
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 418, function: Function { arguments: [Externref], shim_idx: 419, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13975
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13976
+ return addHeapObject(ret);
13977
+ };
13973
13978
  imports.wbg.__wbindgen_cast_9ae0607507abb057 = function(arg0) {
13974
13979
  // Cast intrinsic for `I64 -> Externref`.
13975
13980
  const ret = arg0;
@@ -13990,11 +13995,6 @@ function __wbg_get_imports(memory) {
13990
13995
  const ret = (BigInt.asUintN(64, arg0) | (BigInt.asUintN(64, arg1) << BigInt(64)));
13991
13996
  return addHeapObject(ret);
13992
13997
  };
13993
- imports.wbg.__wbindgen_cast_f45fc07d50d9127c = function(arg0, arg1) {
13994
- // Cast intrinsic for `Closure(Closure { dtor_idx: 416, function: Function { arguments: [Externref], shim_idx: 417, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
13995
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_7843, __wasm_bindgen_func_elem_7844);
13996
- return addHeapObject(ret);
13997
- };
13998
13998
  imports.wbg.__wbindgen_link_b9f45ffe079ef2c1 = function(arg0) {
13999
13999
  const val = `onmessage = function (ev) {
14000
14000
  let [ia, index, value] = ev.data;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/cli",
3
- "version": "35.0.0",
3
+ "version": "35.0.1",
4
4
  "description": "A command-line utility for common Hyperlane operations",
5
5
  "keywords": [
6
6
  "CLI",
@@ -74,21 +74,21 @@
74
74
  "zod": "^3.21.2",
75
75
  "zod-validation-error": "^3.3.0",
76
76
  "zx": "^8.1.4",
77
- "@hyperlane-xyz/aleo-sdk": "35.0.0",
77
+ "@hyperlane-xyz/aleo-sdk": "35.0.1",
78
+ "@hyperlane-xyz/deploy-sdk": "6.0.4",
79
+ "@hyperlane-xyz/cosmos-sdk": "35.0.1",
78
80
  "@hyperlane-xyz/core": "11.3.1",
79
- "@hyperlane-xyz/deploy-sdk": "6.0.3",
80
- "@hyperlane-xyz/http-registry-server": "35.0.0",
81
- "@hyperlane-xyz/cosmos-sdk": "35.0.0",
82
- "@hyperlane-xyz/provider-sdk": "6.0.3",
83
- "@hyperlane-xyz/rebalancer": "27.3.3",
84
- "@hyperlane-xyz/radix-sdk": "35.0.0",
85
- "@hyperlane-xyz/relayer": "1.1.31",
86
- "@hyperlane-xyz/sdk": "35.0.0",
87
- "@hyperlane-xyz/sealevel-sdk": "35.0.0",
88
- "@hyperlane-xyz/starknet-sdk": "28.0.8",
89
- "@hyperlane-xyz/tron-sdk": "23.0.8",
90
- "@hyperlane-xyz/tsconfig": "^35.0.0",
91
- "@hyperlane-xyz/utils": "35.0.0"
81
+ "@hyperlane-xyz/http-registry-server": "35.0.1",
82
+ "@hyperlane-xyz/provider-sdk": "6.0.4",
83
+ "@hyperlane-xyz/rebalancer": "27.3.4",
84
+ "@hyperlane-xyz/radix-sdk": "35.0.1",
85
+ "@hyperlane-xyz/relayer": "1.1.32",
86
+ "@hyperlane-xyz/sdk": "35.0.1",
87
+ "@hyperlane-xyz/starknet-sdk": "28.0.9",
88
+ "@hyperlane-xyz/tron-sdk": "23.0.9",
89
+ "@hyperlane-xyz/sealevel-sdk": "35.0.1",
90
+ "@hyperlane-xyz/utils": "35.0.1",
91
+ "@hyperlane-xyz/tsconfig": "^35.0.1"
92
92
  },
93
93
  "engines": {
94
94
  "node": ">=16"