@hyperlane-xyz/cli 33.0.1 → 33.1.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.
package/bundle/index.js CHANGED
@@ -672930,6 +672930,9 @@ class AleoProtocolProvider {
672930
672930
  : new _provablehq_sdk_testnet_js__WEBPACK_IMPORTED_MODULE_1__/* .AleoNetworkClient */ .zX(rpcUrl);
672931
672931
  return new _validator_announce_validator_announce_artifact_manager_js__WEBPACK_IMPORTED_MODULE_7__/* .AleoValidatorAnnounceArtifactManager */ .q({ domainId: chainMetadata.domainId, aleoNetworkId }, aleoClient);
672932
672932
  }
672933
+ createFeeArtifactManager(_chainMetadata) {
672934
+ return null;
672935
+ }
672933
672936
  getMinGas() {
672934
672937
  return {
672935
672938
  CORE_DEPLOY_GAS: 0n,
@@ -672955,7 +672958,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
672955
672958
  /* harmony export */ });
672956
672959
  /* harmony import */ var _provablehq_sdk_mainnet_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(73565);
672957
672960
  /* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(62033);
672958
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(71280);
672961
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(92201);
672959
672962
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(21387);
672960
672963
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(93142);
672961
672964
  /* harmony import */ var _utils_helper_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(86255);
@@ -673532,7 +673535,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
673532
673535
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
673533
673536
  /* harmony export */ c: () => (/* binding */ AleoHookArtifactManager)
673534
673537
  /* harmony export */ });
673535
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
673538
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
673536
673539
  /* harmony import */ var _hyperlane_xyz_provider_sdk_hook__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(77230);
673537
673540
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(21387);
673538
673541
  /* harmony import */ var _hook_query_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(31743);
@@ -673616,7 +673619,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
673616
673619
  /* harmony export */ Og: () => (/* binding */ getIgpHookConfig),
673617
673620
  /* harmony export */ cz: () => (/* binding */ getHookType)
673618
673621
  /* harmony export */ });
673619
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
673622
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
673620
673623
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(21387);
673621
673624
  /* harmony import */ var _utils_base_query_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(40363);
673622
673625
  /* harmony import */ var _utils_helper_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(86255);
@@ -673846,7 +673849,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
673846
673849
  /* harmony export */ q: () => (/* binding */ AleoIgpHookReader),
673847
673850
  /* harmony export */ s: () => (/* binding */ AleoIgpHookWriter)
673848
673851
  /* harmony export */ });
673849
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
673852
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
673850
673853
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(4287);
673851
673854
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(93142);
673852
673855
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(73689);
@@ -674015,7 +674018,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
674015
674018
  /* harmony export */ D: () => (/* binding */ AleoMerkleTreeHookWriter),
674016
674019
  /* harmony export */ W: () => (/* binding */ AleoMerkleTreeHookReader)
674017
674020
  /* harmony export */ });
674018
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
674021
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
674019
674022
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(4287);
674020
674023
  /* harmony import */ var _utils_base_query_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(40363);
674021
674024
  /* harmony import */ var _utils_helper_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(86255);
@@ -674135,7 +674138,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
674135
674138
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
674136
674139
  /* harmony export */ k: () => (/* binding */ AleoIsmArtifactManager)
674137
674140
  /* harmony export */ });
674138
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
674141
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
674139
674142
  /* harmony import */ var _hyperlane_xyz_provider_sdk_ism__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(96426);
674140
674143
  /* harmony import */ var _utils_types_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(96602);
674141
674144
  /* harmony import */ var _ism_query_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(5575);
@@ -676878,7 +676881,7 @@ __webpack_async_result__();
676878
676881
  /***/ ((__webpack_module__, __unused_webpack___webpack_exports__, __nccwpck_require__) => {
676879
676882
 
676880
676883
  __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
676881
- /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_20__ = __nccwpck_require__(39559);
676884
+ /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_21__ = __nccwpck_require__(39559);
676882
676885
  /* harmony import */ var yargs__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(3508);
676883
676886
  /* harmony import */ var _src_commands_avs_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(9636);
676884
676887
  /* harmony import */ var _src_commands_config_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(96548);
@@ -676894,16 +676897,18 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
676894
676897
  /* harmony import */ var _src_commands_status_js__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(94980);
676895
676898
  /* harmony import */ var _src_commands_strategy_js__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(88219);
676896
676899
  /* harmony import */ var _src_commands_submit_js__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(28702);
676897
- /* harmony import */ var _src_commands_utils_js__WEBPACK_IMPORTED_MODULE_15__ = __nccwpck_require__(99065);
676898
- /* harmony import */ var _src_commands_validator_js__WEBPACK_IMPORTED_MODULE_16__ = __nccwpck_require__(27770);
676899
- /* harmony import */ var _src_commands_warp_js__WEBPACK_IMPORTED_MODULE_17__ = __nccwpck_require__(31636);
676900
- /* harmony import */ var _src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_18__ = __nccwpck_require__(95836);
676901
- /* harmony import */ var _src_context_context_js__WEBPACK_IMPORTED_MODULE_19__ = __nccwpck_require__(94986);
676902
- /* harmony import */ var _src_logger_js__WEBPACK_IMPORTED_MODULE_22__ = __nccwpck_require__(54321);
676903
- /* harmony import */ var _src_utils_version_check_js__WEBPACK_IMPORTED_MODULE_21__ = __nccwpck_require__(46331);
676904
- /* harmony import */ var _src_version_js__WEBPACK_IMPORTED_MODULE_23__ = __nccwpck_require__(36593);
676905
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_src_commands_avs_js__WEBPACK_IMPORTED_MODULE_1__, _src_commands_config_js__WEBPACK_IMPORTED_MODULE_2__, _src_commands_core_js__WEBPACK_IMPORTED_MODULE_3__, _src_commands_fork_js__WEBPACK_IMPORTED_MODULE_4__, _src_commands_hook_js__WEBPACK_IMPORTED_MODULE_5__, _src_commands_ica_js__WEBPACK_IMPORTED_MODULE_6__, _src_commands_ism_js__WEBPACK_IMPORTED_MODULE_7__, _src_commands_options_js__WEBPACK_IMPORTED_MODULE_8__, _src_commands_registry_js__WEBPACK_IMPORTED_MODULE_9__, _src_commands_relayer_js__WEBPACK_IMPORTED_MODULE_10__, _src_commands_send_js__WEBPACK_IMPORTED_MODULE_11__, _src_commands_status_js__WEBPACK_IMPORTED_MODULE_12__, _src_commands_strategy_js__WEBPACK_IMPORTED_MODULE_13__, _src_commands_submit_js__WEBPACK_IMPORTED_MODULE_14__, _src_commands_validator_js__WEBPACK_IMPORTED_MODULE_16__, _src_commands_warp_js__WEBPACK_IMPORTED_MODULE_17__, _src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_18__, _src_context_context_js__WEBPACK_IMPORTED_MODULE_19__]);
676906
- ([_src_commands_avs_js__WEBPACK_IMPORTED_MODULE_1__, _src_commands_config_js__WEBPACK_IMPORTED_MODULE_2__, _src_commands_core_js__WEBPACK_IMPORTED_MODULE_3__, _src_commands_fork_js__WEBPACK_IMPORTED_MODULE_4__, _src_commands_hook_js__WEBPACK_IMPORTED_MODULE_5__, _src_commands_ica_js__WEBPACK_IMPORTED_MODULE_6__, _src_commands_ism_js__WEBPACK_IMPORTED_MODULE_7__, _src_commands_options_js__WEBPACK_IMPORTED_MODULE_8__, _src_commands_registry_js__WEBPACK_IMPORTED_MODULE_9__, _src_commands_relayer_js__WEBPACK_IMPORTED_MODULE_10__, _src_commands_send_js__WEBPACK_IMPORTED_MODULE_11__, _src_commands_status_js__WEBPACK_IMPORTED_MODULE_12__, _src_commands_strategy_js__WEBPACK_IMPORTED_MODULE_13__, _src_commands_submit_js__WEBPACK_IMPORTED_MODULE_14__, _src_commands_validator_js__WEBPACK_IMPORTED_MODULE_16__, _src_commands_warp_js__WEBPACK_IMPORTED_MODULE_17__, _src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_18__, _src_context_context_js__WEBPACK_IMPORTED_MODULE_19__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
676900
+ /* harmony import */ var _src_commands_message_js__WEBPACK_IMPORTED_MODULE_15__ = __nccwpck_require__(52147);
676901
+ /* harmony import */ var _src_commands_utils_js__WEBPACK_IMPORTED_MODULE_16__ = __nccwpck_require__(99065);
676902
+ /* harmony import */ var _src_commands_validator_js__WEBPACK_IMPORTED_MODULE_17__ = __nccwpck_require__(27770);
676903
+ /* harmony import */ var _src_commands_warp_js__WEBPACK_IMPORTED_MODULE_18__ = __nccwpck_require__(31636);
676904
+ /* harmony import */ var _src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_19__ = __nccwpck_require__(95836);
676905
+ /* harmony import */ var _src_context_context_js__WEBPACK_IMPORTED_MODULE_20__ = __nccwpck_require__(94986);
676906
+ /* harmony import */ var _src_logger_js__WEBPACK_IMPORTED_MODULE_23__ = __nccwpck_require__(54321);
676907
+ /* harmony import */ var _src_utils_version_check_js__WEBPACK_IMPORTED_MODULE_22__ = __nccwpck_require__(46331);
676908
+ /* harmony import */ var _src_version_js__WEBPACK_IMPORTED_MODULE_24__ = __nccwpck_require__(36593);
676909
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_src_commands_avs_js__WEBPACK_IMPORTED_MODULE_1__, _src_commands_config_js__WEBPACK_IMPORTED_MODULE_2__, _src_commands_core_js__WEBPACK_IMPORTED_MODULE_3__, _src_commands_fork_js__WEBPACK_IMPORTED_MODULE_4__, _src_commands_hook_js__WEBPACK_IMPORTED_MODULE_5__, _src_commands_ica_js__WEBPACK_IMPORTED_MODULE_6__, _src_commands_ism_js__WEBPACK_IMPORTED_MODULE_7__, _src_commands_options_js__WEBPACK_IMPORTED_MODULE_8__, _src_commands_registry_js__WEBPACK_IMPORTED_MODULE_9__, _src_commands_relayer_js__WEBPACK_IMPORTED_MODULE_10__, _src_commands_send_js__WEBPACK_IMPORTED_MODULE_11__, _src_commands_status_js__WEBPACK_IMPORTED_MODULE_12__, _src_commands_strategy_js__WEBPACK_IMPORTED_MODULE_13__, _src_commands_submit_js__WEBPACK_IMPORTED_MODULE_14__, _src_commands_validator_js__WEBPACK_IMPORTED_MODULE_17__, _src_commands_warp_js__WEBPACK_IMPORTED_MODULE_18__, _src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_19__, _src_context_context_js__WEBPACK_IMPORTED_MODULE_20__]);
676910
+ ([_src_commands_avs_js__WEBPACK_IMPORTED_MODULE_1__, _src_commands_config_js__WEBPACK_IMPORTED_MODULE_2__, _src_commands_core_js__WEBPACK_IMPORTED_MODULE_3__, _src_commands_fork_js__WEBPACK_IMPORTED_MODULE_4__, _src_commands_hook_js__WEBPACK_IMPORTED_MODULE_5__, _src_commands_ica_js__WEBPACK_IMPORTED_MODULE_6__, _src_commands_ism_js__WEBPACK_IMPORTED_MODULE_7__, _src_commands_options_js__WEBPACK_IMPORTED_MODULE_8__, _src_commands_registry_js__WEBPACK_IMPORTED_MODULE_9__, _src_commands_relayer_js__WEBPACK_IMPORTED_MODULE_10__, _src_commands_send_js__WEBPACK_IMPORTED_MODULE_11__, _src_commands_status_js__WEBPACK_IMPORTED_MODULE_12__, _src_commands_strategy_js__WEBPACK_IMPORTED_MODULE_13__, _src_commands_submit_js__WEBPACK_IMPORTED_MODULE_14__, _src_commands_validator_js__WEBPACK_IMPORTED_MODULE_17__, _src_commands_warp_js__WEBPACK_IMPORTED_MODULE_18__, _src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_19__, _src_context_context_js__WEBPACK_IMPORTED_MODULE_20__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
676911
+
676907
676912
 
676908
676913
 
676909
676914
 
@@ -676937,9 +676942,9 @@ function ignoreBrokenPipe(stream) {
676937
676942
  }
676938
676943
  ignoreBrokenPipe(process.stdout);
676939
676944
  ignoreBrokenPipe(process.stderr);
676940
- console.log(chalk__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .Ay.blue('Hyperlane'), chalk__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .Ay.magentaBright('CLI'));
676945
+ console.log(chalk__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Ay.blue('Hyperlane'), chalk__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Ay.magentaBright('CLI'));
676941
676946
  if (!process.env.CI && process.env.HYPERLANE_SKIP_VERSION_CHECK !== '1') {
676942
- await (0,_src_utils_version_check_js__WEBPACK_IMPORTED_MODULE_21__/* .checkVersion */ .p)();
676947
+ await (0,_src_utils_version_check_js__WEBPACK_IMPORTED_MODULE_22__/* .checkVersion */ .p)();
676943
676948
  }
676944
676949
  try {
676945
676950
  await (0,yargs__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(process.argv.slice(2))
@@ -676956,10 +676961,10 @@ try {
676956
676961
  .global(['log', 'verbosity', 'registry', 'overrides', 'yes'])
676957
676962
  .middleware([
676958
676963
  (argv) => {
676959
- (0,_src_logger_js__WEBPACK_IMPORTED_MODULE_22__/* .configureLogger */ .XK)(argv.log, argv.verbosity);
676964
+ (0,_src_logger_js__WEBPACK_IMPORTED_MODULE_23__/* .configureLogger */ .XK)(argv.log, argv.verbosity);
676960
676965
  },
676961
- _src_context_context_js__WEBPACK_IMPORTED_MODULE_19__/* .contextMiddleware */ .u8,
676962
- _src_context_context_js__WEBPACK_IMPORTED_MODULE_19__/* .signerMiddleware */ .TQ,
676966
+ _src_context_context_js__WEBPACK_IMPORTED_MODULE_20__/* .contextMiddleware */ .u8,
676967
+ _src_context_context_js__WEBPACK_IMPORTED_MODULE_20__/* .signerMiddleware */ .TQ,
676963
676968
  ])
676964
676969
  .command(_src_commands_avs_js__WEBPACK_IMPORTED_MODULE_1__/* .avsCommand */ .m)
676965
676970
  .command(_src_commands_config_js__WEBPACK_IMPORTED_MODULE_2__/* .configCommand */ .o)
@@ -676973,12 +676978,13 @@ try {
676973
676978
  .command(_src_commands_status_js__WEBPACK_IMPORTED_MODULE_12__/* .statusCommand */ .y)
676974
676979
  .command(_src_commands_strategy_js__WEBPACK_IMPORTED_MODULE_13__/* .strategyCommand */ .XX)
676975
676980
  .command(_src_commands_submit_js__WEBPACK_IMPORTED_MODULE_14__/* .submitCommand */ .q)
676976
- .command(_src_commands_utils_js__WEBPACK_IMPORTED_MODULE_15__/* .addressCommand */ .m)
676977
- .command(_src_commands_validator_js__WEBPACK_IMPORTED_MODULE_16__/* .validatorCommand */ .U)
676978
- .command(_src_commands_warp_js__WEBPACK_IMPORTED_MODULE_17__/* .warpCommand */ .IB)
676979
- .command(_src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_18__/* .xerc20Command */ .C)
676981
+ .command(_src_commands_utils_js__WEBPACK_IMPORTED_MODULE_16__/* .addressCommand */ .m)
676982
+ .command(_src_commands_message_js__WEBPACK_IMPORTED_MODULE_15__/* .messageCommand */ .P)
676983
+ .command(_src_commands_validator_js__WEBPACK_IMPORTED_MODULE_17__/* .validatorCommand */ .U)
676984
+ .command(_src_commands_warp_js__WEBPACK_IMPORTED_MODULE_18__/* .warpCommand */ .IB)
676985
+ .command(_src_commands_xerc20_js__WEBPACK_IMPORTED_MODULE_19__/* .xerc20Command */ .C)
676980
676986
  .command(_src_commands_fork_js__WEBPACK_IMPORTED_MODULE_4__/* .forkCommand */ .C)
676981
- .version(_src_version_js__WEBPACK_IMPORTED_MODULE_23__/* .VERSION */ .x)
676987
+ .version(_src_version_js__WEBPACK_IMPORTED_MODULE_24__/* .VERSION */ .x)
676982
676988
  .demandCommand()
676983
676989
  .strict()
676984
676990
  .help()
@@ -676988,7 +676994,7 @@ try {
676988
676994
  .showHelpOnFail(false).argv;
676989
676995
  }
676990
676996
  catch (error) {
676991
- (0,_src_logger_js__WEBPACK_IMPORTED_MODULE_22__/* .errorRed */ .aq)('Error: ' + error.message);
676997
+ (0,_src_logger_js__WEBPACK_IMPORTED_MODULE_23__/* .errorRed */ .aq)('Error: ' + error.message);
676992
676998
  process.exit(1);
676993
676999
  }
676994
677000
  //# sourceMappingURL=cli.js.map
@@ -678108,6 +678114,172 @@ __webpack_async_result__();
678108
678114
 
678109
678115
  /***/ }),
678110
678116
 
678117
+ /***/ 52147:
678118
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
678119
+
678120
+ /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
678121
+ /* harmony export */ P: () => (/* binding */ messageCommand)
678122
+ /* harmony export */ });
678123
+ /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(61934);
678124
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(93142);
678125
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(78160);
678126
+ /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(54321);
678127
+
678128
+
678129
+
678130
+ function bytes32WithAddress(bytes32, protocol, bech32Prefix) {
678131
+ if (!protocol)
678132
+ return bytes32;
678133
+ try {
678134
+ const bytes = new Uint8Array(Buffer.from((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .strip0x */ .LL)(bytes32), 'hex'));
678135
+ const address = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .bytesToProtocolAddress */ .Tw)(bytes, protocol, bech32Prefix);
678136
+ return `${bytes32} (${address})`;
678137
+ }
678138
+ catch {
678139
+ return bytes32;
678140
+ }
678141
+ }
678142
+ const messageCommand = {
678143
+ command: 'message',
678144
+ describe: 'Hyperlane message encoding and decoding utilities',
678145
+ builder: (yargs) => yargs
678146
+ .command(decodeMessageCommand)
678147
+ .command(encodeMessageCommand)
678148
+ .demandCommand(),
678149
+ handler: () => (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)('Command required'),
678150
+ };
678151
+ const decodeMessageCommand = {
678152
+ command: 'decode',
678153
+ describe: 'Decode a packed Hyperlane message hex string',
678154
+ builder: {
678155
+ bytes: {
678156
+ type: 'string',
678157
+ description: 'Packed message hex string (with or without 0x)',
678158
+ demandOption: true,
678159
+ alias: 'b',
678160
+ },
678161
+ },
678162
+ handler: async (argv) => {
678163
+ const { bytes, context } = argv;
678164
+ const parsed = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .parseMessage */ .vY)(bytes);
678165
+ const id = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .messageId */ .Je)(bytes);
678166
+ const originChain = context.multiProvider.tryGetChainName(parsed.origin);
678167
+ const destChain = context.multiProvider.tryGetChainName(parsed.destination);
678168
+ const originMetadata = originChain
678169
+ ? context.multiProvider.tryGetChainMetadata(originChain)
678170
+ : null;
678171
+ const destMetadata = destChain
678172
+ ? context.multiProvider.tryGetChainMetadata(destChain)
678173
+ : null;
678174
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .logGreen */ .In)(`Message ID: ${id}`);
678175
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Version: ${parsed.version}`);
678176
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Nonce: ${parsed.nonce}`);
678177
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Origin: ${parsed.origin}${originChain ? ` (${originChain})` : ''}`);
678178
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Sender: ${bytes32WithAddress(parsed.sender, originMetadata?.protocol, originMetadata?.bech32Prefix)}`);
678179
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Destination: ${parsed.destination}${destChain ? ` (${destChain})` : ''}`);
678180
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Recipient: ${bytes32WithAddress(parsed.recipient, destMetadata?.protocol, destMetadata?.bech32Prefix)}`);
678181
+ // Best-effort: 64-byte bodies may be warp transfers (bytes32 + uint256) but not all are
678182
+ const isWarpBody = /^0x[0-9a-fA-F]{128}$/.test(parsed.body);
678183
+ if (isWarpBody) {
678184
+ const warp = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .parseWarpRouteMessage */ .U4)(parsed.body);
678185
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Body (possible warp transfer):`);
678186
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(` Recipient: ${bytes32WithAddress(warp.recipient, destMetadata?.protocol, destMetadata?.bech32Prefix)}`);
678187
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(` Amount: ${warp.amount.toString()}`);
678188
+ }
678189
+ else {
678190
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Body: ${parsed.body}`);
678191
+ }
678192
+ },
678193
+ };
678194
+ const encodeMessageCommand = {
678195
+ command: 'encode',
678196
+ describe: 'Encode a Hyperlane message to packed hex bytes',
678197
+ builder: {
678198
+ msgVersion: {
678199
+ type: 'number',
678200
+ description: 'Message version',
678201
+ default: 3,
678202
+ },
678203
+ nonce: {
678204
+ type: 'number',
678205
+ description: 'Message nonce',
678206
+ demandOption: true,
678207
+ alias: 'n',
678208
+ },
678209
+ origin: {
678210
+ type: 'string',
678211
+ description: 'Origin chain name or domain ID',
678212
+ demandOption: true,
678213
+ alias: 'o',
678214
+ },
678215
+ sender: {
678216
+ type: 'string',
678217
+ description: 'Sender address (auto-converted to bytes32)',
678218
+ demandOption: true,
678219
+ },
678220
+ destination: {
678221
+ type: 'string',
678222
+ description: 'Destination chain name or domain ID',
678223
+ demandOption: true,
678224
+ alias: 'd',
678225
+ },
678226
+ recipient: {
678227
+ type: 'string',
678228
+ description: 'Recipient address (auto-converted to bytes32)',
678229
+ demandOption: true,
678230
+ },
678231
+ body: {
678232
+ type: 'string',
678233
+ description: 'Message body as hex string (default: 0x)',
678234
+ conflicts: ['warpRecipient', 'warpAmount'],
678235
+ },
678236
+ warpRecipient: {
678237
+ type: 'string',
678238
+ description: 'Warp route recipient address — builds warp message body automatically',
678239
+ implies: 'warpAmount',
678240
+ conflicts: 'body',
678241
+ },
678242
+ warpAmount: {
678243
+ type: 'string',
678244
+ description: 'Warp route token amount (required with --warp-recipient)',
678245
+ implies: 'warpRecipient',
678246
+ conflicts: 'body',
678247
+ },
678248
+ },
678249
+ handler: async (argv) => {
678250
+ const { msgVersion, nonce, origin, sender, destination, recipient, body, warpRecipient, warpAmount, context, } = argv;
678251
+ let messageBody = body ?? '0x';
678252
+ if (warpRecipient && warpAmount) {
678253
+ const recipientBytes32 = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .addressToBytes32 */ .In)(warpRecipient);
678254
+ messageBody = ethers__WEBPACK_IMPORTED_MODULE_3__.ethers.utils.solidityPack(['bytes32', 'uint256'], [recipientBytes32, BigInt(warpAmount)]);
678255
+ }
678256
+ const originTrimmed = origin.trim();
678257
+ const destTrimmed = destination.trim();
678258
+ const originId = /^\d+$/.test(originTrimmed)
678259
+ ? Number(originTrimmed)
678260
+ : context.multiProvider.getDomainId(originTrimmed);
678261
+ const destId = /^\d+$/.test(destTrimmed)
678262
+ ? Number(destTrimmed)
678263
+ : context.multiProvider.getDomainId(destTrimmed);
678264
+ const originChain = context.multiProvider.tryGetChainName(originId);
678265
+ const destChain = context.multiProvider.tryGetChainName(destId);
678266
+ const packed = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .formatMessage */ .hw)(msgVersion, nonce, originId, sender, destId, recipient, messageBody);
678267
+ const id = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .messageId */ .Je)(packed);
678268
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .logGreen */ .In)(`Bytes: ${packed}`);
678269
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Message ID: ${id}`);
678270
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Version: ${msgVersion}`);
678271
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Nonce: ${nonce}`);
678272
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Origin: ${originId}${originChain ? ` (${originChain})` : ''}`);
678273
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Sender: ${(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .addressToBytes32 */ .In)(sender)}`);
678274
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Destination: ${destId}${destChain ? ` (${destChain})` : ''}`);
678275
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Recipient: ${(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .addressToBytes32 */ .In)(recipient)}`);
678276
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_1__/* .log */ .Rm)(`Body: ${messageBody}`);
678277
+ },
678278
+ };
678279
+ //# sourceMappingURL=message.js.map
678280
+
678281
+ /***/ }),
678282
+
678111
678283
  /***/ 89438:
678112
678284
  /***/ ((__webpack_module__, __webpack_exports__, __nccwpck_require__) => {
678113
678285
 
@@ -681286,30 +681458,27 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
681286
681458
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
681287
681459
  /* harmony export */ Mq: () => (/* binding */ readWarpCoreConfig),
681288
681460
  /* harmony export */ Pr: () => (/* binding */ readWarpRouteDeployConfig),
681289
- /* harmony export */ Rj: () => (/* binding */ getWarpRouteDeployConfig),
681290
681461
  /* harmony export */ ft: () => (/* binding */ createWarpRouteDeployConfig)
681291
681462
  /* harmony export */ });
681292
681463
  /* unused harmony exports fillDefaults, isValidWarpRouteDeployConfig */
681293
681464
  /* harmony import */ var _inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(98720);
681294
681465
  /* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(10684);
681295
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(4169);
681296
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(38230);
681297
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(38466);
681298
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(1430);
681299
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(19186);
681300
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__ = __nccwpck_require__(95778);
681301
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__ = __nccwpck_require__(69352);
681302
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(73938);
681303
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(21387);
681304
- /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(54321);
681466
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(4169);
681467
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(38230);
681468
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(38466);
681469
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(1430);
681470
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(19186);
681471
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(95778);
681472
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__ = __nccwpck_require__(69352);
681473
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(73938);
681474
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(21387);
681475
+ /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(54321);
681305
681476
  /* harmony import */ var _utils_chains_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(80881);
681306
681477
  /* harmony import */ var _utils_files_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(17468);
681307
681478
  /* harmony import */ var _utils_input_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(30251);
681308
- /* harmony import */ var _utils_warp_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(85361);
681309
- /* harmony import */ var _ism_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(1827);
681310
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_chains_js__WEBPACK_IMPORTED_MODULE_2__, _utils_input_js__WEBPACK_IMPORTED_MODULE_4__, _utils_warp_js__WEBPACK_IMPORTED_MODULE_5__, _ism_js__WEBPACK_IMPORTED_MODULE_6__]);
681311
- ([_utils_chains_js__WEBPACK_IMPORTED_MODULE_2__, _utils_input_js__WEBPACK_IMPORTED_MODULE_4__, _utils_warp_js__WEBPACK_IMPORTED_MODULE_5__, _ism_js__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
681312
-
681479
+ /* harmony import */ var _ism_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(1827);
681480
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_chains_js__WEBPACK_IMPORTED_MODULE_2__, _utils_input_js__WEBPACK_IMPORTED_MODULE_4__, _ism_js__WEBPACK_IMPORTED_MODULE_5__]);
681481
+ ([_utils_chains_js__WEBPACK_IMPORTED_MODULE_2__, _utils_input_js__WEBPACK_IMPORTED_MODULE_4__, _ism_js__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
681313
681482
 
681314
681483
 
681315
681484
 
@@ -681320,47 +681489,47 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_uti
681320
681489
 
681321
681490
 
681322
681491
  const TYPE_DESCRIPTIONS = {
681323
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.synthetic]: 'A new ERC20 with remote transfer functionality',
681324
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.syntheticRebase]: `A rebasing ERC20 with remote transfer functionality. Must be paired with ${_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralVaultRebase}`,
681325
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateral]: 'Extends an existing ERC20 with remote transfer functionality',
681326
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralCctp]: 'A collateral token that can be transferred via CCTP',
681327
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.native]: 'Extends the native token with remote transfer functionality',
681328
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralVault]: 'Extends an existing ERC4626 with remote transfer functionality. Yields are manually claimed by owner.',
681329
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralVaultRebase]: 'Extends an existing ERC4626 with remote transfer functionality. Rebases yields to token holders.',
681330
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralFiat]: 'Extends an existing FiatToken with remote transfer functionality',
681331
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.XERC20]: 'Extends an existing xERC20 with Warp Route functionality',
681332
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.XERC20Lockbox]: 'Extends an existing xERC20 Lockbox with Warp Route functionality',
681333
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.nativeOpL2]: 'An OP L2 native ETH token',
681334
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.nativeOpL1]: 'An OP L1 native ETH token',
681335
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralEverclear]: 'A collateral token that can be transferred via Everclear intents',
681336
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.ethEverclear]: 'An ETH token that can be transferred via Everclear intents',
681337
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralDepositAddress]: 'A collateral token that bridges by depositing into a configured address',
681492
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.synthetic]: 'A new ERC20 with remote transfer functionality',
681493
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.syntheticRebase]: `A rebasing ERC20 with remote transfer functionality. Must be paired with ${_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralVaultRebase}`,
681494
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateral]: 'Extends an existing ERC20 with remote transfer functionality',
681495
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralCctp]: 'A collateral token that can be transferred via CCTP',
681496
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.native]: 'Extends the native token with remote transfer functionality',
681497
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralVault]: 'Extends an existing ERC4626 with remote transfer functionality. Yields are manually claimed by owner.',
681498
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralVaultRebase]: 'Extends an existing ERC4626 with remote transfer functionality. Rebases yields to token holders.',
681499
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralFiat]: 'Extends an existing FiatToken with remote transfer functionality',
681500
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.XERC20]: 'Extends an existing xERC20 with Warp Route functionality',
681501
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.XERC20Lockbox]: 'Extends an existing xERC20 Lockbox with Warp Route functionality',
681502
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.nativeOpL2]: 'An OP L2 native ETH token',
681503
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.nativeOpL1]: 'An OP L1 native ETH token',
681504
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralEverclear]: 'A collateral token that can be transferred via Everclear intents',
681505
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.ethEverclear]: 'An ETH token that can be transferred via Everclear intents',
681506
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralDepositAddress]: 'A collateral token that bridges by depositing into a configured address',
681338
681507
  // TODO: describe
681339
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.syntheticUri]: '',
681340
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralUri]: '',
681341
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.nativeScaled]: '',
681342
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralOft]: 'A collateral token that bridges via LayerZero OFT',
681343
- [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.crossCollateral]: 'A collateral token that can route to multiple routers across chains',
681508
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.syntheticUri]: '',
681509
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralUri]: '',
681510
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.nativeScaled]: '',
681511
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralOft]: 'A collateral token that bridges via LayerZero OFT',
681512
+ [_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.crossCollateral]: 'A collateral token that can route to multiple routers across chains',
681344
681513
  };
681345
681514
  // Types that are only configurable via YAML, not the interactive prompt
681346
681515
  const YAML_ONLY_TYPES = [
681347
- _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralOft,
681348
- _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralCctp,
681349
- _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralDepositAddress,
681516
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralOft,
681517
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralCctp,
681518
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralDepositAddress,
681350
681519
  ];
681351
- const TYPE_CHOICES = Object.values(_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks)
681352
- .filter((type) => type !== _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.unknown && !YAML_ONLY_TYPES.includes(type))
681520
+ const TYPE_CHOICES = Object.values(_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks)
681521
+ .filter((type) => type !== _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.unknown && !YAML_ONLY_TYPES.includes(type))
681353
681522
  .map((type) => ({
681354
681523
  name: type,
681355
681524
  value: type,
681356
681525
  description: TYPE_DESCRIPTIONS[type],
681357
681526
  }));
681358
681527
  async function fillDefaults(context, config) {
681359
- return (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .promiseObjAll */ .a1)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .objMap */ .Yp)(config, async (chain, config) => {
681528
+ return (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .promiseObjAll */ .a1)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .objMap */ .Yp)(config, async (chain, config) => {
681360
681529
  let mailbox = config.mailbox;
681361
681530
  if (!mailbox) {
681362
681531
  const addresses = await context.registry.getChainAddresses(chain);
681363
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(addresses, `No addresses found for chain ${chain}`);
681532
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(addresses, `No addresses found for chain ${chain}`);
681364
681533
  mailbox = addresses.mailbox;
681365
681534
  }
681366
681535
  let owner = config.owner;
@@ -681380,31 +681549,31 @@ async function readWarpRouteDeployConfig({ context, ...args }) {
681380
681549
  let config = 'filePath' in args
681381
681550
  ? (0,_utils_files_js__WEBPACK_IMPORTED_MODULE_3__/* .readYamlOrJson */ .xQ)(args.filePath)
681382
681551
  : await context.registry.getWarpDeployConfig(args.warpRouteId);
681383
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(config, `No warp route deploy config found!`);
681552
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(config, `No warp route deploy config found!`);
681384
681553
  config = await fillDefaults(context, config);
681385
- config = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .objMap */ .Yp)(config, (_chain, chainConfig) => {
681554
+ config = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .objMap */ .Yp)(config, (_chain, chainConfig) => {
681386
681555
  if (chainConfig.destinationGas) {
681387
- chainConfig.destinationGas = (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__/* .resolveRouterMapConfig */ .c0)(context.multiProvider, chainConfig.destinationGas);
681556
+ chainConfig.destinationGas = (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_9__/* .resolveRouterMapConfig */ .c0)(context.multiProvider, chainConfig.destinationGas);
681388
681557
  }
681389
681558
  if (chainConfig.remoteRouters) {
681390
- chainConfig.remoteRouters = (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__/* .resolveRouterMapConfig */ .c0)(context.multiProvider, chainConfig.remoteRouters);
681559
+ chainConfig.remoteRouters = (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_9__/* .resolveRouterMapConfig */ .c0)(context.multiProvider, chainConfig.remoteRouters);
681391
681560
  }
681392
- if (!(0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__/* .isMovableCollateralTokenConfig */ .zW)(chainConfig)) {
681561
+ if (!(0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__/* .isMovableCollateralTokenConfig */ .zW)(chainConfig)) {
681393
681562
  return chainConfig;
681394
681563
  }
681395
681564
  if (chainConfig.allowedRebalancingBridges) {
681396
- chainConfig.allowedRebalancingBridges = (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__/* .resolveRouterMapConfig */ .c0)(context.multiProvider, chainConfig.allowedRebalancingBridges);
681565
+ chainConfig.allowedRebalancingBridges = (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_9__/* .resolveRouterMapConfig */ .c0)(context.multiProvider, chainConfig.allowedRebalancingBridges);
681397
681566
  }
681398
681567
  return chainConfig;
681399
681568
  });
681400
681569
  //fillDefaults would have added a mailbox to the config if it was missing
681401
- return _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__/* .WarpRouteDeployConfigMailboxRequiredSchema */ .XR.parse(config);
681570
+ return _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__/* .WarpRouteDeployConfigMailboxRequiredSchema */ .XR.parse(config);
681402
681571
  }
681403
681572
  function isValidWarpRouteDeployConfig(config) {
681404
681573
  return WarpRouteDeployConfigSchema.safeParse(config).success;
681405
681574
  }
681406
681575
  async function createWarpRouteDeployConfig({ context, outPath, advanced = false, }) {
681407
- (0,_logger_js__WEBPACK_IMPORTED_MODULE_12__/* .logBlue */ .RK)('Creating a new warp route deployment config...');
681576
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_11__/* .logBlue */ .RK)('Creating a new warp route deployment config...');
681408
681577
  const warpChains = await (0,_utils_chains_js__WEBPACK_IMPORTED_MODULE_2__/* .runMultiChainSelectionStep */ .aE)({
681409
681578
  chainMetadata: context.chainMetadata,
681410
681579
  message: 'Select chains to connect',
@@ -681416,11 +681585,11 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681416
681585
  const result = {};
681417
681586
  let typeChoices = TYPE_CHOICES;
681418
681587
  for (const chain of warpChains) {
681419
- (0,_logger_js__WEBPACK_IMPORTED_MODULE_12__/* .logBlue */ .RK)(`${chain}: Configuring warp route...`);
681588
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_11__/* .logBlue */ .RK)(`${chain}: Configuring warp route...`);
681420
681589
  const owner = await (0,_utils_input_js__WEBPACK_IMPORTED_MODULE_4__/* .detectAndConfirmOrPrompt */ .qj)(async () => context.signerAddress, 'Enter the desired', 'owner address', 'signer');
681421
681590
  const proxyAdmin = await (0,_utils_input_js__WEBPACK_IMPORTED_MODULE_4__/* .setProxyAdminConfig */ .YI)(context, chain);
681422
681591
  const excludeStaticIsms = context.multiProvider.getChainMetadata(chain).technicalStack ===
681423
- _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__/* .ChainTechnicalStack */ .DU.ZkSync;
681592
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__/* .ChainTechnicalStack */ .DU.ZkSync;
681424
681593
  /**
681425
681594
  * The logic from the cli is as follows:
681426
681595
  * --yes flag is provided: set ism to undefined (default ISM config)
@@ -681434,7 +681603,7 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681434
681603
  interchainSecurityModule = undefined;
681435
681604
  }
681436
681605
  else if (advanced) {
681437
- interchainSecurityModule = await (0,_ism_js__WEBPACK_IMPORTED_MODULE_6__/* .createAdvancedIsmConfig */ .ae)(context, excludeStaticIsms);
681606
+ interchainSecurityModule = await (0,_ism_js__WEBPACK_IMPORTED_MODULE_5__/* .createAdvancedIsmConfig */ .ae)(context, excludeStaticIsms);
681438
681607
  }
681439
681608
  else if (await (0,_inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__/* .confirm */ .lJ)({
681440
681609
  message: 'Do you want to use a trusted ISM for warp route?',
@@ -681446,11 +681615,11 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681446
681615
  choices: typeChoices,
681447
681616
  });
681448
681617
  switch (type) {
681449
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateral:
681450
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.XERC20:
681451
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.XERC20Lockbox:
681452
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralFiat:
681453
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.crossCollateral:
681618
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateral:
681619
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.XERC20:
681620
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.XERC20Lockbox:
681621
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralFiat:
681622
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.crossCollateral:
681454
681623
  result[chain] = {
681455
681624
  type,
681456
681625
  owner,
@@ -681461,7 +681630,7 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681461
681630
  }),
681462
681631
  };
681463
681632
  break;
681464
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralUri:
681633
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralUri:
681465
681634
  result[chain] = {
681466
681635
  type,
681467
681636
  owner,
@@ -681473,7 +681642,7 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681473
681642
  }),
681474
681643
  };
681475
681644
  break;
681476
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.syntheticRebase:
681645
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.syntheticRebase:
681477
681646
  result[chain] = {
681478
681647
  type,
681479
681648
  owner,
@@ -681482,11 +681651,11 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681482
681651
  interchainSecurityModule,
681483
681652
  };
681484
681653
  typeChoices = restrictChoices([
681485
- _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.syntheticRebase,
681486
- _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralVaultRebase,
681654
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.syntheticRebase,
681655
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralVaultRebase,
681487
681656
  ]);
681488
681657
  break;
681489
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralVaultRebase:
681658
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralVaultRebase:
681490
681659
  result[chain] = {
681491
681660
  type,
681492
681661
  owner,
@@ -681496,9 +681665,9 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681496
681665
  message: `Enter the ERC-4626 vault address on chain ${chain}`,
681497
681666
  }),
681498
681667
  };
681499
- typeChoices = restrictChoices([_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.syntheticRebase]);
681668
+ typeChoices = restrictChoices([_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.syntheticRebase]);
681500
681669
  break;
681501
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.collateralVault:
681670
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.collateralVault:
681502
681671
  result[chain] = {
681503
681672
  type,
681504
681673
  owner,
@@ -681509,7 +681678,7 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681509
681678
  }),
681510
681679
  };
681511
681680
  break;
681512
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.syntheticUri:
681681
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.syntheticUri:
681513
681682
  result[chain] = {
681514
681683
  type,
681515
681684
  owner,
@@ -681518,8 +681687,8 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681518
681687
  isNft: true,
681519
681688
  };
681520
681689
  break;
681521
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.native:
681522
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__/* .TokenType */ .ks.synthetic:
681690
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.native:
681691
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__/* .TokenType */ .ks.synthetic:
681523
681692
  result[chain] = {
681524
681693
  type,
681525
681694
  owner,
@@ -681533,14 +681702,14 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681533
681702
  }
681534
681703
  }
681535
681704
  try {
681536
- const warpRouteDeployConfig = _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__/* .WarpRouteDeployConfigSchema */ .Wl.parse(result);
681537
- (0,_logger_js__WEBPACK_IMPORTED_MODULE_12__/* .logBlue */ .RK)(`Warp Route config is valid, writing to file ${outPath}:\n`);
681538
- (0,_logger_js__WEBPACK_IMPORTED_MODULE_12__/* .log */ .Rm)((0,_utils_files_js__WEBPACK_IMPORTED_MODULE_3__/* .indentYamlOrJson */ .R7)((0,yaml__WEBPACK_IMPORTED_MODULE_1__/* .stringify */ .As)(warpRouteDeployConfig, null, 2), 4));
681705
+ const warpRouteDeployConfig = _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__/* .WarpRouteDeployConfigSchema */ .Wl.parse(result);
681706
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_11__/* .logBlue */ .RK)(`Warp Route config is valid, writing to file ${outPath}:\n`);
681707
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_11__/* .log */ .Rm)((0,_utils_files_js__WEBPACK_IMPORTED_MODULE_3__/* .indentYamlOrJson */ .R7)((0,yaml__WEBPACK_IMPORTED_MODULE_1__/* .stringify */ .As)(warpRouteDeployConfig, null, 2), 4));
681539
681708
  if (outPath) {
681540
681709
  (0,_utils_files_js__WEBPACK_IMPORTED_MODULE_3__/* .writeYamlOrJson */ .o9)(outPath, warpRouteDeployConfig, 'yaml');
681541
681710
  }
681542
681711
  else {
681543
- const tokenMetadata = await _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__/* .HypERC20Deployer */ .A7.deriveTokenMetadata(context.multiProvider, warpRouteDeployConfig);
681712
+ const tokenMetadata = await _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__/* .HypERC20Deployer */ .A7.deriveTokenMetadata(context.multiProvider, warpRouteDeployConfig);
681544
681713
  const symbol = tokenMetadata.getDefaultSymbol();
681545
681714
  let warpRouteId;
681546
681715
  if (!context.skipConfirmation) {
@@ -681550,11 +681719,11 @@ async function createWarpRouteDeployConfig({ context, outPath, advanced = false,
681550
681719
  symbol,
681551
681720
  warpRouteId, // Will default to SYMBOL/chain1 if `undefined`
681552
681721
  });
681553
- (0,_logger_js__WEBPACK_IMPORTED_MODULE_12__/* .logGreen */ .In)(`✅ Successfully created new warp route deployment config with warp route id: ${warpRouteId}`);
681722
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_11__/* .logGreen */ .In)(`✅ Successfully created new warp route deployment config with warp route id: ${warpRouteId}`);
681554
681723
  }
681555
681724
  }
681556
681725
  catch (e) {
681557
- (0,_logger_js__WEBPACK_IMPORTED_MODULE_12__/* .errorRed */ .aq)(`Warp route deployment config is invalid, please see https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/cli/examples/warp-route-deployment.yaml for an example.`);
681726
+ (0,_logger_js__WEBPACK_IMPORTED_MODULE_11__/* .errorRed */ .aq)(`Warp route deployment config is invalid, please see https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/cli/examples/warp-route-deployment.yaml for an example.`);
681558
681727
  throw e;
681559
681728
  }
681560
681729
  }
@@ -681572,8 +681741,8 @@ async function readWarpCoreConfig(args) {
681572
681741
  else {
681573
681742
  config = await args.context.registry.getWarpRoute(args.warpRouteId);
681574
681743
  }
681575
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(config, `No warp route config found for warp route ${readWithFilePath ? args.filePath : args.warpRouteId}`);
681576
- return _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__/* .WarpCoreConfigSchema */ .$.parse(config);
681744
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(config, `No warp route config found for warp route ${readWithFilePath ? args.filePath : args.warpRouteId}`);
681745
+ return _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__/* .WarpCoreConfigSchema */ .$.parse(config);
681577
681746
  }
681578
681747
  /**
681579
681748
  * Creates a default configuration for an ISM.
@@ -681592,14 +681761,14 @@ async function readWarpCoreConfig(args) {
681592
681761
  */
681593
681762
  function createDefaultWarpIsmConfig(owner, excludeStaticIsms = false) {
681594
681763
  const trustedRelayerModule = {
681595
- type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__/* .IsmType */ .GO.TRUSTED_RELAYER,
681764
+ type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__/* .IsmType */ .GO.TRUSTED_RELAYER,
681596
681765
  relayer: owner,
681597
681766
  };
681598
681767
  if (excludeStaticIsms) {
681599
681768
  return trustedRelayerModule;
681600
681769
  }
681601
681770
  return {
681602
- type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__/* .IsmType */ .GO.AGGREGATION,
681771
+ type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__/* .IsmType */ .GO.AGGREGATION,
681603
681772
  modules: [trustedRelayerModule, createFallbackRoutingConfig(owner)],
681604
681773
  threshold: 1,
681605
681774
  };
@@ -681612,23 +681781,11 @@ function createDefaultWarpIsmConfig(owner, excludeStaticIsms = false) {
681612
681781
  */
681613
681782
  function createFallbackRoutingConfig(owner) {
681614
681783
  return {
681615
- type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__/* .IsmType */ .GO.FALLBACK_ROUTING,
681784
+ type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__/* .IsmType */ .GO.FALLBACK_ROUTING,
681616
681785
  domains: {},
681617
681786
  owner,
681618
681787
  };
681619
681788
  }
681620
- async function getWarpRouteDeployConfig({ context, warpRouteId, }) {
681621
- const resolvedWarpRouteId = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_5__/* .resolveWarpRouteId */ .NV)({
681622
- warpRouteId,
681623
- context,
681624
- promptByDeploymentConfigs: true,
681625
- });
681626
- const config = await readWarpRouteDeployConfig({
681627
- context,
681628
- warpRouteId: resolvedWarpRouteId,
681629
- });
681630
- return { config, resolvedWarpRouteId };
681631
- }
681632
681789
  //# sourceMappingURL=warp.js.map
681633
681790
  __webpack_async_result__();
681634
681791
  } catch(e) { __webpack_async_result__(e); } });
@@ -681669,8 +681826,8 @@ __nccwpck_require__.d(__webpack_exports__, {
681669
681826
 
681670
681827
  // EXTERNAL MODULE: ../../node_modules/.pnpm/@inquirer+prompts@3.3.2/node_modules/@inquirer/prompts/dist/esm/index.mjs + 7 modules
681671
681828
  var esm = __nccwpck_require__(98720);
681672
- // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 3 modules
681673
- var dist = __nccwpck_require__(71280);
681829
+ // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 4 modules
681830
+ var dist = __nccwpck_require__(92201);
681674
681831
  // EXTERNAL MODULE: ../utils/dist/types.js
681675
681832
  var types = __nccwpck_require__(16639);
681676
681833
  // EXTERNAL MODULE: ../utils/dist/validation.js
@@ -681784,39 +681941,90 @@ async function createAltVMSigners(metadataManager, chains, keyByProtocol, strate
681784
681941
 
681785
681942
  /***/ }),
681786
681943
 
681944
+ /***/ 95433:
681945
+ /***/ ((__webpack_module__, __webpack_exports__, __nccwpck_require__) => {
681946
+
681947
+ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
681948
+ /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
681949
+ /* harmony export */ S: () => (/* binding */ requestAndSaveApiKeys)
681950
+ /* harmony export */ });
681951
+ /* harmony import */ var _inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(98720);
681952
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(1430);
681953
+ /* harmony import */ var _utils_input_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(30251);
681954
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_input_js__WEBPACK_IMPORTED_MODULE_1__]);
681955
+ _utils_input_js__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
681956
+
681957
+
681958
+
681959
+ async function requestAndSaveApiKeys(chains, chainMetadata, registry) {
681960
+ const apiKeys = {};
681961
+ for (const chain of chains) {
681962
+ const blockExplorer = chainMetadata[chain]?.blockExplorers?.[0];
681963
+ if (blockExplorer?.family !== _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_2__/* .ExplorerFamily */ .id.Etherscan) {
681964
+ continue;
681965
+ }
681966
+ if (blockExplorer?.apiKey) {
681967
+ apiKeys[chain] = blockExplorer.apiKey;
681968
+ continue;
681969
+ }
681970
+ const wantApiKey = await (0,_inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__/* .confirm */ .lJ)({
681971
+ default: false,
681972
+ message: `Do you want to use an API key to verify on this (${chain}) chain's block explorer`,
681973
+ });
681974
+ if (wantApiKey) {
681975
+ apiKeys[chain] = await (0,_utils_input_js__WEBPACK_IMPORTED_MODULE_1__/* .detectAndConfirmOrPrompt */ .qj)(async () => {
681976
+ const blockExplorers = chainMetadata[chain].blockExplorers;
681977
+ if (!(blockExplorers && blockExplorers.length > 0))
681978
+ return;
681979
+ for (const blockExplorer of blockExplorers) {
681980
+ /* The current apiKeys mapping only accepts one key, even if there are multiple explorer options present. */
681981
+ if (blockExplorer.apiKey)
681982
+ return blockExplorer.apiKey;
681983
+ }
681984
+ return undefined;
681985
+ }, `Enter an API key for the ${chain} explorer`, `${chain} api key`, `${chain} metadata blockExplorers config`);
681986
+ chainMetadata[chain].blockExplorers[0].apiKey = apiKeys[chain];
681987
+ await registry.updateChain({
681988
+ chainName: chain,
681989
+ metadata: chainMetadata[chain],
681990
+ });
681991
+ }
681992
+ }
681993
+ return apiKeys;
681994
+ }
681995
+ //# sourceMappingURL=apiKeys.js.map
681996
+ __webpack_async_result__();
681997
+ } catch(e) { __webpack_async_result__(e); } });
681998
+
681999
+ /***/ }),
682000
+
681787
682001
  /***/ 94986:
681788
682002
  /***/ ((__webpack_module__, __webpack_exports__, __nccwpck_require__) => {
681789
682003
 
681790
682004
  __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
681791
682005
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
681792
682006
  /* harmony export */ $U: () => (/* binding */ ensureEvmSignersForChains),
681793
- /* harmony export */ SH: () => (/* binding */ requestAndSaveApiKeys),
681794
682007
  /* harmony export */ TQ: () => (/* binding */ signerMiddleware),
681795
682008
  /* harmony export */ u8: () => (/* binding */ contextMiddleware)
681796
682009
  /* harmony export */ });
681797
682010
  /* unused harmony export getContext */
681798
- /* harmony import */ var _inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(98720);
681799
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(66423);
681800
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(71280);
681801
- /* harmony import */ var _hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(84873);
681802
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__ = __nccwpck_require__(3483);
681803
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__ = __nccwpck_require__(95176);
681804
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_17__ = __nccwpck_require__(1430);
681805
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(21387);
681806
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(16639);
681807
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(94523);
681808
- /* harmony import */ var _commands_signCommands_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(29781);
681809
- /* harmony import */ var _config_strategy_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(29079);
681810
- /* harmony import */ var _utils_input_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(30251);
681811
- /* harmony import */ var _utils_keys_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(55459);
681812
- /* harmony import */ var _altvm_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(29225);
681813
- /* harmony import */ var _strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(11202);
681814
- /* harmony import */ var _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(58198);
681815
- /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(57028);
681816
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_config_strategy_js__WEBPACK_IMPORTED_MODULE_4__, _utils_input_js__WEBPACK_IMPORTED_MODULE_5__, _utils_keys_js__WEBPACK_IMPORTED_MODULE_6__, _strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_8__, _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_9__, _hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_13__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__]);
681817
- ([_config_strategy_js__WEBPACK_IMPORTED_MODULE_4__, _utils_input_js__WEBPACK_IMPORTED_MODULE_5__, _utils_keys_js__WEBPACK_IMPORTED_MODULE_6__, _strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_8__, _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_9__, _hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_13__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
681818
-
681819
-
682011
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(56854);
682012
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(92201);
682013
+ /* harmony import */ var _hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(84873);
682014
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(3483);
682015
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(95176);
682016
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(21387);
682017
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(16639);
682018
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(94523);
682019
+ /* harmony import */ var _commands_signCommands_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(29781);
682020
+ /* harmony import */ var _config_strategy_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(29079);
682021
+ /* harmony import */ var _utils_keys_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(55459);
682022
+ /* harmony import */ var _altvm_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(29225);
682023
+ /* harmony import */ var _strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(11202);
682024
+ /* harmony import */ var _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(58198);
682025
+ /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(57028);
682026
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_config_strategy_js__WEBPACK_IMPORTED_MODULE_3__, _utils_keys_js__WEBPACK_IMPORTED_MODULE_4__, _strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_6__, _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_7__, _hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_11__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__]);
682027
+ ([_config_strategy_js__WEBPACK_IMPORTED_MODULE_3__, _utils_keys_js__WEBPACK_IMPORTED_MODULE_4__, _strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_6__, _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_7__, _hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_11__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
681820
682028
 
681821
682029
 
681822
682030
 
@@ -681845,8 +682053,8 @@ function parseRegistryUris(value) {
681845
682053
  : hasIterator(value)
681846
682054
  ? Array.from(value)
681847
682055
  : null;
681848
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .assert */ .v)(values !== null, `Invalid --registry value type: expected string or iterable of strings, got ${typeof value}`);
681849
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .assert */ .v)(values.every((entry) => typeof entry === 'string'), 'Invalid --registry value: expected only string entries');
682056
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(values !== null, `Invalid --registry value type: expected string or iterable of strings, got ${typeof value}`);
682057
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(values.every((entry) => typeof entry === 'string'), 'Invalid --registry value: expected only string entries');
681850
682058
  return values;
681851
682059
  }
681852
682060
  function toOptionalString(value) {
@@ -681860,10 +682068,10 @@ function toOptionalSignerKey(value) {
681860
682068
  return value;
681861
682069
  if (value === undefined)
681862
682070
  return undefined;
681863
- return _types_js__WEBPACK_IMPORTED_MODULE_10__/* .SignerKeyProtocolMapSchema */ .P.parse(value);
682071
+ return _types_js__WEBPACK_IMPORTED_MODULE_8__/* .SignerKeyProtocolMapSchema */ .P.parse(value);
681864
682072
  }
681865
682073
  async function contextMiddleware(argv) {
681866
- const requiresKey = (0,_commands_signCommands_js__WEBPACK_IMPORTED_MODULE_3__/* .isSignCommand */ .np)(argv);
682074
+ const requiresKey = (0,_commands_signCommands_js__WEBPACK_IMPORTED_MODULE_2__/* .isSignCommand */ .np)(argv);
681867
682075
  const settings = {
681868
682076
  registryUris: parseRegistryUris(argv.registry),
681869
682077
  key: toOptionalSignerKey(argv.key),
@@ -681879,21 +682087,21 @@ function hasCommandContext(argv) {
681879
682087
  return typeof argv.context === 'object' && argv.context !== null;
681880
682088
  }
681881
682089
  async function signerMiddleware(argv) {
681882
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .assert */ .v)(hasCommandContext(argv), 'Expected command context in signerMiddleware');
682090
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(hasCommandContext(argv), 'Expected command context in signerMiddleware');
681883
682091
  const { key, requiresKey, strategyPath, multiProtocolProvider } = argv.context;
681884
682092
  const strategyConfig = strategyPath
681885
- ? await (0,_config_strategy_js__WEBPACK_IMPORTED_MODULE_4__/* .readChainSubmissionStrategyConfig */ .l)(strategyPath)
682093
+ ? await (0,_config_strategy_js__WEBPACK_IMPORTED_MODULE_3__/* .readChainSubmissionStrategyConfig */ .l)(strategyPath)
681886
682094
  : {};
681887
682095
  /**
681888
682096
  * Resolves chains based on the command type.
681889
682097
  */
681890
- const chains = await (0,_strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_8__/* .resolveChains */ .H)(argv);
682098
+ const chains = await (0,_strategies_chain_chainResolver_js__WEBPACK_IMPORTED_MODULE_6__/* .resolveChains */ .H)(argv);
681891
682099
  /**
681892
682100
  * Load and create AltVM Providers
681893
682101
  */
681894
- const altVmChains = chains.filter((chain) => !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .isEVMLike */ .Us)(argv.context.multiProvider.getProtocol(chain)));
682102
+ const altVmChains = chains.filter((chain) => !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .isEVMLike */ .Us)(argv.context.multiProvider.getProtocol(chain)));
681895
682103
  try {
681896
- await (0,_hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_1__/* .loadProtocolProviders */ .ff)(new Set(altVmChains.map((chain) => argv.context.multiProvider.getProtocol(chain))));
682104
+ await (0,_hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__/* .loadProtocolProviders */ .ff)(new Set(altVmChains.map((chain) => argv.context.multiProvider.getProtocol(chain))));
681897
682105
  }
681898
682106
  catch (e) {
681899
682107
  throw new Error(`Failed to load providers in context for ${altVmChains.join(', ')}`, { cause: e });
@@ -681902,8 +682110,8 @@ async function signerMiddleware(argv) {
681902
682110
  const { altVmProviders, multiProvider } = argv.context;
681903
682111
  const protocol = multiProvider.getProtocol(chain);
681904
682112
  const metadata = multiProvider.getChainMetadata(chain);
681905
- if ((0,_hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__/* .hasProtocol */ .zA)(protocol)) {
681906
- const provider = await (0,_hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__/* .getProtocolProvider */ .IU)(protocol).createProvider(metadata);
682113
+ if ((0,_hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__/* .hasProtocol */ .zA)(protocol)) {
682114
+ const provider = await (0,_hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__/* .getProtocolProvider */ .IU)(protocol).createProvider(metadata);
681907
682115
  altVmProviders[chain] = provider;
681908
682116
  // multiProtocolProvider keeps its own typed providers from metadata/rpcUrls.
681909
682117
  // Avoid injecting AltVM.IProvider here because it requires unsafe casting.
@@ -681911,11 +682119,11 @@ async function signerMiddleware(argv) {
681911
682119
  }));
681912
682120
  if (!requiresKey)
681913
682121
  return;
681914
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .assert */ .v)(key, 'Expected signer keys when running signer middleware');
682122
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(key, 'Expected signer keys when running signer middleware');
681915
682123
  /**
681916
682124
  * Extracts signer config
681917
682125
  */
681918
- const multiProtocolSigner = await _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_9__/* .MultiProtocolSignerManager */ .l.init(strategyConfig, chains, multiProtocolProvider, { key });
682126
+ const multiProtocolSigner = await _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_7__/* .MultiProtocolSignerManager */ .l.init(strategyConfig, chains, multiProtocolProvider, { key });
681919
682127
  /**
681920
682128
  * @notice Attaches signers to MultiProvider and assigns it to argv.multiProvider
681921
682129
  */
@@ -681923,7 +682131,7 @@ async function signerMiddleware(argv) {
681923
682131
  /**
681924
682132
  * Creates AltVM signers
681925
682133
  */
681926
- argv.context.altVmSigners = await (0,_altvm_js__WEBPACK_IMPORTED_MODULE_7__/* .createAltVMSigners */ .a)(argv.context.multiProvider, chains, key, strategyConfig);
682134
+ argv.context.altVmSigners = await (0,_altvm_js__WEBPACK_IMPORTED_MODULE_5__/* .createAltVMSigners */ .a)(argv.context.multiProvider, chains, key, strategyConfig);
681927
682135
  return;
681928
682136
  }
681929
682137
  /**
@@ -681931,10 +682139,10 @@ async function signerMiddleware(argv) {
681931
682139
  * @returns context for the current command
681932
682140
  */
681933
682141
  async function getContext({ registryUris, key, requiresKey, skipConfirmation, disableProxy = false, strategyPath, authToken, }) {
681934
- const registry = (0,_hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_13__/* .getRegistry */ .G)({
682142
+ const registry = (0,_hyperlane_xyz_registry_fs__WEBPACK_IMPORTED_MODULE_11__/* .getRegistry */ .G)({
681935
682143
  registryUris,
681936
682144
  enableProxy: !disableProxy,
681937
- logger: _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .rootLogger */ .Jk,
682145
+ logger: _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .rootLogger */ .Jk,
681938
682146
  authToken,
681939
682147
  });
681940
682148
  const { keyMap, ethereumSignerAddress } = await getSignerKeyMap(key, !!skipConfirmation);
@@ -681943,13 +682151,13 @@ async function getContext({ registryUris, key, requiresKey, skipConfirmation, di
681943
682151
  // This mapping gets populated as part of signerMiddleware
681944
682152
  const altVmProviders = {};
681945
682153
  const supportedProtocols = [
681946
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Ethereum,
681947
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Tron,
681948
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.CosmosNative,
681949
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Radix,
681950
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Aleo,
681951
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Sealevel,
681952
- _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Starknet,
682154
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Ethereum,
682155
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Tron,
682156
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.CosmosNative,
682157
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Radix,
682158
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Aleo,
682159
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Sealevel,
682160
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Starknet,
681953
682161
  ];
681954
682162
  return {
681955
682163
  registry,
@@ -681971,8 +682179,8 @@ async function getContext({ registryUris, key, requiresKey, skipConfirmation, di
681971
682179
  * argument passed to the CLI or falling back to reading from env
681972
682180
  */
681973
682181
  async function getSignerKeyMap(rawKeyMap, skipConfirmation) {
681974
- const keyMap = _types_js__WEBPACK_IMPORTED_MODULE_10__/* .SignerKeyProtocolMapSchema */ .P.parse(rawKeyMap ?? {});
681975
- Object.values(_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb).forEach((protocol) => {
682182
+ const keyMap = _types_js__WEBPACK_IMPORTED_MODULE_8__/* .SignerKeyProtocolMapSchema */ .P.parse(rawKeyMap ?? {});
682183
+ Object.values(_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb).forEach((protocol) => {
681976
682184
  if (keyMap[protocol]) {
681977
682185
  return;
681978
682186
  }
@@ -681980,16 +682188,16 @@ async function getSignerKeyMap(rawKeyMap, skipConfirmation) {
681980
682188
  keyMap[protocol] = process.env[`HYP_KEY_${protocol.toUpperCase()}`];
681981
682189
  return;
681982
682190
  }
681983
- if (protocol === _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Ethereum && process.env.HYP_KEY) {
682191
+ if (protocol === _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Ethereum && process.env.HYP_KEY) {
681984
682192
  keyMap[protocol] = process.env.HYP_KEY;
681985
682193
  return;
681986
682194
  }
681987
682195
  });
681988
682196
  // Just for backward compatibility
681989
682197
  let signerAddress = undefined;
681990
- if (keyMap[_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Ethereum]) {
681991
- const { signer } = await (0,_utils_keys_js__WEBPACK_IMPORTED_MODULE_6__/* .getSigner */ .hS)({
681992
- key: keyMap[_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .ProtocolType */ .Hb.Ethereum],
682198
+ if (keyMap[_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Ethereum]) {
682199
+ const { signer } = await (0,_utils_keys_js__WEBPACK_IMPORTED_MODULE_4__/* .getSigner */ .hS)({
682200
+ key: keyMap[_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Ethereum],
681993
682201
  skipConfirmation,
681994
682202
  });
681995
682203
  signerAddress = await signer.getAddress();
@@ -682006,58 +682214,14 @@ async function getSignerKeyMap(rawKeyMap, skipConfirmation) {
682006
682214
  */
682007
682215
  async function getMultiProvider(registry, signer) {
682008
682216
  const chainMetadata = await registry.getMetadata();
682009
- const multiProvider = new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_15__/* .MultiProvider */ .b(chainMetadata);
682217
+ const multiProvider = new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__/* .MultiProvider */ .b(chainMetadata);
682010
682218
  if (signer)
682011
682219
  multiProvider.setSharedSigner(signer);
682012
682220
  return multiProvider;
682013
682221
  }
682014
682222
  async function getMultiProtocolProvider(registry) {
682015
682223
  const chainMetadata = await registry.getMetadata();
682016
- return new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__/* .MultiProtocolProvider */ .f(chainMetadata);
682017
- }
682018
- /**
682019
- * Requests and saves Block Explorer API keys for the specified chains, prompting the user if necessary.
682020
- *
682021
- * @param chains - The list of chain names to request API keys for.
682022
- * @param chainMetadata - The chain metadata, used to determine if an API key is already configured.
682023
- * @param registry - The registry used to update the chain metadata with the new API key.
682024
- * @returns A mapping of chain names to their API keys.
682025
- */
682026
- async function requestAndSaveApiKeys(chains, chainMetadata, registry) {
682027
- const apiKeys = {};
682028
- for (const chain of chains) {
682029
- const blockExplorer = chainMetadata[chain]?.blockExplorers?.[0];
682030
- if (blockExplorer?.family !== _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_17__/* .ExplorerFamily */ .id.Etherscan) {
682031
- continue;
682032
- }
682033
- if (blockExplorer?.apiKey) {
682034
- apiKeys[chain] = blockExplorer.apiKey;
682035
- continue;
682036
- }
682037
- const wantApiKey = await (0,_inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__/* .confirm */ .lJ)({
682038
- default: false,
682039
- message: `Do you want to use an API key to verify on this (${chain}) chain's block explorer`,
682040
- });
682041
- if (wantApiKey) {
682042
- apiKeys[chain] = await (0,_utils_input_js__WEBPACK_IMPORTED_MODULE_5__/* .detectAndConfirmOrPrompt */ .qj)(async () => {
682043
- const blockExplorers = chainMetadata[chain].blockExplorers;
682044
- if (!(blockExplorers && blockExplorers.length > 0))
682045
- return;
682046
- for (const blockExplorer of blockExplorers) {
682047
- /* The current apiKeys mapping only accepts one key, even if there are multiple explorer options present. */
682048
- if (blockExplorer.apiKey)
682049
- return blockExplorer.apiKey;
682050
- }
682051
- return undefined;
682052
- }, `Enter an API key for the ${chain} explorer`, `${chain} api key`, `${chain} metadata blockExplorers config`);
682053
- chainMetadata[chain].blockExplorers[0].apiKey = apiKeys[chain];
682054
- await registry.updateChain({
682055
- chainName: chain,
682056
- metadata: chainMetadata[chain],
682057
- });
682058
- }
682059
- }
682060
- return apiKeys;
682224
+ return new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__/* .MultiProtocolProvider */ .f(chainMetadata);
682061
682225
  }
682062
682226
  /**
682063
682227
  * Ensures EVM signers are attached to multiProvider for the specified chains.
@@ -682072,7 +682236,7 @@ async function requestAndSaveApiKeys(chains, chainMetadata, registry) {
682072
682236
  */
682073
682237
  async function ensureEvmSignersForChains(context, chains) {
682074
682238
  // Filter to only EVM chains
682075
- const evmChains = chains.filter((chain) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .isEVMLike */ .Us)(context.multiProvider.getProtocol(chain)));
682239
+ const evmChains = chains.filter((chain) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .isEVMLike */ .Us)(context.multiProvider.getProtocol(chain)));
682076
682240
  // Find chains that are missing signers
682077
682241
  const missingSignerChains = evmChains.filter((chain) => !context.multiProvider.tryGetSigner(chain));
682078
682242
  // If all signers already exist, nothing to do
@@ -682081,11 +682245,11 @@ async function ensureEvmSignersForChains(context, chains) {
682081
682245
  }
682082
682246
  // Load strategy config if provided
682083
682247
  const strategyConfig = context.strategyPath
682084
- ? await (0,_config_strategy_js__WEBPACK_IMPORTED_MODULE_4__/* .readChainSubmissionStrategyConfig */ .l)(context.strategyPath)
682248
+ ? await (0,_config_strategy_js__WEBPACK_IMPORTED_MODULE_3__/* .readChainSubmissionStrategyConfig */ .l)(context.strategyPath)
682085
682249
  : {};
682086
682250
  // Use MultiProtocolSignerManager to create signers properly
682087
682251
  // This handles ZkSync chains and strategy-based keys
682088
- const signerManager = await _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_9__/* .MultiProtocolSignerManager */ .l.init(strategyConfig, missingSignerChains, context.multiProtocolProvider, { key: context.key });
682252
+ const signerManager = await _strategies_signer_MultiProtocolSignerManager_js__WEBPACK_IMPORTED_MODULE_7__/* .MultiProtocolSignerManager */ .l.init(strategyConfig, missingSignerChains, context.multiProtocolProvider, { key: context.key });
682089
682253
  // Attach the created signers to multiProvider
682090
682254
  for (const chain of missingSignerChains) {
682091
682255
  const signer = signerManager.getEVMSigner(chain);
@@ -682108,23 +682272,21 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
682108
682272
  /* harmony export */ });
682109
682273
  /* unused harmony export getSubmitterChains */
682110
682274
  /* harmony import */ var _hyperlane_xyz_rebalancer__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(97772);
682111
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(74670);
682112
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(29459);
682113
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(59138);
682114
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(21387);
682115
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(16639);
682275
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(74670);
682276
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(6643);
682277
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(59138);
682278
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(21387);
682279
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(16639);
682116
682280
  /* harmony import */ var _commands_signCommands_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(29781);
682117
682281
  /* harmony import */ var _config_core_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(36789);
682118
682282
  /* harmony import */ var _config_submit_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(21106);
682119
- /* harmony import */ var _config_warp_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(10392);
682120
- /* harmony import */ var _deploy_warp_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(41687);
682121
- /* harmony import */ var _utils_chains_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(80881);
682122
- /* harmony import */ var _utils_warp_send_js__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(96192);
682123
- /* harmony import */ var _utils_warp_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(85361);
682124
- /* harmony import */ var _context_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(94986);
682125
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_hyperlane_xyz_rebalancer__WEBPACK_IMPORTED_MODULE_0__, _config_core_js__WEBPACK_IMPORTED_MODULE_2__, _config_submit_js__WEBPACK_IMPORTED_MODULE_3__, _config_warp_js__WEBPACK_IMPORTED_MODULE_4__, _deploy_warp_js__WEBPACK_IMPORTED_MODULE_5__, _utils_chains_js__WEBPACK_IMPORTED_MODULE_6__, _utils_warp_js__WEBPACK_IMPORTED_MODULE_7__, _context_js__WEBPACK_IMPORTED_MODULE_8__]);
682126
- ([_hyperlane_xyz_rebalancer__WEBPACK_IMPORTED_MODULE_0__, _config_core_js__WEBPACK_IMPORTED_MODULE_2__, _config_submit_js__WEBPACK_IMPORTED_MODULE_3__, _config_warp_js__WEBPACK_IMPORTED_MODULE_4__, _deploy_warp_js__WEBPACK_IMPORTED_MODULE_5__, _utils_chains_js__WEBPACK_IMPORTED_MODULE_6__, _utils_warp_js__WEBPACK_IMPORTED_MODULE_7__, _context_js__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
682127
-
682283
+ /* harmony import */ var _deploy_warp_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(41687);
682284
+ /* harmony import */ var _utils_chains_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(80881);
682285
+ /* harmony import */ var _utils_warp_send_js__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(96192);
682286
+ /* harmony import */ var _utils_warp_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(85361);
682287
+ /* harmony import */ var _apiKeys_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(95433);
682288
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_hyperlane_xyz_rebalancer__WEBPACK_IMPORTED_MODULE_0__, _config_core_js__WEBPACK_IMPORTED_MODULE_2__, _config_submit_js__WEBPACK_IMPORTED_MODULE_3__, _deploy_warp_js__WEBPACK_IMPORTED_MODULE_4__, _utils_chains_js__WEBPACK_IMPORTED_MODULE_5__, _utils_warp_js__WEBPACK_IMPORTED_MODULE_6__, _apiKeys_js__WEBPACK_IMPORTED_MODULE_7__]);
682289
+ ([_hyperlane_xyz_rebalancer__WEBPACK_IMPORTED_MODULE_0__, _config_core_js__WEBPACK_IMPORTED_MODULE_2__, _config_submit_js__WEBPACK_IMPORTED_MODULE_3__, _deploy_warp_js__WEBPACK_IMPORTED_MODULE_4__, _utils_chains_js__WEBPACK_IMPORTED_MODULE_5__, _utils_warp_js__WEBPACK_IMPORTED_MODULE_6__, _apiKeys_js__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
682128
682290
 
682129
682291
 
682130
682292
 
@@ -682179,14 +682341,14 @@ async function resolveChains(argv) {
682179
682341
  }
682180
682342
  }
682181
682343
  async function resolveWarpRouteConfigChains(argv) {
682182
- const { config, resolvedWarpRouteId } = await (0,_config_warp_js__WEBPACK_IMPORTED_MODULE_4__/* .getWarpRouteDeployConfig */ .Rj)({
682344
+ const { config, resolvedWarpRouteId } = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_6__/* .getWarpRouteDeployConfig */ .Rj)({
682183
682345
  context: argv.context,
682184
682346
  warpRouteId: argv.warpRouteId,
682185
682347
  });
682186
682348
  argv.context.warpDeployConfig = config;
682187
682349
  argv.context.resolvedWarpRouteId = resolvedWarpRouteId;
682188
682350
  argv.context.chains = Object.keys(config);
682189
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(argv.context.chains.length !== 0, 'No chains found in warp route deployment config');
682351
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(argv.context.chains.length !== 0, 'No chains found in warp route deployment config');
682190
682352
  return argv.context.chains;
682191
682353
  }
682192
682354
  async function resolveWarpReadChains(argv) {
@@ -682194,23 +682356,23 @@ async function resolveWarpReadChains(argv) {
682194
682356
  argv.context.chains = await resolveChain(argv);
682195
682357
  }
682196
682358
  if (argv.warpRouteId) {
682197
- const warpCoreConfig = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_7__/* .getWarpCoreConfigOrExit */ .ff)({
682359
+ const warpCoreConfig = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_6__/* .getWarpCoreConfigOrExit */ .ff)({
682198
682360
  context: argv.context,
682199
682361
  warpRouteId: argv.warpRouteId,
682200
682362
  });
682201
682363
  argv.context.warpCoreConfig = warpCoreConfig;
682202
682364
  argv.context.chains = warpCoreConfig.tokens.map((token) => token.chainName);
682203
682365
  }
682204
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(argv.context.chains && argv.context.chains.length !== 0, 'No chains found set in parameters');
682366
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(argv.context.chains && argv.context.chains.length !== 0, 'No chains found set in parameters');
682205
682367
  return argv.context.chains;
682206
682368
  }
682207
682369
  async function resolveChain(argv) {
682208
682370
  const chains = argv.chain ? [argv.chain] : [];
682209
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(chains.length !== 0, 'No chains found set in parameters');
682371
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(chains.length !== 0, 'No chains found set in parameters');
682210
682372
  return chains;
682211
682373
  }
682212
682374
  async function resolveWarpConfigChains(argv) {
682213
- const { warpCoreConfig, warpDeployConfig, resolvedWarpRouteId } = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_7__/* .getWarpConfigs */ .Yb)({
682375
+ const { warpCoreConfig, warpDeployConfig, resolvedWarpRouteId } = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_6__/* .getWarpConfigs */ .Yb)({
682214
682376
  context: argv.context,
682215
682377
  warpRouteId: argv.warpRouteId,
682216
682378
  });
@@ -682218,7 +682380,7 @@ async function resolveWarpConfigChains(argv) {
682218
682380
  argv.context.warpDeployConfig = warpDeployConfig;
682219
682381
  argv.context.resolvedWarpRouteId = resolvedWarpRouteId;
682220
682382
  argv.context.chains = Object.keys(warpDeployConfig);
682221
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(argv.context.chains.length !== 0, 'No chains found in warp route deployment config');
682383
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(argv.context.chains.length !== 0, 'No chains found in warp route deployment config');
682222
682384
  return argv.context.chains;
682223
682385
  }
682224
682386
  async function resolveWarpSendChains(argv) {
@@ -682232,20 +682394,20 @@ async function resolveWarpSendChains(argv) {
682232
682394
  }
682233
682395
  else {
682234
682396
  const filterChains = [argv.origin, argv.destination].filter(Boolean);
682235
- const warpCoreConfig = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_7__/* .getWarpCoreConfigOrExit */ .ff)({
682397
+ const warpCoreConfig = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_6__/* .getWarpCoreConfigOrExit */ .ff)({
682236
682398
  context: argv.context,
682237
682399
  warpRouteId: argv.warpRouteId,
682238
682400
  chains: filterChains.length > 0 ? filterChains : undefined,
682239
682401
  });
682240
682402
  argv.context.warpCoreConfig = warpCoreConfig;
682241
682403
  const supportedChains = warpCoreConfig.tokens.map((token) => token.chainName);
682242
- chainPath.push(...(0,_utils_warp_send_js__WEBPACK_IMPORTED_MODULE_10__/* .getOrderedWarpSendChains */ .M)(supportedChains, multiProvider));
682404
+ chainPath.push(...(0,_utils_warp_send_js__WEBPACK_IMPORTED_MODULE_9__/* .getOrderedWarpSendChains */ .M)(supportedChains, multiProvider));
682243
682405
  }
682244
682406
  // Cache warpCoreConfig on context so the handler doesn't re-fetch it.
682245
682407
  // This ensures signers and execution use the same resolved config.
682246
682408
  if (!argv.context.warpCoreConfig && argv.warpRouteId) {
682247
682409
  const filterChains = chainPath.length > 0 ? chainPath : undefined;
682248
- argv.context.warpCoreConfig = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_7__/* .getWarpCoreConfigOrExit */ .ff)({
682410
+ argv.context.warpCoreConfig = await (0,_utils_warp_js__WEBPACK_IMPORTED_MODULE_6__/* .getWarpCoreConfigOrExit */ .ff)({
682249
682411
  context: argv.context,
682250
682412
  warpRouteId: argv.warpRouteId,
682251
682413
  chains: filterChains,
@@ -682268,7 +682430,7 @@ async function resolveWarpSendChains(argv) {
682268
682430
  if (!normalizedRecipient || argv.relay) {
682269
682431
  for (let i = 1; i < chainPath.length; i += 1) {
682270
682432
  const destination = chainPath[i];
682271
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .isEVMLike */ .Us)(multiProvider.getProtocol(destination))) {
682433
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .isEVMLike */ .Us)(multiProvider.getProtocol(destination))) {
682272
682434
  signerChains.add(destination);
682273
682435
  }
682274
682436
  }
@@ -682281,7 +682443,7 @@ async function resolveWarpRebalancerChains(argv) {
682281
682443
  // Extract chain names from all strategies in the rebalancer config
682282
682444
  // This ensures we only create signers for chains we can actually rebalance
682283
682445
  const chains = (0,_hyperlane_xyz_rebalancer__WEBPACK_IMPORTED_MODULE_0__/* .getStrategyChainNames */ .zj)(rebalancerConfig.strategyConfig);
682284
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(chains.length !== 0, 'No chains configured in rebalancer config');
682446
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(chains.length !== 0, 'No chains configured in rebalancer config');
682285
682447
  return chains;
682286
682448
  }
682287
682449
  /**
@@ -682294,7 +682456,7 @@ async function resolveSendMessageChains(argv) {
682294
682456
  const { multiProvider } = argv.context;
682295
682457
  const selectedChains = [argv.origin, argv.destination].filter(Boolean);
682296
682458
  if (selectedChains.length > 0) {
682297
- const nonEvmChains = selectedChains.filter((chain) => !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .isEVMLike */ .Us)(multiProvider.getProtocol(chain)));
682459
+ const nonEvmChains = selectedChains.filter((chain) => !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .isEVMLike */ .Us)(multiProvider.getProtocol(chain)));
682298
682460
  if (nonEvmChains.length > 0) {
682299
682461
  const chainDetails = nonEvmChains
682300
682462
  .map((chain) => `'${chain}' (${multiProvider.getProtocol(chain)})`)
@@ -682330,8 +682492,8 @@ async function resolveRelayerChains(argv) {
682330
682492
  }
682331
682493
  // If no destination is specified, return all EVM chains only
682332
682494
  if (!argv.destination) {
682333
- const chains = Object.keys((0,_utils_chains_js__WEBPACK_IMPORTED_MODULE_6__/* .filterOutDisabledChains */ .zC)(chainMetadata));
682334
- return chains.filter((chain) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .isEVMLike */ .Us)(multiProvider.getProtocol(chain)));
682495
+ const chains = Object.keys((0,_utils_chains_js__WEBPACK_IMPORTED_MODULE_5__/* .filterOutDisabledChains */ .zC)(chainMetadata));
682496
+ return chains.filter((chain) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .isEVMLike */ .Us)(multiProvider.getProtocol(chain)));
682335
682497
  }
682336
682498
  chains.add(argv.destination);
682337
682499
  return Array.from(chains);
@@ -682343,12 +682505,12 @@ async function resolveCoreApplyChains(argv) {
682343
682505
  return [argv.chain];
682344
682506
  }
682345
682507
  const addresses = await argv.context.registry.getChainAddresses(argv.chain);
682346
- const coreAddresses = _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__/* .DeployedCoreAddressesSchema */ .Vd.parse(addresses);
682508
+ const coreAddresses = _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__/* .DeployedCoreAddressesSchema */ .Vd.parse(addresses);
682347
682509
  const protocolType = argv.context.multiProvider.getProtocol(argv.chain);
682348
682510
  switch (protocolType) {
682349
- case _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .ProtocolType */ .Hb.Tron:
682350
- case _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .ProtocolType */ .Hb.Ethereum: {
682351
- const evmCoreModule = new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__/* .EvmCoreModule */ .a(argv.context.multiProvider, {
682511
+ case _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Tron:
682512
+ case _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Ethereum: {
682513
+ const evmCoreModule = new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__/* .EvmCoreModule */ .a(argv.context.multiProvider, {
682352
682514
  chain: argv.chain,
682353
682515
  config,
682354
682516
  addresses: coreAddresses,
@@ -682377,10 +682539,10 @@ async function resolveCoreDeployChains(argv) {
682377
682539
  else {
682378
682540
  if (skipConfirmation)
682379
682541
  throw new Error('No chain provided');
682380
- chain = await (0,_utils_chains_js__WEBPACK_IMPORTED_MODULE_6__/* .runSingleChainSelectionStep */ .jZ)(chainMetadata, 'Select chain to connect:');
682542
+ chain = await (0,_utils_chains_js__WEBPACK_IMPORTED_MODULE_5__/* .runSingleChainSelectionStep */ .jZ)(chainMetadata, 'Select chain to connect:');
682381
682543
  }
682382
682544
  if (!skipConfirmation) {
682383
- argv.context.apiKeys = await (0,_context_js__WEBPACK_IMPORTED_MODULE_8__/* .requestAndSaveApiKeys */ .SH)([chain], chainMetadata, registry);
682545
+ argv.context.apiKeys = await (0,_apiKeys_js__WEBPACK_IMPORTED_MODULE_7__/* .requestAndSaveApiKeys */ .S)([chain], chainMetadata, registry);
682384
682546
  }
682385
682547
  argv.chain = chain;
682386
682548
  return [chain];
@@ -682397,19 +682559,19 @@ async function resolveIcaDeployChains(argv) {
682397
682559
  chains.add(argv.origin);
682398
682560
  if (argv.chains?.length)
682399
682561
  argv.chains.forEach((c) => chains.add(c));
682400
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(chains.size > 0, 'No chains provided for ICA deploy');
682562
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(chains.size > 0, 'No chains provided for ICA deploy');
682401
682563
  return Array.from(chains);
682402
682564
  }
682403
682565
  async function resolveSubmitChains(argv) {
682404
682566
  try {
682405
682567
  const { multiProvider } = argv.context;
682406
682568
  const transactionFilePath = argv.transactions;
682407
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(transactionFilePath, 'Expected transactions file path to be provided for submit command');
682569
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(transactionFilePath, 'Expected transactions file path to be provided for submit command');
682408
682570
  const transactions = (0,_config_submit_js__WEBPACK_IMPORTED_MODULE_3__/* .getTransactions */ .I)(transactionFilePath);
682409
682571
  const chainIds = new Set(transactions.map((tx) => tx.chainId));
682410
682572
  const chains = new Set(Array.from(chainIds).map((chainId) => multiProvider.getChainName(chainId)));
682411
682573
  if (argv.strategy) {
682412
- const strategy = (0,_deploy_warp_js__WEBPACK_IMPORTED_MODULE_5__/* .readChainSubmissionStrategy */ .tD)(argv.strategy);
682574
+ const strategy = (0,_deploy_warp_js__WEBPACK_IMPORTED_MODULE_4__/* .readChainSubmissionStrategy */ .tD)(argv.strategy);
682413
682575
  for (const [destChain, config] of Object.entries(strategy)) {
682414
682576
  chains.add(destChain);
682415
682577
  for (const c of getSubmitterChains(config.submitter)) {
@@ -682417,7 +682579,7 @@ async function resolveSubmitChains(argv) {
682417
682579
  }
682418
682580
  }
682419
682581
  }
682420
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__/* .assert */ .v)(chains.size > 0, 'No transactions found in file');
682582
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .assert */ .v)(chains.size > 0, 'No transactions found in file');
682421
682583
  return Array.from(chains);
682422
682584
  }
682423
682585
  catch (error) {
@@ -682429,13 +682591,13 @@ async function resolveSubmitChains(argv) {
682429
682591
  // Recursively extracts all chain names referenced by a submitter (e.g. ICA origin, destination, nested submitters).
682430
682592
  function getSubmitterChains(submitter) {
682431
682593
  const chains = submitter.chain ? [submitter.chain] : [];
682432
- if (submitter.type === _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__/* .TxSubmitterType */ .u.INTERCHAIN_ACCOUNT) {
682594
+ if (submitter.type === _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__/* .TxSubmitterType */ .u.INTERCHAIN_ACCOUNT) {
682433
682595
  if (submitter.destinationChain)
682434
682596
  chains.push(submitter.destinationChain);
682435
682597
  if (submitter.internalSubmitter)
682436
682598
  chains.push(...getSubmitterChains(submitter.internalSubmitter));
682437
682599
  }
682438
- else if (submitter.type === _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__/* .TxSubmitterType */ .u.TIMELOCK_CONTROLLER) {
682600
+ else if (submitter.type === _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_13__/* .TxSubmitterType */ .u.TIMELOCK_CONTROLLER) {
682439
682601
  if (submitter.proposerSubmitter)
682440
682602
  chains.push(...getSubmitterChains(submitter.proposerSubmitter));
682441
682603
  }
@@ -682731,7 +682893,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
682731
682893
  /* harmony export */ d: () => (/* binding */ validateCoreConfigForAltVM),
682732
682894
  /* harmony export */ u: () => (/* reexport safe */ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_1__.u_)
682733
682895
  /* harmony export */ });
682734
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(66423);
682896
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(56854);
682735
682897
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(38231);
682736
682898
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_1__]);
682737
682899
  _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
@@ -682782,11 +682944,11 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
682782
682944
  /* harmony export */ });
682783
682945
  /* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(10684);
682784
682946
  /* harmony import */ var _hyperlane_xyz_core_buildArtifact_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(74119);
682785
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(66423);
682786
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(71280);
682947
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(56854);
682948
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(92201);
682787
682949
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(76939);
682788
682950
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(26492);
682789
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(29459);
682951
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(6643);
682790
682952
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(22887);
682791
682953
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(73938);
682792
682954
  /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(54321);
@@ -683082,7 +683244,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
683082
683244
  /* harmony import */ var _inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(98720);
683083
683245
  /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(61934);
683084
683246
  /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(16928);
683085
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(71280);
683247
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(92201);
683086
683248
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(37748);
683087
683249
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(16639);
683088
683250
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(73938);
@@ -683285,16 +683447,16 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
683285
683447
  /* harmony import */ var _inquirer_prompts__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(98720);
683286
683448
  /* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(10684);
683287
683449
  /* harmony import */ var _hyperlane_xyz_core_buildArtifact_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(74119);
683288
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(66423);
683450
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(56854);
683289
683451
  /* harmony import */ var _hyperlane_xyz_deploy_sdk_AltVMFileSubmitter__WEBPACK_IMPORTED_MODULE_36__ = __nccwpck_require__(49988);
683290
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(71280);
683452
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(92201);
683291
683453
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(4287);
683292
683454
  /* harmony import */ var _hyperlane_xyz_provider_sdk_warp__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(17791);
683293
683455
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_17__ = __nccwpck_require__(38231);
683294
683456
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_20__ = __nccwpck_require__(19186);
683295
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__ = __nccwpck_require__(38466);
683296
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_22__ = __nccwpck_require__(4879);
683297
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_23__ = __nccwpck_require__(29842);
683457
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__ = __nccwpck_require__(4879);
683458
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_22__ = __nccwpck_require__(29842);
683459
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_23__ = __nccwpck_require__(38466);
683298
683460
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_24__ = __nccwpck_require__(95778);
683299
683461
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_25__ = __nccwpck_require__(63776);
683300
683462
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_26__ = __nccwpck_require__(93035);
@@ -683313,7 +683475,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
683313
683475
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_29__ = __nccwpck_require__(21387);
683314
683476
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_34__ = __nccwpck_require__(94523);
683315
683477
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_39__ = __nccwpck_require__(93142);
683316
- /* harmony import */ var _context_context_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(94986);
683478
+ /* harmony import */ var _context_apiKeys_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(95433);
683317
683479
  /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_16__ = __nccwpck_require__(54321);
683318
683480
  /* harmony import */ var _send_transfer_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(67793);
683319
683481
  /* harmony import */ var _submitters_EV5FileSubmitter_js__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(10155);
@@ -683322,8 +683484,8 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
683322
683484
  /* harmony import */ var _utils_relay_js__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(92941);
683323
683485
  /* harmony import */ var _configValidation_js__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(34804);
683324
683486
  /* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_14__ = __nccwpck_require__(62356);
683325
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_context_context_js__WEBPACK_IMPORTED_MODULE_7__, _send_transfer_js__WEBPACK_IMPORTED_MODULE_8__, _submitters_EV5FileSubmitter_js__WEBPACK_IMPORTED_MODULE_9__, _submitters_types_js__WEBPACK_IMPORTED_MODULE_10__, _utils_relay_js__WEBPACK_IMPORTED_MODULE_12__, _configValidation_js__WEBPACK_IMPORTED_MODULE_13__, _utils_js__WEBPACK_IMPORTED_MODULE_14__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_17__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_30__]);
683326
- ([_context_context_js__WEBPACK_IMPORTED_MODULE_7__, _send_transfer_js__WEBPACK_IMPORTED_MODULE_8__, _submitters_EV5FileSubmitter_js__WEBPACK_IMPORTED_MODULE_9__, _submitters_types_js__WEBPACK_IMPORTED_MODULE_10__, _utils_relay_js__WEBPACK_IMPORTED_MODULE_12__, _configValidation_js__WEBPACK_IMPORTED_MODULE_13__, _utils_js__WEBPACK_IMPORTED_MODULE_14__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_17__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_30__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
683487
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_7__, _send_transfer_js__WEBPACK_IMPORTED_MODULE_8__, _submitters_EV5FileSubmitter_js__WEBPACK_IMPORTED_MODULE_9__, _submitters_types_js__WEBPACK_IMPORTED_MODULE_10__, _utils_relay_js__WEBPACK_IMPORTED_MODULE_12__, _configValidation_js__WEBPACK_IMPORTED_MODULE_13__, _utils_js__WEBPACK_IMPORTED_MODULE_14__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_17__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_30__]);
683488
+ ([_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_7__, _send_transfer_js__WEBPACK_IMPORTED_MODULE_8__, _submitters_EV5FileSubmitter_js__WEBPACK_IMPORTED_MODULE_9__, _submitters_types_js__WEBPACK_IMPORTED_MODULE_10__, _utils_relay_js__WEBPACK_IMPORTED_MODULE_12__, _configValidation_js__WEBPACK_IMPORTED_MODULE_13__, _utils_js__WEBPACK_IMPORTED_MODULE_14__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_17__, _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_30__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
683327
683489
 
683328
683490
 
683329
683491
 
@@ -683350,7 +683512,7 @@ async function runWarpRouteDeploy({ context, warpDeployConfig, warpRouteId, }) {
683350
683512
  const chains = Object.keys(warpDeployConfig);
683351
683513
  let apiKeys = {};
683352
683514
  if (!skipConfirmation)
683353
- apiKeys = await (0,_context_context_js__WEBPACK_IMPORTED_MODULE_7__/* .requestAndSaveApiKeys */ .SH)(chains, chainMetadata, registry);
683515
+ apiKeys = await (0,_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_7__/* .requestAndSaveApiKeys */ .S)(chains, chainMetadata, registry);
683354
683516
  const deploymentParams = {
683355
683517
  context,
683356
683518
  warpDeployConfig,
@@ -683467,10 +683629,8 @@ async function getWarpCoreConfig(params, contracts) {
683467
683629
  function generateTokenConfigs(multiProvider, warpCoreConfig, warpDeployConfig, contracts, tokenMetadataMap) {
683468
683630
  for (const chainName of Object.keys(contracts)) {
683469
683631
  const config = warpDeployConfig[chainName];
683470
- const collateralAddressOrDenom = (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .isCollateralTokenConfig */ .Pc)(config) ||
683471
- (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .isXERC20TokenConfig */ .Kh)(config) ||
683472
- (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .isCrossCollateralTokenConfig */ .v3)(config)
683473
- ? config.token // gets set in the above deriveTokenMetadata()
683632
+ const collateralAddressOrDenom = 'token' in config && typeof config.token === 'string'
683633
+ ? config.token
683474
683634
  : undefined;
683475
683635
  const protocol = multiProvider.getProtocol(chainName);
683476
683636
  if (protocol === _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_4__/* .ProtocolType */ .Hb.Unknown) {
@@ -683478,7 +683638,7 @@ function generateTokenConfigs(multiProvider, warpCoreConfig, warpDeployConfig, c
683478
683638
  }
683479
683639
  warpCoreConfig.tokens.push({
683480
683640
  chainName,
683481
- standard: (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_22__/* .tokenTypeToStandard */ ._T)(protocol, config.type),
683641
+ standard: (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .tokenTypeToStandard */ ._T)(protocol, config.type),
683482
683642
  decimals: tokenMetadataMap.getDecimals(chainName),
683483
683643
  symbol: config.symbol || tokenMetadataMap.getSymbol(chainName),
683484
683644
  name: tokenMetadataMap.getName(chainName),
@@ -683501,7 +683661,7 @@ function fullyConnectTokens(warpCoreConfig, multiProvider) {
683501
683661
  continue;
683502
683662
  token1.connections ||= [];
683503
683663
  token1.connections.push({
683504
- token: (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_23__/* .getTokenConnectionId */ .tG)(multiProvider.getProtocol(token2.chainName), token2.chainName, token2.addressOrDenom),
683664
+ token: (0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_22__/* .getTokenConnectionId */ .tG)(multiProvider.getProtocol(token2.chainName), token2.chainName, token2.addressOrDenom),
683505
683665
  });
683506
683666
  }
683507
683667
  }
@@ -683509,12 +683669,12 @@ function fullyConnectTokens(warpCoreConfig, multiProvider) {
683509
683669
  async function runWarpRouteApply(params) {
683510
683670
  const { warpDeployConfig, warpCoreConfig, context } = params;
683511
683671
  const { chainMetadata, skipConfirmation, multiProvider } = context;
683512
- _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .WarpRouteDeployConfigSchema */ .Wl.parse(warpDeployConfig);
683672
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_23__/* .WarpRouteDeployConfigSchema */ .Wl.parse(warpDeployConfig);
683513
683673
  _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_24__/* .WarpCoreConfigSchema */ .$.parse(warpCoreConfig);
683514
683674
  const chains = Object.keys(warpDeployConfig);
683515
683675
  let apiKeys = {};
683516
683676
  if (!skipConfirmation)
683517
- apiKeys = await (0,_context_context_js__WEBPACK_IMPORTED_MODULE_7__/* .requestAndSaveApiKeys */ .SH)(chains, chainMetadata, context.registry);
683677
+ apiKeys = await (0,_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_7__/* .requestAndSaveApiKeys */ .S)(chains, chainMetadata, context.registry);
683518
683678
  // temporarily configure deployer as owner so that warp update after extension
683519
683679
  // can leverage JSON RPC submitter on new chains
683520
683680
  const intermediateOwnerConfig = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_19__/* .promiseObjAll */ .a1)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_19__/* .objMap */ .Yp)(params.warpDeployConfig, async (chain, config) => {
@@ -684041,10 +684201,10 @@ function getCanonicalWholeTokenRatio(token) {
684041
684201
  function assertCombineRoutesAreValid(routes) {
684042
684202
  for (const route of routes) {
684043
684203
  const invalidDeployChains = Object.entries(route.deployConfig)
684044
- .filter(([, chainConfig]) => !(0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .isCrossCollateralTokenConfig */ .v3)(chainConfig))
684204
+ .filter(([, chainConfig]) => !(0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_23__/* .isCrossCollateralTokenConfig */ .v3)(chainConfig))
684045
684205
  .map(([chain]) => chain);
684046
684206
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_29__/* .assert */ .v)(invalidDeployChains.length === 0, `Route "${route.id}" contains non-CrossCollateralRouter deploy configs for chain(s): ${invalidDeployChains.join(', ')}`);
684047
- const invalidCoreTokens = route.coreConfig.tokens.filter((token) => !_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_22__/* .TOKEN_CROSS_COLLATERAL_STANDARDS */ .kK.has(token.standard));
684207
+ const invalidCoreTokens = route.coreConfig.tokens.filter((token) => !_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .TOKEN_CROSS_COLLATERAL_STANDARDS */ .kK.has(token.standard));
684048
684208
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_29__/* .assert */ .v)(invalidCoreTokens.length === 0, `Route "${route.id}" contains non-CrossCollateralRouter warp config token(s): ${invalidCoreTokens
684049
684209
  .map((token) => `${token.chainName}:${token.addressOrDenom}`)
684050
684210
  .join(', ')}`);
@@ -684084,7 +684244,7 @@ async function runWarpRouteCombine({ context, routeIds, outputWarpRouteId, }) {
684084
684244
  const coreConfig = await context.registry.getWarpRoute(id);
684085
684245
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_29__/* .assert */ .v)(coreConfig, `Warp route "${id}" not found in registry`);
684086
684246
  const deployConfigRaw = await context.registry.getWarpDeployConfig(id);
684087
- const deployConfig = _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .WarpRouteDeployConfigSchema */ .Wl.parse(deployConfigRaw);
684247
+ const deployConfig = _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_23__/* .WarpRouteDeployConfigSchema */ .Wl.parse(deployConfigRaw);
684088
684248
  routes.push({
684089
684249
  id,
684090
684250
  coreConfig,
@@ -684095,7 +684255,7 @@ async function runWarpRouteCombine({ context, routeIds, outputWarpRouteId, }) {
684095
684255
  // 2. For each route, update crossCollateralRouters with routers from other routes
684096
684256
  for (const route of routes) {
684097
684257
  for (const [chain, chainConfig] of Object.entries(route.deployConfig)) {
684098
- if (!(0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_21__/* .isCrossCollateralTokenConfig */ .v3)(chainConfig))
684258
+ if (!(0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_23__/* .isCrossCollateralTokenConfig */ .v3)(chainConfig))
684099
684259
  continue;
684100
684260
  const crossCollateralRouters = {};
684101
684261
  // Look at all OTHER routes
@@ -684624,7 +684784,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
684624
684784
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
684625
684785
  /* harmony export */ C: () => (/* binding */ readHookConfig)
684626
684786
  /* harmony export */ });
684627
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(66423);
684787
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(56854);
684628
684788
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(69319);
684629
684789
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(16639);
684630
684790
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(73938);
@@ -684689,9 +684849,9 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
684689
684849
  /* harmony export */ E: () => (/* binding */ runIsmDeploy)
684690
684850
  /* harmony export */ });
684691
684851
  /* harmony import */ var _hyperlane_xyz_core_buildArtifact_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(74119);
684692
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(66423);
684852
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(56854);
684693
684853
  /* harmony import */ var _hyperlane_xyz_provider_sdk_ism__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(96426);
684694
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(71280);
684854
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(92201);
684695
684855
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(69352);
684696
684856
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(37748);
684697
684857
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(76939);
@@ -684702,12 +684862,12 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
684702
684862
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(21387);
684703
684863
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(16639);
684704
684864
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_16__ = __nccwpck_require__(73938);
684705
- /* harmony import */ var _context_context_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(94986);
684865
+ /* harmony import */ var _context_apiKeys_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(95433);
684706
684866
  /* harmony import */ var _deploy_utils_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(62356);
684707
684867
  /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(54321);
684708
684868
  /* harmony import */ var _utils_files_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(17468);
684709
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_context_context_js__WEBPACK_IMPORTED_MODULE_4__, _deploy_utils_js__WEBPACK_IMPORTED_MODULE_5__]);
684710
- ([_context_context_js__WEBPACK_IMPORTED_MODULE_4__, _deploy_utils_js__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
684869
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_4__, _deploy_utils_js__WEBPACK_IMPORTED_MODULE_5__]);
684870
+ ([_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_4__, _deploy_utils_js__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
684711
684871
 
684712
684872
 
684713
684873
 
@@ -684747,7 +684907,7 @@ async function runIsmDeploy({ context, chain, configPath, outPath, }) {
684747
684907
  // Request API keys for contract verification (unless skipping confirmation)
684748
684908
  let apiKeys = {};
684749
684909
  if (!skipConfirmation) {
684750
- apiKeys = await (0,_context_context_js__WEBPACK_IMPORTED_MODULE_4__/* .requestAndSaveApiKeys */ .SH)([chain], chainMetadata, registry);
684910
+ apiKeys = await (0,_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_4__/* .requestAndSaveApiKeys */ .S)([chain], chainMetadata, registry);
684751
684911
  }
684752
684912
  // Run preflight checks
684753
684913
  await (0,_deploy_utils_js__WEBPACK_IMPORTED_MODULE_5__/* .runPreflightChecksForChains */ .DF)({
@@ -684833,7 +684993,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
684833
684993
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
684834
684994
  /* harmony export */ Y: () => (/* binding */ readIsmConfig)
684835
684995
  /* harmony export */ });
684836
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(66423);
684996
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(56854);
684837
684997
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(60715);
684838
684998
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(22887);
684839
684999
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(16639);
@@ -684953,7 +685113,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
684953
685113
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
684954
685114
  /* harmony export */ R: () => (/* binding */ executeCoreRead)
684955
685115
  /* harmony export */ });
684956
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(66423);
685116
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(56854);
684957
685117
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(80031);
684958
685118
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(22887);
684959
685119
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(21387);
@@ -685019,8 +685179,8 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
685019
685179
  /* unused harmony exports getWarpRouteConfigsByCore, logXERC20Limits */
685020
685180
  /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(61934);
685021
685181
  /* harmony import */ var _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(50653);
685022
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(66423);
685023
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(71280);
685182
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(56854);
685183
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(92201);
685024
685184
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(40945);
685025
685185
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(22887);
685026
685186
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(4879);
@@ -685146,7 +685306,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
685146
685306
  /* harmony export */ y: () => (/* binding */ sendTestMessage)
685147
685307
  /* harmony export */ });
685148
685308
  /* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(10684);
685149
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(71280);
685309
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(92201);
685150
685310
  /* harmony import */ var _hyperlane_xyz_relayer__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(37351);
685151
685311
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(71598);
685152
685312
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(16639);
@@ -685275,7 +685435,7 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
685275
685435
  /* harmony import */ var node_crypto__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(77598);
685276
685436
  /* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(10684);
685277
685437
  /* harmony import */ var _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(50653);
685278
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(71280);
685438
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(92201);
685279
685439
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(25047);
685280
685440
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(41339);
685281
685441
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_16__ = __nccwpck_require__(32772);
@@ -686159,7 +686319,7 @@ __webpack_async_result__();
686159
686319
  /* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(62033);
686160
686320
  /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(61934);
686161
686321
  /* harmony import */ var ethers_lib_utils_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(68831);
686162
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(71280);
686322
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(92201);
686163
686323
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(21387);
686164
686324
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(73938);
686165
686325
  /* harmony import */ var _config_prompts_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(979);
@@ -693373,11 +693533,12 @@ function getOrderedWarpSendChains(chains, multiProvider) {
693373
693533
 
693374
693534
  __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
693375
693535
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
693376
- /* harmony export */ NV: () => (/* binding */ resolveWarpRouteId),
693536
+ /* harmony export */ Rj: () => (/* binding */ getWarpRouteDeployConfig),
693377
693537
  /* harmony export */ Yb: () => (/* binding */ getWarpConfigs),
693378
693538
  /* harmony export */ ff: () => (/* binding */ getWarpCoreConfigOrExit),
693379
693539
  /* harmony export */ mg: () => (/* binding */ filterWarpConfigsToMatchingChains)
693380
693540
  /* harmony export */ });
693541
+ /* unused harmony export resolveWarpRouteId */
693381
693542
  /* harmony import */ var _inquirer_search__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(89458);
693382
693543
  /* harmony import */ var _hyperlane_xyz_registry__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(5692);
693383
693544
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(63776);
@@ -693471,11 +693632,11 @@ async function resolveWarpRouteId(args) {
693471
693632
  throw new Error(`Multiple warp routes found for symbol "${symbol}". ` +
693472
693633
  `Specify full route ID:\n${matchingIds.map((id) => ` - ${id}`).join('\n')}`);
693473
693634
  }
693474
- return (await (0,_inquirer_search__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)({
693635
+ return (0,_inquirer_search__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)({
693475
693636
  message: `Multiple routes found for "${symbol}". Select one:`,
693476
693637
  source: (term) => matchingIds.filter((id) => id.toLowerCase().includes(term?.toLowerCase() || '')),
693477
693638
  pageSize: 20,
693478
- }));
693639
+ });
693479
693640
  }
693480
693641
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .v)(!context.skipConfirmation, 'Warp route ID is required (use --warp-route-id)');
693481
693642
  let routeIds;
@@ -693493,11 +693654,11 @@ async function resolveWarpRouteId(args) {
693493
693654
  if (routeIds.length === 1) {
693494
693655
  return routeIds[0];
693495
693656
  }
693496
- return (await (0,_inquirer_search__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)({
693657
+ return (0,_inquirer_search__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)({
693497
693658
  message: 'Select a warp route:',
693498
693659
  source: (term) => routeIds.filter((id) => id.toLowerCase().includes(term?.toLowerCase() || '')),
693499
693660
  pageSize: 20,
693500
- }));
693661
+ });
693501
693662
  }
693502
693663
  async function getWarpConfigs({ context, warpRouteId, chains, }) {
693503
693664
  const resolvedWarpRouteId = await resolveWarpRouteId({
@@ -693515,6 +693676,18 @@ async function getWarpConfigs({ context, warpRouteId, chains, }) {
693515
693676
  });
693516
693677
  return { warpDeployConfig, warpCoreConfig, resolvedWarpRouteId };
693517
693678
  }
693679
+ async function getWarpRouteDeployConfig({ context, warpRouteId, }) {
693680
+ const resolvedWarpRouteId = await resolveWarpRouteId({
693681
+ warpRouteId,
693682
+ context,
693683
+ promptByDeploymentConfigs: true,
693684
+ });
693685
+ const config = await (0,_config_warp_js__WEBPACK_IMPORTED_MODULE_1__/* .readWarpRouteDeployConfig */ .Pr)({
693686
+ context,
693687
+ warpRouteId: resolvedWarpRouteId,
693688
+ });
693689
+ return { config, resolvedWarpRouteId };
693690
+ }
693518
693691
  function filterWarpConfigsToMatchingChains(warpDeployConfig, warpCoreConfig) {
693519
693692
  const deployConfigChains = Object.keys(warpDeployConfig);
693520
693693
  const coreConfigChains = warpCoreConfig.tokens.map((t) => t.chainName);
@@ -693844,10 +694017,10 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
693844
694017
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(4169);
693845
694018
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(21387);
693846
694019
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(73938);
693847
- /* harmony import */ var _context_context_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(94986);
694020
+ /* harmony import */ var _context_apiKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(95433);
693848
694021
  /* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(54321);
693849
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_context_context_js__WEBPACK_IMPORTED_MODULE_1__]);
693850
- _context_context_js__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
694022
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_1__]);
694023
+ _context_apiKeys_js__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
693851
694024
 
693852
694025
 
693853
694026
 
@@ -693860,7 +694033,7 @@ async function runVerifyWarpRoute({ context, warpCoreConfig, }) {
693860
694033
  const verificationInputs = {};
693861
694034
  let apiKeys = {};
693862
694035
  if (!skipConfirmation)
693863
- apiKeys = await (0,_context_context_js__WEBPACK_IMPORTED_MODULE_1__/* .requestAndSaveApiKeys */ .SH)(warpCoreConfig.tokens.map((t) => t.chainName), chainMetadata, registry);
694036
+ apiKeys = await (0,_context_apiKeys_js__WEBPACK_IMPORTED_MODULE_1__/* .requestAndSaveApiKeys */ .S)(warpCoreConfig.tokens.map((t) => t.chainName), chainMetadata, registry);
693864
694037
  for (const token of warpCoreConfig.tokens) {
693865
694038
  const { chainName } = token;
693866
694039
  verificationInputs[chainName] = [];
@@ -693924,7 +694097,7 @@ __webpack_async_result__();
693924
694097
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
693925
694098
  /* harmony export */ x: () => (/* binding */ VERSION)
693926
694099
  /* harmony export */ });
693927
- const VERSION = '33.0.1';
694100
+ const VERSION = '33.1.0';
693928
694101
  //# sourceMappingURL=version.js.map
693929
694102
 
693930
694103
  /***/ }),
@@ -694001,6 +694174,9 @@ class CosmosNativeProtocolProvider {
694001
694174
  // Cosmos does not support validator announce
694002
694175
  return null;
694003
694176
  }
694177
+ createFeeArtifactManager(_chainMetadata) {
694178
+ return null;
694179
+ }
694004
694180
  getMinGas() {
694005
694181
  return {
694006
694182
  CORE_DEPLOY_GAS: BigInt(1e6),
@@ -694357,7 +694533,7 @@ class CosmosNativeSigner extends provider/* CosmosNativeProvider */.z {
694357
694533
  /* harmony export */ });
694358
694534
  /* harmony import */ var _cosmjs_stargate__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(69403);
694359
694535
  /* harmony import */ var _cosmjs_tendermint_rpc__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(83071);
694360
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(71280);
694536
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(92201);
694361
694537
  /* harmony import */ var _hyperlane_xyz_provider_sdk_hook__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(77230);
694362
694538
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(14918);
694363
694539
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(21387);
@@ -694515,7 +694691,7 @@ class CosmosHookArtifactManager {
694515
694691
  /* harmony export */ Og: () => (/* binding */ getIgpHookConfig),
694516
694692
  /* harmony export */ cz: () => (/* binding */ getHookType)
694517
694693
  /* harmony export */ });
694518
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
694694
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
694519
694695
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(21387);
694520
694696
 
694521
694697
 
@@ -694711,7 +694887,7 @@ function getSetIgpDestinationGasConfigTx(fromAddress, config) {
694711
694887
  /* harmony export */ B: () => (/* binding */ CosmosIgpHookReader),
694712
694888
  /* harmony export */ H: () => (/* binding */ CosmosIgpHookWriter)
694713
694889
  /* harmony export */ });
694714
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
694890
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
694715
694891
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(4287);
694716
694892
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(93142);
694717
694893
  /* harmony import */ var _utils_base_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(52371);
@@ -694877,7 +695053,7 @@ class CosmosIgpHookWriter extends CosmosIgpHookReader {
694877
695053
  /* harmony export */ R: () => (/* binding */ CosmosMerkleTreeHookReader),
694878
695054
  /* harmony export */ V: () => (/* binding */ CosmosMerkleTreeHookWriter)
694879
695055
  /* harmony export */ });
694880
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
695056
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
694881
695057
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(4287);
694882
695058
  /* harmony import */ var _utils_base_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(52371);
694883
695059
  /* harmony import */ var _hook_query_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(74484);
@@ -695103,7 +695279,7 @@ function setupWarpExtension(base) {
695103
695279
  /* harmony export */ });
695104
695280
  /* harmony import */ var _cosmjs_stargate__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(69403);
695105
695281
  /* harmony import */ var _cosmjs_tendermint_rpc__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(83071);
695106
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(71280);
695282
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(92201);
695107
695283
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(14918);
695108
695284
  /* harmony import */ var _hyperlane_interchain_security_query_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(43584);
695109
695285
  /* harmony import */ var _ism_query_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(37044);
@@ -695267,7 +695443,7 @@ class CosmosIsmArtifactManager {
695267
695443
  /* harmony export */ gi: () => (/* binding */ getIsmType),
695268
695444
  /* harmony export */ oC: () => (/* binding */ getMessageIdMultisigIsmConfig)
695269
695445
  /* harmony export */ });
695270
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
695446
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
695271
695447
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(21387);
695272
695448
  /* harmony import */ var _hyperlane_interchain_security_query_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(43584);
695273
695449
 
@@ -696697,7 +696873,7 @@ function getNewContractAddress(receipt) {
696697
696873
  /* harmony export */ A: () => (/* binding */ CosmosCollateralTokenWriter),
696698
696874
  /* harmony export */ Y: () => (/* binding */ CosmosCollateralTokenReader)
696699
696875
  /* harmony export */ });
696700
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
696876
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
696701
696877
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(4287);
696702
696878
  /* harmony import */ var _hyperlane_xyz_provider_sdk_warp__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(17791);
696703
696879
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(93142);
@@ -696833,7 +697009,7 @@ class CosmosCollateralTokenWriter extends CosmosCollateralTokenReader {
696833
697009
  /* harmony export */ O: () => (/* binding */ CosmosSyntheticTokenWriter),
696834
697010
  /* harmony export */ Q: () => (/* binding */ CosmosSyntheticTokenReader)
696835
697011
  /* harmony export */ });
696836
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
697012
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
696837
697013
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(4287);
696838
697014
  /* harmony import */ var _hyperlane_xyz_provider_sdk_warp__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(17791);
696839
697015
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(93142);
@@ -696949,7 +697125,7 @@ class CosmosSyntheticTokenWriter extends CosmosSyntheticTokenReader {
696949
697125
  /* harmony export */ });
696950
697126
  /* harmony import */ var _cosmjs_stargate__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(69403);
696951
697127
  /* harmony import */ var _cosmjs_tendermint_rpc__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(83071);
696952
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(71280);
697128
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(92201);
696953
697129
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(14918);
696954
697130
  /* harmony import */ var _hyperlane_warp_query_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(15220);
696955
697131
  /* harmony import */ var _collateral_token_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(85596);
@@ -697068,7 +697244,7 @@ class CosmosWarpArtifactManager {
697068
697244
  /* harmony export */ nu: () => (/* binding */ getSyntheticWarpTokenConfig)
697069
697245
  /* harmony export */ });
697070
697246
  /* harmony import */ var _hyperlane_xyz_cosmos_types__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(44450);
697071
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(71280);
697247
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(92201);
697072
697248
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(21387);
697073
697249
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(94523);
697074
697250
 
@@ -712049,7 +712225,7 @@ class AltVMFileSubmitter {
712049
712225
 
712050
712226
  /***/ }),
712051
712227
 
712052
- /***/ 66423:
712228
+ /***/ 56854:
712053
712229
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
712054
712230
 
712055
712231
 
@@ -712068,7 +712244,7 @@ __nccwpck_require__.d(__webpack_exports__, {
712068
712244
  mM: () => (/* reexport */ validateIsmConfig)
712069
712245
  });
712070
712246
 
712071
- // UNUSED EXPORTS: CoreArtifactReader, CoreWriter, HookWriter, IsmWriter, UnsupportedIsmTypeError, WarpTokenReader, WarpTokenWriter, validateIsmType
712247
+ // UNUSED EXPORTS: CoreArtifactReader, CoreWriter, FeeReader, FeeWriter, HookWriter, IsmWriter, UnsupportedIsmTypeError, WarpTokenReader, WarpTokenWriter, createFeeReader, createFeeWriter, validateIsmType
712072
712248
 
712073
712249
  // EXTERNAL MODULE: ../utils/dist/logging.js
712074
712250
  var logging = __nccwpck_require__(94523);
@@ -712113,8 +712289,90 @@ class AltVMJsonRpcSubmitter {
712113
712289
  }
712114
712290
  }
712115
712291
  //# sourceMappingURL=AltVMJsonRpcSubmitter.js.map
712116
- // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 3 modules
712117
- var dist = __nccwpck_require__(71280);
712292
+ // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 4 modules
712293
+ var dist = __nccwpck_require__(92201);
712294
+ ;// CONCATENATED MODULE: ../deploy-sdk/dist/fee/fee-reader.js
712295
+
712296
+ /**
712297
+ * Factory function to create a FeeReader instance.
712298
+ * Returns null if the protocol does not support fee programs.
712299
+ *
712300
+ * @param chainMetadata Chain metadata for the target chain
712301
+ * @param context Required fee read context with domains and routers to check
712302
+ * @returns A FeeReader instance, or null if the protocol does not support fees
712303
+ */
712304
+ function createFeeReader(chainMetadata, context) {
712305
+ const protocolProvider = (0,dist/* getProtocolProvider */.IU)(chainMetadata.protocol);
712306
+ const artifactManager = protocolProvider.createFeeArtifactManager(chainMetadata);
712307
+ if (!artifactManager) {
712308
+ return null;
712309
+ }
712310
+ return new FeeReader(artifactManager, context);
712311
+ }
712312
+ /**
712313
+ * Generic Fee Reader that reads fee configurations from on-chain state.
712314
+ *
712315
+ * The FeeReadContext is required at construction time to ensure the reader always
712316
+ * knows which domains and routers to check (some fee contracts are not enumerable).
712317
+ */
712318
+ class FeeReader {
712319
+ artifactManager;
712320
+ context;
712321
+ constructor(artifactManager, context) {
712322
+ this.artifactManager = artifactManager;
712323
+ this.context = context;
712324
+ }
712325
+ async read(address) {
712326
+ return this.artifactManager.readFee(address, this.context);
712327
+ }
712328
+ }
712329
+ //# sourceMappingURL=fee-reader.js.map
712330
+ ;// CONCATENATED MODULE: ../deploy-sdk/dist/fee/fee-writer.js
712331
+
712332
+
712333
+ /**
712334
+ * Factory function to create a FeeWriter instance.
712335
+ * Returns null if the protocol does not support fee programs.
712336
+ *
712337
+ * @param chainMetadata Chain metadata for the target chain
712338
+ * @param signer Signer interface for signing transactions
712339
+ * @param context Required fee read context with domains and routers to check
712340
+ * @returns A FeeWriter instance, or null if the protocol does not support fees
712341
+ */
712342
+ function createFeeWriter(chainMetadata, signer, context) {
712343
+ const protocolProvider = (0,dist/* getProtocolProvider */.IU)(chainMetadata.protocol);
712344
+ const artifactManager = protocolProvider.createFeeArtifactManager(chainMetadata);
712345
+ if (!artifactManager) {
712346
+ return null;
712347
+ }
712348
+ return new FeeWriter(artifactManager, context, signer);
712349
+ }
712350
+ /**
712351
+ * FeeWriter handles creation and updates of fee configurations using the Artifact API.
712352
+ * It delegates to protocol-specific artifact writers for individual fee types.
712353
+ *
712354
+ * Extends FeeReader to inherit read() functionality.
712355
+ * The FeeReadContext is required at construction time to ensure the reader always
712356
+ * knows which domains and routers to check (some fee contracts are not enumerable).
712357
+ */
712358
+ class FeeWriter extends FeeReader {
712359
+ signer;
712360
+ constructor(artifactManager, context, signer) {
712361
+ super(artifactManager, context);
712362
+ this.signer = signer;
712363
+ }
712364
+ async create(artifact) {
712365
+ const { config } = artifact;
712366
+ const writer = this.artifactManager.createWriter(config.type, this.signer);
712367
+ return writer.create(artifact);
712368
+ }
712369
+ async update(artifact) {
712370
+ const { config } = artifact;
712371
+ const writer = this.artifactManager.createWriter(config.type, this.signer);
712372
+ return writer.update(artifact);
712373
+ }
712374
+ }
712375
+ //# sourceMappingURL=fee-writer.js.map
712118
712376
  // EXTERNAL MODULE: ../provider-sdk/dist/artifact.js
712119
712377
  var dist_artifact = __nccwpck_require__(4287);
712120
712378
  // EXTERNAL MODULE: ../provider-sdk/dist/hook.js
@@ -713134,6 +713392,8 @@ class UnsupportedIsmTypeError extends Error {
713134
713392
  }
713135
713393
  }
713136
713394
  //# sourceMappingURL=validation.js.map
713395
+ // EXTERNAL MODULE: ../utils/dist/validation.js
713396
+ var validation = __nccwpck_require__(21387);
713137
713397
  // EXTERNAL MODULE: ../provider-sdk/dist/warp.js
713138
713398
  var warp = __nccwpck_require__(17791);
713139
713399
  ;// CONCATENATED MODULE: ../deploy-sdk/dist/warp/warp-reader.js
@@ -713142,6 +713402,8 @@ var warp = __nccwpck_require__(17791);
713142
713402
 
713143
713403
 
713144
713404
 
713405
+
713406
+
713145
713407
  /**
713146
713408
  * Generic Warp Token Reader that can read any warp token type by detecting its type
713147
713409
  * and expanding nested ISM artifacts if present.
@@ -713168,12 +713430,15 @@ class WarpTokenReader {
713168
713430
  const expandedIsmArtifact = await this.expandIsmArtifact(rawArtifact.config.interchainSecurityModule);
713169
713431
  // Expand nested Hook artifact if present
713170
713432
  const expandedHookArtifact = await this.expandHookArtifact(hookReader, rawArtifact.config.hook);
713433
+ // Expand nested Fee artifact if present
713434
+ const expandedFeeArtifact = await this.expandFeeArtifact(rawArtifact.config, rawArtifact.config.fee);
713171
713435
  return {
713172
713436
  ...rawArtifact,
713173
713437
  config: {
713174
713438
  ...rawArtifact.config,
713175
713439
  interchainSecurityModule: expandedIsmArtifact,
713176
713440
  hook: expandedHookArtifact,
713441
+ fee: expandedFeeArtifact,
713177
713442
  },
713178
713443
  };
713179
713444
  }
@@ -713215,6 +713480,28 @@ class WarpTokenReader {
713215
713480
  // NEW state should not occur in read artifacts
713216
713481
  throw new Error(`Unexpected Hook artifact state 'new' when reading warp token Hook configuration`);
713217
713482
  }
713483
+ /**
713484
+ * Expands a Fee artifact by reading it if underived.
713485
+ * Builds FeeReadContext from the warp config's remote routers and CC routers.
713486
+ * Returns undefined only when no feeArtifact is provided. Deployed artifacts
713487
+ * are returned as-is. Underived artifacts are read via the fee reader.
713488
+ * Throws if a fee artifact exists but the protocol has no fee artifact manager.
713489
+ */
713490
+ async expandFeeArtifact(warpConfig, feeArtifact) {
713491
+ if (!feeArtifact) {
713492
+ return undefined;
713493
+ }
713494
+ if ((0,dist_artifact/* isArtifactDeployed */.R)(feeArtifact)) {
713495
+ return feeArtifact;
713496
+ }
713497
+ if ((0,dist_artifact/* isArtifactUnderived */.l2)(feeArtifact)) {
713498
+ const context = (0,warp/* buildFeeReadContextFromWarpArtifactConfig */.oS)(warpConfig);
713499
+ const feeReader = createFeeReader(this.chainMetadata, context);
713500
+ (0,validation/* assert */.v)(feeReader, `Fee artifact present on warp config but protocol ${this.chainMetadata.protocol} has no fee artifact manager`);
713501
+ return feeReader.read(feeArtifact.deployed.address);
713502
+ }
713503
+ throw new Error(`Unexpected Fee artifact state 'new' when reading warp token Fee configuration`);
713504
+ }
713218
713505
  /**
713219
713506
  * Backward compatibility method that converts DeployedWarpArtifact to DerivedWarpConfig.
713220
713507
  * This allows WarpTokenReader to be used as a drop-in replacement for the old AltVMWarpRouteReader.
@@ -713245,8 +713532,8 @@ function createWarpTokenReader(chainMetadata, chainLookup) {
713245
713532
  return new WarpTokenReader(artifactManager, chainMetadata, chainLookup);
713246
713533
  }
713247
713534
  //# sourceMappingURL=warp-reader.js.map
713248
- // EXTERNAL MODULE: ../utils/dist/validation.js
713249
- var validation = __nccwpck_require__(21387);
713535
+ // EXTERNAL MODULE: ../provider-sdk/dist/fee.js
713536
+ var fee = __nccwpck_require__(26109);
713250
713537
  // EXTERNAL MODULE: ../utils/dist/typeof.js
713251
713538
  var dist_typeof = __nccwpck_require__(73689);
713252
713539
  ;// CONCATENATED MODULE: ../deploy-sdk/dist/warp/warp-writer.js
@@ -713258,6 +713545,9 @@ var dist_typeof = __nccwpck_require__(73689);
713258
713545
 
713259
713546
 
713260
713547
 
713548
+
713549
+
713550
+
713261
713551
  /**
713262
713552
  * Factory function to create a WarpTokenWriter instance.
713263
713553
  *
@@ -713347,6 +713637,25 @@ class WarpTokenWriter extends WarpTokenReader {
713347
713637
  }
713348
713638
  }
713349
713639
  }
713640
+ // Deploy Fee if configured as a NEW artifact
713641
+ // No FeeReadContext needed on create - deploying from scratch
713642
+ let onChainFeeArtifact;
713643
+ if (config.fee) {
713644
+ const feeWriter = createFeeWriter(this.chainMetadata, this.signer, {
713645
+ knownRoutersPerDomain: {},
713646
+ });
713647
+ if (!feeWriter) {
713648
+ logging/* rootLogger */.Jk.warn('Fee programs are not supported for this protocol. Fee configuration will be ignored.');
713649
+ }
713650
+ else if ((0,dist_artifact/* isArtifactNew */.v_)(config.fee)) {
713651
+ const [deployedFee, feeReceipts] = await feeWriter.create(config.fee);
713652
+ allReceipts.push(...feeReceipts);
713653
+ onChainFeeArtifact = deployedFee;
713654
+ }
713655
+ else {
713656
+ onChainFeeArtifact = config.fee;
713657
+ }
713658
+ }
713350
713659
  // Convert to raw artifact config (flatten nested artifacts)
713351
713660
  const rawArtifact = {
713352
713661
  artifactState: dist_artifact/* ArtifactState */.O2.NEW,
@@ -713354,6 +713663,7 @@ class WarpTokenWriter extends WarpTokenReader {
713354
713663
  ...config,
713355
713664
  interchainSecurityModule: onChainIsmArtifact,
713356
713665
  hook: onChainHookArtifact,
713666
+ fee: onChainFeeArtifact,
713357
713667
  },
713358
713668
  };
713359
713669
  // Delegate to protocol-specific writer
@@ -713368,6 +713678,7 @@ class WarpTokenWriter extends WarpTokenReader {
713368
713678
  ...artifact.config,
713369
713679
  interchainSecurityModule: onChainIsmArtifact,
713370
713680
  hook: onChainHookArtifact,
713681
+ fee: onChainFeeArtifact,
713371
713682
  },
713372
713683
  deployed: deployed.deployed,
713373
713684
  },
@@ -713400,6 +713711,8 @@ class WarpTokenWriter extends WarpTokenReader {
713400
713711
  (0,dist_artifact/* isArtifactDeployed */.R)(currentArtifact.config.interchainSecurityModule), `Expected Warp Reader to expand the ISM config`);
713401
713712
  (0,validation/* assert */.v)((0,dist_typeof/* isNullish */.u)(currentArtifact.config.hook) ||
713402
713713
  (0,dist_artifact/* isArtifactDeployed */.R)(currentArtifact.config.hook), `Expected Warp Reader to expand the Hook config`);
713714
+ (0,validation/* assert */.v)((0,dist_typeof/* isNullish */.u)(currentArtifact.config.fee) ||
713715
+ (0,dist_artifact/* isArtifactDeployed */.R)(currentArtifact.config.fee), `Expected Warp Reader to expand the Fee config`);
713403
713716
  const updateTxs = [];
713404
713717
  // Resolve ISM updates
713405
713718
  const expectedIsm = config.interchainSecurityModule;
@@ -713463,13 +713776,47 @@ class WarpTokenWriter extends WarpTokenReader {
713463
713776
  else {
713464
713777
  onChainHookArtifact = expectedHook;
713465
713778
  }
713466
- // Build raw artifact with flattened ISM and Hook references
713779
+ // Resolve Fee updates
713780
+ const expectedFee = config.fee;
713781
+ const currentFee = currentArtifact.config.fee;
713782
+ let onChainFeeArtifact;
713783
+ if (expectedFee && !(0,dist_artifact/* isArtifactUnderived */.l2)(expectedFee)) {
713784
+ const feeContext = (0,warp/* buildFeeReadContextFromWarpArtifactConfig */.oS)(config, currentArtifact.config);
713785
+ const feeWriter = createFeeWriter(this.chainMetadata, this.signer, feeContext);
713786
+ if (!feeWriter) {
713787
+ logging/* rootLogger */.Jk.warn('Fee programs are not supported for this protocol. Fee configuration will be ignored.');
713788
+ onChainFeeArtifact = currentFee;
713789
+ }
713790
+ else {
713791
+ const mergedFeeConfig = (0,fee/* mergeFeeArtifacts */.KA)(currentFee, expectedFee);
713792
+ if ((0,dist_artifact/* isArtifactNew */.v_)(mergedFeeConfig)) {
713793
+ const [deployedFee] = await feeWriter.create(mergedFeeConfig);
713794
+ onChainFeeArtifact = {
713795
+ artifactState: dist_artifact/* ArtifactState */.O2.UNDERIVED,
713796
+ deployed: { address: deployedFee.deployed.address },
713797
+ };
713798
+ }
713799
+ else if ((0,dist_artifact/* isArtifactDeployed */.R)(mergedFeeConfig)) {
713800
+ const txs = await feeWriter.update(mergedFeeConfig);
713801
+ updateTxs.push(...txs);
713802
+ onChainFeeArtifact = {
713803
+ artifactState: dist_artifact/* ArtifactState */.O2.UNDERIVED,
713804
+ deployed: { address: mergedFeeConfig.deployed.address },
713805
+ };
713806
+ }
713807
+ }
713808
+ }
713809
+ else {
713810
+ onChainFeeArtifact = expectedFee;
713811
+ }
713812
+ // Build raw artifact with flattened ISM, Hook, and Fee references
713467
713813
  const rawArtifact = {
713468
713814
  artifactState: dist_artifact/* ArtifactState */.O2.DEPLOYED,
713469
713815
  config: {
713470
713816
  ...config,
713471
713817
  interchainSecurityModule: onChainIsmArtifact,
713472
713818
  hook: onChainHookArtifact,
713819
+ fee: onChainFeeArtifact,
713473
713820
  },
713474
713821
  deployed,
713475
713822
  };
@@ -713496,6 +713843,8 @@ class WarpTokenWriter extends WarpTokenReader {
713496
713843
 
713497
713844
 
713498
713845
 
713846
+
713847
+
713499
713848
  //# sourceMappingURL=index.js.map
713500
713849
 
713501
713850
  /***/ }),
@@ -715214,6 +715563,229 @@ function artifactOnChainToAddress(artifact, formatter) {
715214
715563
 
715215
715564
  /***/ }),
715216
715565
 
715566
+ /***/ 26109:
715567
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
715568
+
715569
+ /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
715570
+ /* harmony export */ AY: () => (/* binding */ feeConfigToArtifact),
715571
+ /* harmony export */ KA: () => (/* binding */ mergeFeeArtifacts),
715572
+ /* harmony export */ X6: () => (/* binding */ feeArtifactToDerivedConfig)
715573
+ /* harmony export */ });
715574
+ /* unused harmony exports FeeStrategyType, FeeType, shouldDeployNewFee */
715575
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(94523);
715576
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(73689);
715577
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(73938);
715578
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(98474);
715579
+ /* harmony import */ var _artifact_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(4287);
715580
+
715581
+
715582
+ // These fee types model fees as a single contract/program with internal routing,
715583
+ // unlike the EVM implementation where RoutingFee and CrossCollateralRoutingFee
715584
+ // deploy separate fee contracts per destination domain. The upcoming SVM fee
715585
+ // program will handle all routing internally via PDAs within one program, and
715586
+ // these multi-VM types follow that single-entity model to avoid the complexity
715587
+ // of supporting both approaches simultaneously. This will be unified later to
715588
+ // support both models under a single interface.
715589
+ // ====== Strategy Types (shared between Config API and Artifact API) ======
715590
+ const FeeStrategyType = {
715591
+ linear: 'linear',
715592
+ regressive: 'regressive',
715593
+ progressive: 'progressive',
715594
+ offchainQuotedLinear: 'offchainQuotedLinear',
715595
+ };
715596
+ const FeeType = {
715597
+ linear: 'linear',
715598
+ regressive: 'regressive',
715599
+ progressive: 'progressive',
715600
+ offchainQuotedLinear: 'offchainQuotedLinear',
715601
+ routing: 'routing',
715602
+ crossCollateralRouting: 'crossCollateralRouting',
715603
+ };
715604
+ // ====== Config <-> Artifact Conversion ======
715605
+ const feeLogger = _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .rootLogger */ .Jk.child({ module: 'fee-config-utils' });
715606
+ function convertRoutesToArtifact(routes, chainLookup) {
715607
+ const result = {};
715608
+ for (const [chainName, strategy] of Object.entries(routes)) {
715609
+ const domainId = chainLookup.getDomainId(chainName);
715610
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .isNullish */ .u)(domainId)) {
715611
+ feeLogger.warn(`Skipping fee route for unknown chain: ${chainName}. ` +
715612
+ `Chain not found in chain lookup.`);
715613
+ continue;
715614
+ }
715615
+ result[domainId] = strategy;
715616
+ }
715617
+ return result;
715618
+ }
715619
+ function convertCCRoutesToArtifact(routes, chainLookup) {
715620
+ const result = {};
715621
+ for (const [chainName, routerMap] of Object.entries(routes)) {
715622
+ const domainId = chainLookup.getDomainId(chainName);
715623
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .isNullish */ .u)(domainId)) {
715624
+ feeLogger.warn(`Skipping CC fee route for unknown chain: ${chainName}. ` +
715625
+ `Chain not found in chain lookup.`);
715626
+ continue;
715627
+ }
715628
+ result[domainId] = routerMap;
715629
+ }
715630
+ return result;
715631
+ }
715632
+ function convertRoutesToDerived(routes, chainLookup) {
715633
+ const result = {};
715634
+ for (const [domainIdStr, strategy] of Object.entries(routes)) {
715635
+ const domainId = parseInt(domainIdStr);
715636
+ const chainName = chainLookup.getChainName(domainId);
715637
+ if (!chainName) {
715638
+ feeLogger.warn(`Skipping fee route for unknown domain ID: ${domainId}. ` +
715639
+ `Domain not found in chain lookup.`);
715640
+ continue;
715641
+ }
715642
+ result[chainName] = strategy;
715643
+ }
715644
+ return result;
715645
+ }
715646
+ function convertCCRoutesToDerived(routes, chainLookup) {
715647
+ const result = {};
715648
+ for (const [domainIdStr, routerMap] of Object.entries(routes)) {
715649
+ const domainId = parseInt(domainIdStr);
715650
+ const chainName = chainLookup.getChainName(domainId);
715651
+ if (!chainName) {
715652
+ feeLogger.warn(`Skipping CC fee route for unknown domain ID: ${domainId}. ` +
715653
+ `Domain not found in chain lookup.`);
715654
+ continue;
715655
+ }
715656
+ result[chainName] = routerMap;
715657
+ }
715658
+ return result;
715659
+ }
715660
+ /**
715661
+ * Converts FeeConfig (Config API) to FeeArtifactConfig (Artifact API).
715662
+ * Chain names are converted to domain IDs for routing/CC routing fee types.
715663
+ * Direct fee types (linear, regressive, progressive) are passed through unchanged.
715664
+ */
715665
+ function feeConfigToArtifact(config, chainLookup) {
715666
+ switch (config.type) {
715667
+ case FeeType.linear:
715668
+ case FeeType.regressive:
715669
+ case FeeType.progressive:
715670
+ case FeeType.offchainQuotedLinear:
715671
+ return {
715672
+ artifactState: _artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .ArtifactState */ .O2.NEW,
715673
+ config,
715674
+ };
715675
+ case FeeType.routing:
715676
+ return {
715677
+ artifactState: _artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .ArtifactState */ .O2.NEW,
715678
+ config: {
715679
+ type: config.type,
715680
+ owner: config.owner,
715681
+ beneficiary: config.beneficiary,
715682
+ routes: convertRoutesToArtifact(config.routes, chainLookup),
715683
+ },
715684
+ };
715685
+ case FeeType.crossCollateralRouting:
715686
+ return {
715687
+ artifactState: _artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .ArtifactState */ .O2.NEW,
715688
+ config: {
715689
+ type: config.type,
715690
+ owner: config.owner,
715691
+ beneficiary: config.beneficiary,
715692
+ routes: convertCCRoutesToArtifact(config.routes, chainLookup),
715693
+ },
715694
+ };
715695
+ default: {
715696
+ const invalidConfig = config;
715697
+ throw new Error(`Unsupported fee type for artifact API: ${JSON.stringify(invalidConfig)}`);
715698
+ }
715699
+ }
715700
+ }
715701
+ /**
715702
+ * Converts a DeployedFeeArtifact to DerivedFeeConfig format.
715703
+ * Domain IDs are converted back to chain names for routing/CC routing fee types.
715704
+ */
715705
+ function feeArtifactToDerivedConfig(artifact, chainLookup) {
715706
+ const { config } = artifact;
715707
+ const address = artifact.deployed.address;
715708
+ switch (config.type) {
715709
+ case FeeType.linear:
715710
+ case FeeType.regressive:
715711
+ case FeeType.progressive:
715712
+ case FeeType.offchainQuotedLinear:
715713
+ return { ...config, address };
715714
+ case FeeType.routing:
715715
+ return {
715716
+ type: config.type,
715717
+ owner: config.owner,
715718
+ beneficiary: config.beneficiary,
715719
+ routes: convertRoutesToDerived(config.routes, chainLookup),
715720
+ address,
715721
+ };
715722
+ case FeeType.crossCollateralRouting:
715723
+ return {
715724
+ type: config.type,
715725
+ owner: config.owner,
715726
+ beneficiary: config.beneficiary,
715727
+ routes: convertCCRoutesToDerived(config.routes, chainLookup),
715728
+ address,
715729
+ };
715730
+ default: {
715731
+ const invalidConfig = config;
715732
+ throw new Error(`Unhandled fee type: ${JSON.stringify(invalidConfig)}`);
715733
+ }
715734
+ }
715735
+ }
715736
+ /**
715737
+ * Determines if a new fee should be deployed instead of updating the existing one.
715738
+ * Deploy new if fee type changed. For direct types (linear, regressive, progressive),
715739
+ * deploy new if config changed (immutable on EVM - constructor-set params).
715740
+ * Routing/CC routing types are mutable and can be updated in-place.
715741
+ */
715742
+ function shouldDeployNewFee(actual, expected) {
715743
+ if (actual.type !== expected.type)
715744
+ return true;
715745
+ switch (expected.type) {
715746
+ case FeeType.linear:
715747
+ case FeeType.regressive:
715748
+ case FeeType.progressive:
715749
+ case FeeType.offchainQuotedLinear:
715750
+ return !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .deepEquals */ .c2)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .normalizeConfig */ .I)(actual), (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .normalizeConfig */ .I)(expected));
715751
+ case FeeType.routing:
715752
+ case FeeType.crossCollateralRouting:
715753
+ return false;
715754
+ default: {
715755
+ const invalidConfig = expected;
715756
+ throw new Error(`Unhandled fee type in shouldDeployNewFee: ${JSON.stringify(invalidConfig)}`);
715757
+ }
715758
+ }
715759
+ }
715760
+ /**
715761
+ * Merges current on-chain fee artifact with expected fee artifact.
715762
+ * Determines whether to deploy a new fee or update/reuse existing one.
715763
+ */
715764
+ function mergeFeeArtifacts(currentArtifact, expectedArtifact) {
715765
+ const expectedConfig = expectedArtifact.config;
715766
+ if (!currentArtifact) {
715767
+ return expectedArtifact;
715768
+ }
715769
+ const currentConfig = currentArtifact.config;
715770
+ if (shouldDeployNewFee(currentConfig, expectedConfig)) {
715771
+ return {
715772
+ artifactState: _artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .ArtifactState */ .O2.NEW,
715773
+ config: expectedConfig,
715774
+ };
715775
+ }
715776
+ const deployedAddress = (0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactDeployed */ .R)(expectedArtifact)
715777
+ ? expectedArtifact.deployed
715778
+ : currentArtifact.deployed;
715779
+ return {
715780
+ artifactState: _artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .ArtifactState */ .O2.DEPLOYED,
715781
+ config: expectedConfig,
715782
+ deployed: deployedAddress,
715783
+ };
715784
+ }
715785
+ //# sourceMappingURL=fee.js.map
715786
+
715787
+ /***/ }),
715788
+
715217
715789
  /***/ 77230:
715218
715790
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
715219
715791
 
@@ -715542,7 +716114,7 @@ function hookArtifactToDerivedConfig(artifact, chainLookup) {
715542
716114
 
715543
716115
  /***/ }),
715544
716116
 
715545
- /***/ 71280:
716117
+ /***/ 92201:
715546
716118
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
715547
716119
 
715548
716120
 
@@ -715709,10 +716281,7 @@ var GasAction;
715709
716281
  GasAction["AVS_GAS"] = "AVS_GAS";
715710
716282
  })(GasAction || (GasAction = {}));
715711
716283
  //# sourceMappingURL=mingas.js.map
715712
- // EXTERNAL MODULE: ../utils/dist/validation.js
715713
- var validation = __nccwpck_require__(21387);
715714
- ;// CONCATENATED MODULE: ../provider-sdk/dist/protocol.js
715715
-
716284
+ ;// CONCATENATED MODULE: ../provider-sdk/dist/protocolType.js
715716
716285
  var ProtocolType;
715717
716286
  (function (ProtocolType) {
715718
716287
  ProtocolType["Ethereum"] = "ethereum";
@@ -715736,6 +716305,11 @@ const ProtocolSmallestUnit = {
715736
716305
  [ProtocolType.Tron]: 'SUN',
715737
716306
  [ProtocolType.Unknown]: 'unknown',
715738
716307
  };
716308
+ //# sourceMappingURL=protocolType.js.map
716309
+ // EXTERNAL MODULE: ../utils/dist/validation.js
716310
+ var validation = __nccwpck_require__(21387);
716311
+ ;// CONCATENATED MODULE: ../provider-sdk/dist/protocol.js
716312
+
715739
716313
  /**
715740
716314
  * Registry for managing protocol providers.
715741
716315
  */
@@ -715795,6 +716369,7 @@ const listProtocols = protocolRegistry.listProtocols.bind(protocolRegistry);
715795
716369
 
715796
716370
 
715797
716371
 
716372
+
715798
716373
  //# sourceMappingURL=index.js.map
715799
716374
 
715800
716375
  /***/ }),
@@ -716076,16 +716651,19 @@ function ismConfigToArtifact(config, chainLookup) {
716076
716651
  /* harmony export */ Ob: () => (/* binding */ computeCCRouterGasConfigUpdates),
716077
716652
  /* harmony export */ aq: () => (/* binding */ computeRemoteRoutersUpdates),
716078
716653
  /* harmony export */ ks: () => (/* binding */ TokenType),
716079
- /* harmony export */ ku: () => (/* binding */ warpConfigToArtifact)
716654
+ /* harmony export */ ku: () => (/* binding */ warpConfigToArtifact),
716655
+ /* harmony export */ oS: () => (/* binding */ buildFeeReadContextFromWarpArtifactConfig)
716080
716656
  /* harmony export */ });
716081
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(73689);
716082
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(21387);
716083
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(73938);
716084
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(93142);
716085
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(52193);
716657
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(73689);
716658
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(21387);
716659
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(73938);
716660
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(93142);
716661
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(52193);
716086
716662
  /* harmony import */ var _artifact_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(4287);
716087
- /* harmony import */ var _hook_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(77230);
716088
- /* harmony import */ var _ism_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(96426);
716663
+ /* harmony import */ var _fee_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(26109);
716664
+ /* harmony import */ var _hook_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(77230);
716665
+ /* harmony import */ var _ism_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(96426);
716666
+
716089
716667
 
716090
716668
 
716091
716669
 
@@ -716118,7 +716696,7 @@ function warpConfigToArtifact(config, chainLookup, logger) {
716118
716696
  }
716119
716697
  else {
716120
716698
  // ISM config - convert using ismConfigToArtifact
716121
- ismArtifact = (0,_ism_js__WEBPACK_IMPORTED_MODULE_2__/* .ismConfigToArtifact */ .HL)(config.interchainSecurityModule, chainLookup);
716699
+ ismArtifact = (0,_ism_js__WEBPACK_IMPORTED_MODULE_3__/* .ismConfigToArtifact */ .HL)(config.interchainSecurityModule, chainLookup);
716122
716700
  }
716123
716701
  }
716124
716702
  // Convert Hook config to artifact if present
@@ -716130,7 +716708,17 @@ function warpConfigToArtifact(config, chainLookup, logger) {
716130
716708
  }
716131
716709
  else {
716132
716710
  // Hook config - convert using hookConfigToArtifact
716133
- hookArtifact = (0,_hook_js__WEBPACK_IMPORTED_MODULE_1__/* .hookConfigToArtifact */ .hV)(config.hook, chainLookup);
716711
+ hookArtifact = (0,_hook_js__WEBPACK_IMPORTED_MODULE_2__/* .hookConfigToArtifact */ .hV)(config.hook, chainLookup);
716712
+ }
716713
+ }
716714
+ // Convert Fee config to artifact if present
716715
+ let feeArtifact;
716716
+ if (config.fee) {
716717
+ if (typeof config.fee === 'string') {
716718
+ feeArtifact = (0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .addressToUnderivedArtifact */ .Se)(config.fee);
716719
+ }
716720
+ else {
716721
+ feeArtifact = (0,_fee_js__WEBPACK_IMPORTED_MODULE_1__/* .feeConfigToArtifact */ .AY)(config.fee, chainLookup);
716134
716722
  }
716135
716723
  }
716136
716724
  // Convert remoteRouters from chain names to domain IDs
@@ -716138,7 +716726,7 @@ function warpConfigToArtifact(config, chainLookup, logger) {
716138
716726
  if (config.remoteRouters) {
716139
716727
  for (const [chainName, router] of Object.entries(config.remoteRouters)) {
716140
716728
  const domainId = chainLookup.getDomainId(chainName);
716141
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(domainId)) {
716729
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(domainId)) {
716142
716730
  logger?.warn(`Skipping remote router for unknown chain: ${chainName}. ` +
716143
716731
  `Chain not found in chain lookup.`);
716144
716732
  continue;
@@ -716151,7 +716739,7 @@ function warpConfigToArtifact(config, chainLookup, logger) {
716151
716739
  if (config.destinationGas) {
716152
716740
  for (const [chainName, gas] of Object.entries(config.destinationGas)) {
716153
716741
  const domainId = chainLookup.getDomainId(chainName);
716154
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(domainId)) {
716742
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(domainId)) {
716155
716743
  logger?.warn(`Skipping destination gas for unknown chain: ${chainName}. ` +
716156
716744
  `Chain not found in chain lookup.`);
716157
716745
  continue;
@@ -716164,6 +716752,7 @@ function warpConfigToArtifact(config, chainLookup, logger) {
716164
716752
  mailbox: config.mailbox,
716165
716753
  interchainSecurityModule: ismArtifact,
716166
716754
  hook: hookArtifact,
716755
+ fee: feeArtifact,
716167
716756
  remoteRouters,
716168
716757
  destinationGas,
716169
716758
  scale: config.scale,
@@ -716180,9 +716769,9 @@ function warpConfigToArtifact(config, chainLookup, logger) {
716180
716769
  };
716181
716770
  case 'synthetic':
716182
716771
  // Validate required fields for synthetic token
716183
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .assert */ .v)(config.name, 'name is required for synthetic token deployment');
716184
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .assert */ .v)(config.symbol, 'symbol is required for synthetic token deployment');
716185
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .assert */ .v)(config.decimals !== undefined, 'decimals is required for synthetic token deployment');
716772
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .v)(config.name, 'name is required for synthetic token deployment');
716773
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .v)(config.symbol, 'symbol is required for synthetic token deployment');
716774
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .v)(config.decimals !== undefined, 'decimals is required for synthetic token deployment');
716186
716775
  return {
716187
716776
  artifactState: _artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .ArtifactState */ .O2.NEW,
716188
716777
  config: {
@@ -716252,35 +716841,48 @@ function warpArtifactToDerivedConfig(artifact, chainLookup) {
716252
716841
  destinationGas[chainName] = gas;
716253
716842
  }
716254
716843
  // Convert ISM artifact to config if present
716255
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .assert */ .v)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(config.interchainSecurityModule) ||
716844
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .v)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(config.interchainSecurityModule) ||
716256
716845
  !(0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactNew */ .v_)(config.interchainSecurityModule), 'Expected ISM to be a deployed or underived artifact');
716257
716846
  let ismConfig;
716258
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(config.interchainSecurityModule)) {
716847
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(config.interchainSecurityModule)) {
716259
716848
  ismConfig = '0x0000000000000000000000000000000000000000';
716260
716849
  }
716261
716850
  else if ((0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactDeployed */ .R)(config.interchainSecurityModule)) {
716262
- ismConfig = (0,_ism_js__WEBPACK_IMPORTED_MODULE_2__/* .ismArtifactToDerivedConfig */ .co)(config.interchainSecurityModule, chainLookup);
716851
+ ismConfig = (0,_ism_js__WEBPACK_IMPORTED_MODULE_3__/* .ismArtifactToDerivedConfig */ .co)(config.interchainSecurityModule, chainLookup);
716263
716852
  }
716264
716853
  else {
716265
716854
  ismConfig = config.interchainSecurityModule.deployed.address;
716266
716855
  }
716267
716856
  // Convert hook artifact to config if present
716268
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .assert */ .v)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(config.hook) || !(0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactNew */ .v_)(config.hook), 'Expected hook to be a deployed or underived artifact');
716857
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .v)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(config.hook) || !(0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactNew */ .v_)(config.hook), 'Expected hook to be a deployed or underived artifact');
716269
716858
  let hookConfig;
716270
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(config.hook)) {
716859
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(config.hook)) {
716271
716860
  hookConfig = '0x0000000000000000000000000000000000000000';
716272
716861
  }
716273
716862
  else if ((0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactDeployed */ .R)(config.hook)) {
716274
- hookConfig = (0,_hook_js__WEBPACK_IMPORTED_MODULE_1__/* .hookArtifactToDerivedConfig */ .q6)(config.hook, chainLookup);
716863
+ hookConfig = (0,_hook_js__WEBPACK_IMPORTED_MODULE_2__/* .hookArtifactToDerivedConfig */ .q6)(config.hook, chainLookup);
716275
716864
  }
716276
716865
  else {
716277
716866
  hookConfig = config.hook.deployed.address;
716278
716867
  }
716868
+ // Convert fee artifact to config if present
716869
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .v)((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(config.fee) || !(0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactNew */ .v_)(config.fee), 'Expected fee to be a deployed or underived artifact');
716870
+ let feeConfig;
716871
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(config.fee)) {
716872
+ feeConfig = undefined;
716873
+ }
716874
+ else if ((0,_artifact_js__WEBPACK_IMPORTED_MODULE_0__/* .isArtifactDeployed */ .R)(config.fee)) {
716875
+ feeConfig = (0,_fee_js__WEBPACK_IMPORTED_MODULE_1__/* .feeArtifactToDerivedConfig */ .X6)(config.fee, chainLookup);
716876
+ }
716877
+ else {
716878
+ feeConfig = config.fee.deployed.address;
716879
+ }
716279
716880
  const baseDerivedConfig = {
716280
716881
  owner: config.owner,
716281
716882
  mailbox: config.mailbox,
716282
716883
  interchainSecurityModule: ismConfig,
716283
716884
  hook: hookConfig,
716885
+ fee: feeConfig,
716284
716886
  remoteRouters,
716285
716887
  destinationGas,
716286
716888
  name: config.name,
@@ -716326,7 +716928,7 @@ function convertCrossCollateralRoutersToArtifact(crossCollateralRouters, chainLo
716326
716928
  return result;
716327
716929
  for (const [chainName, routers] of Object.entries(crossCollateralRouters)) {
716328
716930
  const domainId = chainLookup.getDomainId(chainName);
716329
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(domainId)) {
716931
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(domainId)) {
716330
716932
  logger?.warn(`Skipping cross-collateral routers for unknown chain: ${chainName}. ` +
716331
716933
  `Chain not found in chain lookup.`);
716332
716934
  continue;
@@ -716346,6 +716948,31 @@ function convertCrossCollateralRoutersToDerived(crossCollateralRouters, chainLoo
716346
716948
  }
716347
716949
  return result;
716348
716950
  }
716951
+ // Fee Read Context Utilities
716952
+ /**
716953
+ * Builds a FeeReadContext by unioning domains/routers from the provided
716954
+ * WarpArtifactConfigs. Pass both expected and current configs so the fee
716955
+ * reader can discover routes from current state (for cleanup) and expected
716956
+ * state (for setup).
716957
+ */
716958
+ function buildFeeReadContextFromWarpArtifactConfig(...configs) {
716959
+ const knownRoutersPerDomain = {};
716960
+ for (const config of configs) {
716961
+ for (const [domainStr, router] of Object.entries(config.remoteRouters)) {
716962
+ const domain = Number(domainStr);
716963
+ const existing = knownRoutersPerDomain[domain] ?? new Set();
716964
+ knownRoutersPerDomain[domain] = new Set([...existing, router.address]);
716965
+ }
716966
+ if (config.type === TokenType.crossCollateral) {
716967
+ for (const [domainStr, routers] of Object.entries(config.crossCollateralRouters)) {
716968
+ const domain = Number(domainStr);
716969
+ const existing = knownRoutersPerDomain[domain] ?? new Set();
716970
+ knownRoutersPerDomain[domain] = new Set([...existing, ...routers]);
716971
+ }
716972
+ }
716973
+ }
716974
+ return { knownRoutersPerDomain };
716975
+ }
716349
716976
  /**
716350
716977
  * Computes which routers need enrollment/unenrollment by diffing current and expected configs.
716351
716978
  * Pure function - compares router addresses and destination gas to determine required updates.
@@ -716370,7 +716997,7 @@ function computeRemoteRoutersUpdates(currentRoutersConfig, expectedRoutersConfig
716370
716997
  for (const [domainIdStr, expectedRemoteRouter] of Object.entries(expectedRoutersConfig.remoteRouters)) {
716371
716998
  const domainId = parseInt(domainIdStr);
716372
716999
  const expectedDestinationGas = expectedRoutersConfig.destinationGas[domainId];
716373
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .assert */ .v)(!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(expectedDestinationGas), `Missing destination gas for domain ${domainId} in expected router configuration`);
717000
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .assert */ .v)(!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(expectedDestinationGas), `Missing destination gas for domain ${domainId} in expected router configuration`);
716374
717001
  const currentRouterAddress = Object.prototype.hasOwnProperty.call(currentRoutersConfig.remoteRouters, domainId)
716375
717002
  ? currentRoutersConfig.remoteRouters[domainId].address
716376
717003
  : undefined;
@@ -716395,18 +717022,18 @@ function computeRemoteRoutersUpdates(currentRoutersConfig, expectedRoutersConfig
716395
717022
  * hex32 before comparison so callers don't need to normalize beforehand.
716396
717023
  */
716397
717024
  function computeCrossCollateralRouterUpdates(current, expected) {
716398
- const canonicalize = (routers) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .objMap */ .Yp)(routers, (_domain, routerSet) => new Set([...routerSet].map((r) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__/* .addressToBytes32 */ .In)(r).toLowerCase())));
717025
+ const canonicalize = (routers) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__/* .objMap */ .Yp)(routers, (_domain, routerSet) => new Set([...routerSet].map((r) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .addressToBytes32 */ .In)(r).toLowerCase())));
716399
717026
  const canonicalCurrent = canonicalize(current);
716400
717027
  const canonicalExpected = canonicalize(expected);
716401
717028
  const toUnenroll = {};
716402
717029
  for (const [domainStr, currentSet] of Object.entries(canonicalCurrent)) {
716403
717030
  const domain = Number(domainStr);
716404
717031
  const expectedSet = canonicalExpected[domain];
716405
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(expectedSet) || expectedSet.size === 0) {
717032
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(expectedSet) || expectedSet.size === 0) {
716406
717033
  toUnenroll[domain] = null;
716407
717034
  }
716408
717035
  else {
716409
- const removed = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .difference */ .iv)(currentSet, expectedSet);
717036
+ const removed = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .difference */ .iv)(currentSet, expectedSet);
716410
717037
  if (removed.size > 0) {
716411
717038
  toUnenroll[domain] = removed;
716412
717039
  }
@@ -716416,7 +717043,7 @@ function computeCrossCollateralRouterUpdates(current, expected) {
716416
717043
  for (const [domainStr, expectedSet] of Object.entries(canonicalExpected)) {
716417
717044
  const domain = Number(domainStr);
716418
717045
  const currentSet = canonicalCurrent[domain] ?? new Set();
716419
- const added = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_7__/* .difference */ .iv)(expectedSet, currentSet);
717046
+ const added = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .difference */ .iv)(expectedSet, currentSet);
716420
717047
  if (added.size > 0) {
716421
717048
  toEnroll[domain] = added;
716422
717049
  }
@@ -716525,6 +717152,9 @@ class RadixProtocolProvider {
716525
717152
  const { gateway, base } = this.configureNetworkConnection(chainMetadata);
716526
717153
  return new _validator_announce_validator_announce_artifact_manager_js__WEBPACK_IMPORTED_MODULE_6__/* .RadixValidatorAnnounceArtifactManager */ .x(gateway, base);
716527
717154
  }
717155
+ createFeeArtifactManager(_chainMetadata) {
717156
+ return null;
717157
+ }
716528
717158
  getMinGas() {
716529
717159
  return {
716530
717160
  CORE_DEPLOY_GAS: 0n,
@@ -716582,8 +717212,8 @@ __nccwpck_require__.d(__webpack_exports__, {
716582
717212
  var babylon_gateway_api_sdk = __nccwpck_require__(4719);
716583
717213
  // EXTERNAL MODULE: ../../node_modules/.pnpm/@radixdlt+radix-engine-toolkit@1.0.5/node_modules/@radixdlt/radix-engine-toolkit/dist/radix-engine-toolkit.mjs
716584
717214
  var radix_engine_toolkit = __nccwpck_require__(96620);
716585
- // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 3 modules
716586
- var dist = __nccwpck_require__(71280);
717215
+ // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 4 modules
717216
+ var dist = __nccwpck_require__(92201);
716587
717217
  // EXTERNAL MODULE: ../utils/dist/validation.js
716588
717218
  var validation = __nccwpck_require__(21387);
716589
717219
  // EXTERNAL MODULE: ../radix-sdk/dist/mailbox/mailbox-query.js
@@ -717219,8 +717849,8 @@ __nccwpck_require__.d(__webpack_exports__, {
717219
717849
  F: () => (/* binding */ RadixHookArtifactManager)
717220
717850
  });
717221
717851
 
717222
- // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 3 modules
717223
- var dist = __nccwpck_require__(71280);
717852
+ // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 4 modules
717853
+ var dist = __nccwpck_require__(92201);
717224
717854
  // EXTERNAL MODULE: ../provider-sdk/dist/hook.js
717225
717855
  var hook = __nccwpck_require__(77230);
717226
717856
  // EXTERNAL MODULE: ../utils/dist/validation.js
@@ -717616,8 +718246,8 @@ __nccwpck_require__.d(__webpack_exports__, {
717616
718246
  L: () => (/* binding */ RadixIsmArtifactManager)
717617
718247
  });
717618
718248
 
717619
- // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 3 modules
717620
- var dist = __nccwpck_require__(71280);
718249
+ // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 4 modules
718250
+ var dist = __nccwpck_require__(92201);
717621
718251
  // EXTERNAL MODULE: ../radix-sdk/dist/utils/types.js
717622
718252
  var types = __nccwpck_require__(61599);
717623
718253
  // EXTERNAL MODULE: ../utils/dist/validation.js
@@ -724277,8 +724907,8 @@ __nccwpck_require__.d(__webpack_exports__, {
724277
724907
  k: () => (/* binding */ RadixWarpArtifactManager)
724278
724908
  });
724279
724909
 
724280
- // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 3 modules
724281
- var dist = __nccwpck_require__(71280);
724910
+ // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 4 modules
724911
+ var dist = __nccwpck_require__(92201);
724282
724912
  // EXTERNAL MODULE: ../provider-sdk/dist/artifact.js
724283
724913
  var dist_artifact = __nccwpck_require__(4287);
724284
724914
  // EXTERNAL MODULE: ../provider-sdk/dist/warp.js
@@ -734430,17 +735060,23 @@ class LiFiBridge {
734430
735060
  constructor(config, logger) {
734431
735061
  this.config = config;
734432
735062
  this.logger = logger;
734433
- // Build chainId -> metadata map for O(1) lookups
735063
+ // Build LiFi chainId -> metadata map for O(1) lookups.
735064
+ // Numeric chainIds are only unique for EVM chains; non-EVM chains can
735065
+ // legitimately collide (e.g. radix and ethereum both use 1), so index
735066
+ // non-EVM chains only through explicit Hyperlane-domain -> LiFi mappings.
734434
735067
  this.chainMetadataByChainId = new Map();
734435
735068
  if (config.chainMetadata) {
735069
+ const metadataByDomainId = new Map();
734436
735070
  for (const metadata of Object.values(config.chainMetadata)) {
734437
- if (metadata.chainId !== undefined) {
735071
+ metadataByDomainId.set(metadata.domainId, metadata);
735072
+ if (metadata.chainId !== undefined && (0,types/* isEVMLike */.Us)(metadata.protocol)) {
734438
735073
  this.chainMetadataByChainId.set(Number(metadata.chainId), metadata);
734439
735074
  }
734440
735075
  }
734441
- // Also key by LiFi chain IDs so both Hyperlane domains and LiFi IDs resolve to the same metadata.
735076
+ // Also key by LiFi chain IDs so both Hyperlane domains and LiFi IDs
735077
+ // resolve to the same metadata for non-EVM chains like Solana.
734442
735078
  for (const [hyperlaneDomainId, lifiChainId] of Object.entries(HYPERLANE_TO_LIFI_CHAIN_IDS)) {
734443
- const metadata = this.chainMetadataByChainId.get(Number(hyperlaneDomainId));
735079
+ const metadata = metadataByDomainId.get(Number(hyperlaneDomainId));
734444
735080
  if (metadata !== undefined) {
734445
735081
  this.chainMetadataByChainId.set(Number(lifiChainId), metadata);
734446
735082
  }
@@ -734465,10 +735101,18 @@ class LiFiBridge {
734465
735101
  * Iterates metadata to find matching chainId and returns first HTTP RPC URL.
734466
735102
  */
734467
735103
  getRpcUrlForChainId(chainId) {
734468
- return this.chainMetadataByChainId.get(chainId)?.rpcUrls?.[0]?.http;
735104
+ return this.getMetadataForChainId(chainId)?.rpcUrls?.[0]?.http;
734469
735105
  }
734470
735106
  getProtocolTypeForChainId(chainId) {
734471
- return this.chainMetadataByChainId.get(chainId)?.protocol;
735107
+ return this.getMetadataForChainId(chainId)?.protocol;
735108
+ }
735109
+ getMetadataForChainId(chainId) {
735110
+ const directMetadata = this.chainMetadataByChainId.get(chainId);
735111
+ if (directMetadata) {
735112
+ return directMetadata;
735113
+ }
735114
+ const matches = Object.values(this.config.chainMetadata ?? {}).filter((metadata) => metadata.chainId !== undefined && Number(metadata.chainId) === chainId);
735115
+ return matches.length === 1 ? matches[0] : undefined;
734472
735116
  }
734473
735117
  addressesEqual(a, b, chainId) {
734474
735118
  const protocol = this.getProtocolTypeForChainId(chainId);
@@ -734479,51 +735123,48 @@ class LiFiBridge {
734479
735123
  return a.toLowerCase() === b.toLowerCase();
734480
735124
  }
734481
735125
  /**
734482
- * Configure LiFi SDK providers from the given private keys.
734483
- * Sets up wallet/signer for each protocol type present in the keys map.
735126
+ * Configure the LiFi SDK provider for the route source protocol.
734484
735127
  */
734485
- configureLiFiProviders(privateKeys, fromChain, fromRpcUrl) {
735128
+ configureLiFiProvider(protocol, key, fromChain, fromRpcUrl) {
734486
735129
  const providers = [];
734487
- for (const [protocol, key] of Object.entries(privateKeys)) {
734488
- switch (protocol) {
734489
- case types/* ProtocolType */.Hb.Ethereum: {
734490
- const account = (0,privateKeyToAccount/* privateKeyToAccount */.R)((0,addresses/* ensure0x */.Ho)(key));
734491
- const chain = getViemChain(fromChain, fromRpcUrl);
734492
- const walletClient = (0,createWalletClient/* createWalletClient */.F)({
734493
- account,
734494
- chain,
734495
- transport: (0,transports_http/* http */.L)(fromRpcUrl),
734496
- });
734497
- providers.push(EVM({
734498
- getWalletClient: async () => walletClient,
734499
- switchChain: async (requiredChainId) => {
734500
- const switchRpcUrl = this.getRpcUrlForChainId(requiredChainId);
734501
- const requiredChain = getViemChain(requiredChainId, switchRpcUrl);
734502
- return (0,createWalletClient/* createWalletClient */.F)({
734503
- account,
734504
- chain: requiredChain,
734505
- transport: (0,transports_http/* http */.L)(switchRpcUrl),
734506
- });
734507
- },
734508
- }));
734509
- break;
734510
- }
734511
- case types/* ProtocolType */.Hb.Sealevel: {
734512
- const base58Key = toBase58SolanaKey(key);
734513
- providers.push(Solana({
734514
- getWalletAdapter: async () => new KeypairWalletAdapter(base58Key),
734515
- }));
734516
- break;
734517
- }
734518
- default:
734519
- throw new Error(`Unsupported protocol type '${protocol}' for LiFi provider`);
735130
+ switch (protocol) {
735131
+ case types/* ProtocolType */.Hb.Ethereum: {
735132
+ const account = (0,privateKeyToAccount/* privateKeyToAccount */.R)((0,addresses/* ensure0x */.Ho)(key));
735133
+ const chain = getViemChain(fromChain, fromRpcUrl);
735134
+ const walletClient = (0,createWalletClient/* createWalletClient */.F)({
735135
+ account,
735136
+ chain,
735137
+ transport: (0,transports_http/* http */.L)(fromRpcUrl),
735138
+ });
735139
+ providers.push(EVM({
735140
+ getWalletClient: async () => walletClient,
735141
+ switchChain: async (requiredChainId) => {
735142
+ const switchRpcUrl = this.getRpcUrlForChainId(requiredChainId);
735143
+ const requiredChain = getViemChain(requiredChainId, switchRpcUrl);
735144
+ return (0,createWalletClient/* createWalletClient */.F)({
735145
+ account,
735146
+ chain: requiredChain,
735147
+ transport: (0,transports_http/* http */.L)(switchRpcUrl),
735148
+ });
735149
+ },
735150
+ }));
735151
+ break;
735152
+ }
735153
+ case types/* ProtocolType */.Hb.Sealevel: {
735154
+ const base58Key = toBase58SolanaKey(key);
735155
+ providers.push(Solana({
735156
+ getWalletAdapter: async () => new KeypairWalletAdapter(base58Key),
735157
+ }));
735158
+ break;
734520
735159
  }
735160
+ default:
735161
+ throw new Error(`Unsupported protocol type '${protocol}' for LiFi provider`);
734521
735162
  }
734522
735163
  config_config.setProviders(providers);
734523
735164
  this.logger.debug({
734524
735165
  fromChain,
734525
- protocols: Object.keys(privateKeys),
734526
- }, 'Configured LiFi providers for route execution');
735166
+ protocol,
735167
+ }, 'Configured LiFi provider for route execution');
734527
735168
  }
734528
735169
  /**
734529
735170
  * Get a quote for bridging tokens.
@@ -734619,7 +735260,7 @@ class LiFiBridge {
734619
735260
  slippage: (params.slippage ?? this.config.defaultSlippage ?? 0.005)
734620
735261
  .toFixed(4)
734621
735262
  .replace(/\.?0+$/, ''),
734622
- order: 'CHEAPEST',
735263
+ order: 'RECOMMENDED',
734623
735264
  integrator: this.config.integrator,
734624
735265
  });
734625
735266
  if (this.config.apiKey) {
@@ -734701,7 +735342,8 @@ class LiFiBridge {
734701
735342
  const fromChain = route.fromChainId;
734702
735343
  const toChain = route.toChainId;
734703
735344
  const fromProtocol = this.getProtocolTypeForChainId(fromChain);
734704
- (0,validation/* assert */.v)(privateKeys[fromProtocol ?? types/* ProtocolType */.Hb.Ethereum], `Missing private key for source chain protocol ${fromProtocol ?? types/* ProtocolType */.Hb.Ethereum}`);
735345
+ const sourceProtocol = fromProtocol ?? types/* ProtocolType */.Hb.Ethereum;
735346
+ (0,validation/* assert */.v)(privateKeys[sourceProtocol], `Missing private key for source chain protocol ${sourceProtocol}`);
734705
735347
  this.logger.info({
734706
735348
  quoteId: quote.id,
734707
735349
  tool: quote.tool,
@@ -734720,11 +735362,7 @@ class LiFiBridge {
734720
735362
  let txHash;
734721
735363
  let executedRoute;
734722
735364
  try {
734723
- this.configureLiFiProviders(privateKeys, fromChain, fromRpcUrl);
734724
- this.logger.debug({
734725
- fromChain,
734726
- protocols: Object.keys(privateKeys),
734727
- }, 'Configured LiFi providers for route execution');
735365
+ this.configureLiFiProvider(sourceProtocol, privateKeys[sourceProtocol], fromChain, fromRpcUrl);
734728
735366
  // Execute route with update callbacks
734729
735367
  executedRoute = await executeRoute(route, {
734730
735368
  // Update callback for route progress
@@ -735208,6 +735846,15 @@ const RebalancerConfigSchema = zod__WEBPACK_IMPORTED_MODULE_0__/* .object */ .Ik
735208
735846
  });
735209
735847
  }
735210
735848
  }
735849
+ else if (protocol === _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .ProtocolType */ .Hb.Tron) {
735850
+ if (!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isAddressEvm */ .NR)(signerConfig.address)) {
735851
+ ctx.addIssue({
735852
+ code: zod__WEBPACK_IMPORTED_MODULE_2__/* .ZodIssueCode */ .eq.custom,
735853
+ message: `inventorySigners.${protocol} must be a valid 0x hex address, got: ${signerConfig.address}`,
735854
+ path: ['inventorySigners', protocol],
735855
+ });
735856
+ }
735857
+ }
735211
735858
  // Other protocols: accept any non-empty string (future-proof)
735212
735859
  }
735213
735860
  }
@@ -735997,10 +736644,12 @@ class InventoryRebalancer {
735997
736644
  const targetOutput = source.maxTargetOutput >= remaining
735998
736645
  ? remaining
735999
736646
  : source.maxTargetOutput;
736647
+ const quoteMode = source.maxTargetOutput > remaining ? 'reverse' : 'forward';
736000
736648
  bridgePlans.push({
736001
736649
  chain: source.chain,
736002
736650
  maxSourceInput: source.maxSourceInput,
736003
736651
  targetOutput,
736652
+ quoteMode,
736004
736653
  });
736005
736654
  totalPlanned += targetOutput;
736006
736655
  }
@@ -736015,6 +736664,7 @@ class InventoryRebalancer {
736015
736664
  chain: p.chain,
736016
736665
  maxSourceInput: p.maxSourceInput.toString(),
736017
736666
  targetOutput: p.targetOutput.toString(),
736667
+ quoteMode: p.quoteMode,
736018
736668
  })),
736019
736669
  totalPlanned: totalPlanned.toString(),
736020
736670
  shortfall: shortfall.toString(),
@@ -736022,33 +736672,53 @@ class InventoryRebalancer {
736022
736672
  intentId: intent.id,
736023
736673
  }, 'Created bridge plans using gas-adjusted viable amounts');
736024
736674
  // Execute all bridges in parallel
736025
- const bridgeResults = await Promise.allSettled(bridgePlans.map((plan) => this.executeInventoryMovement(plan.chain, destination, plan.targetOutput, plan.maxSourceInput, intent, route.externalBridge)));
736675
+ const bridgeResults = await Promise.allSettled(bridgePlans.map((plan) => this.executeInventoryMovement(plan.chain, destination, plan.targetOutput, plan.maxSourceInput, plan.quoteMode, intent, route.externalBridge)));
736026
736676
  // Process results
736027
736677
  let successCount = 0;
736028
- let totalBridged = 0n;
736678
+ let totalQuotedOutputMin = 0n;
736029
736679
  const failedErrors = [];
736030
736680
  for (let i = 0; i < bridgeResults.length; i++) {
736031
736681
  const result = bridgeResults[i];
736032
736682
  const plan = bridgePlans[i];
736033
736683
  if (result.status === 'fulfilled' && result.value.success) {
736034
736684
  successCount++;
736035
- totalBridged += plan.targetOutput;
736685
+ totalQuotedOutputMin += result.value.quotedOutputMin;
736036
736686
  this.logger.info({
736037
736687
  sourceChain: plan.chain,
736038
- amount: plan.targetOutput.toString(),
736688
+ plannedTargetOutput: plan.targetOutput.toString(),
736689
+ quotedOutput: result.value.quotedOutput.toString(),
736690
+ quotedOutputMin: result.value.quotedOutputMin.toString(),
736691
+ quoteModeUsed: result.value.quoteModeUsed,
736039
736692
  txHash: result.value.txHash,
736040
736693
  }, 'Inventory movement succeeded');
736041
736694
  }
736042
736695
  else {
736043
- const error = result.status === 'rejected'
736044
- ? result.reason?.message
736045
- : result.value.error;
736696
+ let error;
736697
+ if (result.status === 'rejected') {
736698
+ if (result.reason instanceof Error) {
736699
+ error = result.reason.message;
736700
+ }
736701
+ else if (typeof result.reason === 'string') {
736702
+ error = result.reason;
736703
+ }
736704
+ else {
736705
+ try {
736706
+ error = JSON.stringify(result.reason) ?? String(result.reason);
736707
+ }
736708
+ catch {
736709
+ error = String(result.reason);
736710
+ }
736711
+ }
736712
+ }
736713
+ else if (!result.value.success) {
736714
+ error = result.value.error;
736715
+ }
736046
736716
  if (error) {
736047
736717
  failedErrors.push(`${plan.chain}: ${error}`);
736048
736718
  }
736049
736719
  this.logger.warn({
736050
736720
  sourceChain: plan.chain,
736051
- amount: plan.targetOutput.toString(),
736721
+ plannedTargetOutput: plan.targetOutput.toString(),
736052
736722
  error,
736053
736723
  }, 'Inventory movement failed');
736054
736724
  }
@@ -736064,7 +736734,7 @@ class InventoryRebalancer {
736064
736734
  this.logger.info({
736065
736735
  targetChain: destination,
736066
736736
  successCount,
736067
- totalBridged: totalBridged.toString(),
736737
+ totalQuotedOutputMin: totalQuotedOutputMin.toString(),
736068
736738
  targetAmount: requestedLocalAmount.toString(),
736069
736739
  targetAmountCanonical: amount.toString(),
736070
736740
  intentId: intent.id,
@@ -736168,6 +736838,7 @@ class InventoryRebalancer {
736168
736838
  buildSignerAccountConfig(protocol, key, chain) {
736169
736839
  void chain;
736170
736840
  switch (protocol) {
736841
+ case _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Tron:
736171
736842
  case _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Ethereum:
736172
736843
  return { protocol, privateKey: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_11__/* .ensure0x */ .Ho)(key) };
736173
736844
  case _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Sealevel:
@@ -736195,7 +736866,7 @@ class InventoryRebalancer {
736195
736866
  async getTransactionReceipt(origin, txHash) {
736196
736867
  try {
736197
736868
  const protocol = this.getProtocolForChain(origin);
736198
- if (protocol === _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Ethereum) {
736869
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .isEVMLike */ .Us)(protocol)) {
736199
736870
  const provider = this.warpCore.multiProvider.getEthersV5Provider(origin);
736200
736871
  const receipt = await provider.getTransactionReceipt(txHash);
736201
736872
  if (!receipt)
@@ -736323,18 +736994,20 @@ class InventoryRebalancer {
736323
736994
  /**
736324
736995
  * Execute inventory movement from source chain to target chain via LiFi bridge.
736325
736996
  *
736326
- * Uses reverse quotes (`toAmount`) so plans are expressed in target-chain local
736327
- * units and source-local spend is discovered by the bridge quote.
736997
+ * Quote mode is chosen during planning:
736998
+ * - `reverse`: request an exact target-chain output when the source has headroom
736999
+ * - `forward`: spend the source cap directly when source inventory is the limiter
736328
737000
  *
736329
737001
  * @param sourceChain - Chain to move inventory from
736330
737002
  * @param targetChain - Chain to move inventory to (origin chain for rebalancing)
736331
737003
  * @param targetOutputAmount - Destination-local amount to receive
736332
737004
  * @param maxSourceInput - Maximum source-local amount available for this plan
737005
+ * @param quoteMode - Whether to execute this bridge plan as exact-input or exact-output
736333
737006
  * @param intent - Rebalance intent for tracking
736334
737007
  * @param externalBridgeType - External bridge type to use
736335
737008
  * @returns Result with success status and optional txHash/error
736336
737009
  */
736337
- async executeInventoryMovement(sourceChain, targetChain, targetOutputAmount, maxSourceInput, intent, externalBridgeType) {
737010
+ async executeInventoryMovement(sourceChain, targetChain, targetOutputAmount, maxSourceInput, quoteMode, intent, externalBridgeType) {
736338
737011
  const sourceToken = this.getTokenForChain(sourceChain);
736339
737012
  if (!sourceToken) {
736340
737013
  return {
@@ -736365,15 +737038,36 @@ class InventoryRebalancer {
736365
737038
  }, 'Resolved token addresses for LiFi bridge');
736366
737039
  try {
736367
737040
  const externalBridge = this.getExternalBridge(externalBridgeType);
736368
- const quote = await externalBridge.quote({
737041
+ const fromAddress = this.getInventorySignerAddress(sourceChain);
737042
+ const toAddress = this.getInventorySignerAddress(targetChain);
737043
+ const quoteWithMode = async (mode) => externalBridge.quote({
736369
737044
  fromChain: sourceChainId,
736370
737045
  toChain: targetChainId,
736371
737046
  fromToken: fromTokenAddress,
736372
737047
  toToken: toTokenAddress,
736373
- toAmount: targetOutputAmount,
736374
- fromAddress: this.getInventorySignerAddress(sourceChain),
736375
- toAddress: this.getInventorySignerAddress(targetChain),
737048
+ ...(mode === 'forward'
737049
+ ? { fromAmount: maxSourceInput }
737050
+ : { toAmount: targetOutputAmount }),
737051
+ fromAddress,
737052
+ toAddress,
736376
737053
  });
737054
+ let quoteModeUsed = quoteMode;
737055
+ let quote = await quoteWithMode(quoteModeUsed);
737056
+ if (quoteModeUsed === 'reverse' && quote.fromAmount > maxSourceInput) {
737057
+ this.logger.warn({
737058
+ sourceChain,
737059
+ targetChain,
737060
+ plannedQuoteMode: quoteMode,
737061
+ requestedTargetOutput: targetOutputAmount.toString(),
737062
+ quotedInput: quote.fromAmount.toString(),
737063
+ maxSourceInput: maxSourceInput.toString(),
737064
+ intentId: intent.id,
737065
+ }, 'Reverse bridge quote exceeded source capacity, retrying with forward quote');
737066
+ // Spend the full source cap on fallback; minor output drift is acceptable
737067
+ // and will be reconciled by later cycles rather than risking livelock.
737068
+ quoteModeUsed = 'forward';
737069
+ quote = await quoteWithMode(quoteModeUsed);
737070
+ }
736377
737071
  const inputRequired = quote.fromAmount;
736378
737072
  if (inputRequired > maxSourceInput) {
736379
737073
  return {
@@ -736388,15 +737082,19 @@ class InventoryRebalancer {
736388
737082
  targetChainId,
736389
737083
  requestedTargetOutput: targetOutputAmount.toString(),
736390
737084
  requestedTargetOutputFormatted: this.formatLocalAmount(targetOutputAmount, targetToken),
737085
+ quoteModePlanned: quoteMode,
737086
+ quoteModeUsed,
737087
+ retriedAsForward: quoteMode === 'reverse' && quoteModeUsed === 'forward',
736391
737088
  inputRequired: inputRequired.toString(),
736392
737089
  inputRequiredFormatted: this.formatLocalAmount(inputRequired, sourceToken),
736393
- expectedOutput: quote.toAmount.toString(),
736394
- expectedOutputMin: quote.toAmountMin.toString(),
736395
- expectedOutputFormatted: this.formatLocalAmount(quote.toAmount, targetToken),
737090
+ quotedOutput: quote.toAmount.toString(),
737091
+ quotedOutputMin: quote.toAmountMin.toString(),
737092
+ quotedOutputFormatted: this.formatLocalAmount(quote.toAmount, targetToken),
737093
+ quotedOutputMinFormatted: this.formatLocalAmount(quote.toAmountMin, targetToken),
736396
737094
  gasCosts: quote.gasCosts.toString(),
736397
737095
  feeCosts: quote.feeCosts.toString(),
736398
737096
  intentId: intent.id,
736399
- }, 'Executing inventory movement via LiFi reverse quote');
737097
+ }, 'Executing inventory movement via bridge quote');
736400
737098
  this.logger.debug({
736401
737099
  quoteId: quote.id,
736402
737100
  tool: quote.tool,
@@ -736442,19 +737140,27 @@ class InventoryRebalancer {
736442
737140
  amountConsumed: inputRequired.toString(),
736443
737141
  totalConsumed: (currentConsumed + inputRequired).toString(),
736444
737142
  }, 'Updated consumed inventory after LiFi bridge');
736445
- return { success: true, txHash: result.txHash };
737143
+ return {
737144
+ success: true,
737145
+ txHash: result.txHash,
737146
+ inputRequired,
737147
+ quotedOutput: quote.toAmount,
737148
+ quotedOutputMin: quote.toAmountMin,
737149
+ quoteModeUsed,
737150
+ };
736446
737151
  }
736447
737152
  catch (error) {
737153
+ const errorMessage = error instanceof Error ? error.message : String(error);
736448
737154
  this.logger.error({
736449
737155
  sourceChain,
736450
737156
  targetChain,
736451
737157
  amount: targetOutputAmount.toString(),
736452
737158
  intentId: intent.id,
736453
- error: error.message,
737159
+ error: errorMessage,
736454
737160
  }, 'Failed to execute inventory movement');
736455
737161
  return {
736456
737162
  success: false,
736457
- error: error.message,
737163
+ error: errorMessage,
736458
737164
  };
736459
737165
  }
736460
737166
  }
@@ -737492,7 +738198,7 @@ class RebalancerContextFactory {
737492
738198
  ...new Set(warpCoreConfig.tokens.map((t) => t.chainName)),
737493
738199
  ];
737494
738200
  for (const chain of warpChains) {
737495
- if (multiProvider.getProtocol(chain) !== _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb.Ethereum) {
738201
+ if (!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .isEVMLike */ .Us)(multiProvider.getProtocol(chain))) {
737496
738202
  logger.debug({ chain }, 'Skipping provider init for non-EVM chain');
737497
738203
  continue;
737498
738204
  }
@@ -737596,11 +738302,10 @@ class RebalancerContextFactory {
737596
738302
  bridges,
737597
738303
  rebalancerAddress,
737598
738304
  inventorySignerAddresses: this.config.inventorySigners
737599
- ? Object.entries(this.config.inventorySigners)
737600
- .filter(([protocol]) => protocol === _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb.Ethereum)
737601
- .map(([, signerConfig]) => signerConfig)
737602
- .map((s) => s.address)
737603
- .filter(Boolean)
738305
+ ? Object.values(_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb)
738306
+ .filter((protocol) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .isEVMLike */ .Us)(protocol))
738307
+ .map((protocol) => this.config.inventorySigners?.[protocol]?.address)
738308
+ .filter((address) => Boolean(address))
737604
738309
  : undefined,
737605
738310
  intentTTL: this.config.intentTTL,
737606
738311
  };
@@ -737655,11 +738360,12 @@ class RebalancerContextFactory {
737655
738360
  const SUPPORTED_INVENTORY_PROTOCOLS = new Set([
737656
738361
  _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb.Ethereum,
737657
738362
  _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb.Sealevel,
738363
+ _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb.Tron,
737658
738364
  ]);
737659
738365
  for (const protocol of requiredProtocols) {
737660
738366
  const chainsForProtocol = allRelevantChains.filter((chain) => this.warpCore.multiProvider.getChainMetadata(chain).protocol ===
737661
738367
  protocol);
737662
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_16__/* .assert */ .v)(SUPPORTED_INVENTORY_PROTOCOLS.has(protocol), `Inventory rebalancing does not support protocol '${protocol}' (chains: ${chainsForProtocol.join(', ')}). Supported: ethereum, sealevel`);
738368
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_16__/* .assert */ .v)(SUPPORTED_INVENTORY_PROTOCOLS.has(protocol), `Inventory rebalancing does not support protocol '${protocol}' (chains: ${chainsForProtocol.join(', ')}). Supported: ethereum, sealevel, tron`);
737663
738369
  }
737664
738370
  for (const protocol of requiredProtocols) {
737665
738371
  const chainsForProtocol = allRelevantChains.filter((chain) => this.warpCore.multiProvider.getChainMetadata(chain).protocol ===
@@ -737681,21 +738387,26 @@ class RebalancerContextFactory {
737681
738387
  else {
737682
738388
  this.logger.debug('No external bridges configured, skipping inventory components');
737683
738389
  }
737684
- const inventoryAddresses = Object.fromEntries(Object.entries(inventorySigners).map(([protocol, cfg]) => [
737685
- protocol,
737686
- cfg.address,
737687
- ]));
738390
+ const inventoryAddresses = {};
738391
+ for (const protocol of Object.values(_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb)) {
738392
+ const cfg = inventorySigners[protocol];
738393
+ if (!cfg)
738394
+ continue;
738395
+ inventoryAddresses[protocol] = cfg.address;
738396
+ }
737688
738397
  const inventoryConfig = {
737689
738398
  inventoryAddresses,
737690
738399
  chains: allRelevantChains,
737691
738400
  };
737692
738401
  // Merge config addresses with runtime keys
737693
738402
  const mergedSigners = {};
737694
- for (const [protocol, cfg] of Object.entries(inventorySigners)) {
737695
- const protocolKey = protocol;
737696
- mergedSigners[protocolKey] = {
738403
+ for (const protocol of Object.values(_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb)) {
738404
+ const cfg = inventorySigners[protocol];
738405
+ if (!cfg)
738406
+ continue;
738407
+ mergedSigners[protocol] = {
737697
738408
  address: cfg.address,
737698
- key: cfg.key ?? this.inventorySignerKeysByProtocol?.[protocolKey],
738409
+ key: cfg.key ?? this.inventorySignerKeysByProtocol?.[protocol],
737699
738410
  };
737700
738411
  }
737701
738412
  const inventoryRebalancer = new _core_InventoryRebalancer_js__WEBPACK_IMPORTED_MODULE_2__/* .InventoryRebalancer */ .c({
@@ -737709,10 +738420,13 @@ class RebalancerContextFactory {
737709
738420
  };
737710
738421
  }
737711
738422
  // 3. Build inventory config
737712
- const inventoryAddresses = Object.fromEntries(Object.entries(inventorySigners).map(([protocol, cfg]) => [
737713
- protocol,
737714
- cfg.address,
737715
- ]));
738423
+ const inventoryAddresses = {};
738424
+ for (const protocol of Object.values(_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb)) {
738425
+ const cfg = inventorySigners[protocol];
738426
+ if (!cfg)
738427
+ continue;
738428
+ inventoryAddresses[protocol] = cfg.address;
738429
+ }
737716
738430
  const inventoryConfig = {
737717
738431
  inventoryAddresses,
737718
738432
  chains: allRelevantChains,
@@ -737720,11 +738434,13 @@ class RebalancerContextFactory {
737720
738434
  // 4. Create InventoryRebalancer
737721
738435
  // Merge config addresses with runtime keys
737722
738436
  const mergedSigners = {};
737723
- for (const [protocol, cfg] of Object.entries(inventorySigners)) {
737724
- const protocolKey = protocol;
737725
- mergedSigners[protocolKey] = {
738437
+ for (const protocol of Object.values(_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_13__/* .ProtocolType */ .Hb)) {
738438
+ const cfg = inventorySigners[protocol];
738439
+ if (!cfg)
738440
+ continue;
738441
+ mergedSigners[protocol] = {
737726
738442
  address: cfg.address,
737727
- key: cfg.key ?? this.inventorySignerKeysByProtocol?.[protocolKey],
738443
+ key: cfg.key ?? this.inventorySignerKeysByProtocol?.[protocol],
737728
738444
  };
737729
738445
  }
737730
738446
  const inventoryRebalancer = new _core_InventoryRebalancer_js__WEBPACK_IMPORTED_MODULE_2__/* .InventoryRebalancer */ .c({
@@ -740841,12 +741557,17 @@ __webpack_async_result__();
740841
741557
  async function getConfirmedBlockTag(multiProvider, chainName, logger) {
740842
741558
  try {
740843
741559
  const metadata = multiProvider.getChainMetadata(chainName);
740844
- // Only EVM chains support block tag queries
740845
- if (metadata.protocol !== _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .ProtocolType */ .Hb.Ethereum) {
741560
+ // Only EVM-like chains support block tag queries (e.g., Ethereum, Tron).
741561
+ // Tron uses TronJsonRpcProvider which supports eth_blockNumber
741562
+ if (!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .isEVMLike */ .Us)(metadata.protocol)) {
740846
741563
  return undefined;
740847
741564
  }
740848
741565
  const reorgPeriod = metadata.blocks?.reorgPeriod ?? 32;
740849
741566
  if (typeof reorgPeriod === 'string') {
741567
+ if (metadata.protocol === _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .ProtocolType */ .Hb.Tron) {
741568
+ logger?.warn({ chain: chainName, reorgPeriod }, 'Tron does not support named block tags — ignoring string reorgPeriod, using latest block');
741569
+ return undefined;
741570
+ }
740850
741571
  return reorgPeriod;
740851
741572
  }
740852
741573
  const provider = multiProvider.getEthersV5Provider(chainName);
@@ -741085,13 +741806,13 @@ async function calculateTransferCosts(originChain, destinationChain, availableIn
741085
741806
  (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .isZeroishAddress */ .Hi)(gasQuote.tokenFeeQuote.addressOrDenom)
741086
741807
  ? (gasQuote.tokenFeeQuote?.amount ?? 0n)
741087
741808
  : 0n;
741088
- // Skip gas estimation for non-EVM chains (e.g., Solana).
741809
+ // Skip gas estimation for non-EVM-like chains (e.g., Solana).
741089
741810
  // Non-EVM chains have negligible base fees (~5000 lamports ~$0.0001 on Solana)
741090
741811
  // compared to EVM gas costs ($0.50-$50/tx). The IGP (Interchain Gas Paymaster)
741091
741812
  // reservation dominates the cost, not chain-specific gas. Thus gasCost=0 is a
741092
- // safe approximation for non-EVM origin chains.
741813
+ // safe approximation for non-EVM-like origin chains.
741093
741814
  const originProtocol = multiProvider.getProtocol(originChain);
741094
- if (originProtocol !== _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .ProtocolType */ .Hb.Ethereum) {
741815
+ if (!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .isEVMLike */ .Us)(originProtocol)) {
741095
741816
  const totalCost = igpCost + tokenFeeCost;
741096
741817
  let maxTransferable;
741097
741818
  if (availableInventory <= totalCost) {
@@ -741280,14 +742001,17 @@ const REBALANCEABLE_TOKEN_COLLATERALIZED_STANDARDS = new Set([
741280
742001
  _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .TokenStandard */ .ph.EvmHypNative,
741281
742002
  _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .TokenStandard */ .ph.SealevelHypCollateral,
741282
742003
  _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .TokenStandard */ .ph.SealevelHypNative,
742004
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .TokenStandard */ .ph.TronHypCollateral,
742005
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .TokenStandard */ .ph.TronHypNative,
741283
742006
  ]);
741284
- // SDK-backed native token standard check scoped to EVM and Sealevel only (2-protocol scope).
742007
+ // SDK-backed native token standard check scoped to EVM, Sealevel, and Tron (3-protocol scope).
741285
742008
  // NOTE: We intentionally do NOT use the full PROTOCOL_TO_HYP_NATIVE_STANDARD map (all 7 protocols)
741286
- // because the rebalancer only supports EVM and Sealevel native token bridging.
742009
+ // because the rebalancer only supports EVM, Sealevel, and Tron native token bridging.
741287
742010
  // Expanding this would change gas reservation behavior for other protocols.
741288
742011
  const REBALANCER_NATIVE_STANDARDS = new Set([
741289
742012
  _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .PROTOCOL_TO_HYP_NATIVE_STANDARD */ .Zz[_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .ProtocolType */ .Hb.Ethereum],
741290
742013
  _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .PROTOCOL_TO_HYP_NATIVE_STANDARD */ .Zz[_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .ProtocolType */ .Hb.Sealevel],
742014
+ _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_0__/* .PROTOCOL_TO_HYP_NATIVE_STANDARD */ .Zz[_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .ProtocolType */ .Hb.Tron],
741291
742015
  ]);
741292
742016
  /**
741293
742017
  * Check if a token's balance is the same as native gas balance.
@@ -741808,21 +742532,17 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
741808
742532
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
741809
742533
  /* harmony export */ l: () => (/* binding */ AggregationMetadataBuilder)
741810
742534
  /* harmony export */ });
741811
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(69352);
741812
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(94523);
741813
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(14918);
741814
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(18508);
741815
- /* harmony import */ var _decode_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(58475);
741816
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_decode_js__WEBPACK_IMPORTED_MODULE_0__]);
741817
- _decode_js__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
741818
-
742535
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(69352);
742536
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(94523);
742537
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(14918);
742538
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(18508);
741819
742539
 
741820
742540
 
741821
742541
  const RANGE_SIZE = 4;
741822
742542
  // adapted from rust/main/agents/relayer/src/msg/metadata/aggregation.rs
741823
742543
  class AggregationMetadataBuilder {
741824
742544
  base;
741825
- logger = _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .rootLogger */ .Jk.child({
742545
+ logger = _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_0__/* .rootLogger */ .Jk.child({
741826
742546
  module: 'AggregationIsmMetadataBuilder',
741827
742547
  });
741828
742548
  constructor(base) {
@@ -741840,7 +742560,7 @@ class AggregationMetadataBuilder {
741840
742560
  };
741841
742561
  }
741842
742562
  // Build metadata for each submodule in parallel using mapAllSettled
741843
- const { fulfilled, rejected } = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .mapAllSettled */ .bh)(context.ism.modules, (module) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .timeout */ .wR)(this.base.build({
742563
+ const { fulfilled, rejected } = await (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .mapAllSettled */ .bh)(context.ism.modules, (module) => (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .timeout */ .wR)(this.base.build({
741844
742564
  ...context,
741845
742565
  ism: module,
741846
742566
  }, maxDepth - 1), timeoutMs));
@@ -741902,38 +742622,38 @@ class AggregationMetadataBuilder {
741902
742622
  if (!meta)
741903
742623
  return;
741904
742624
  const start = encoded.length;
741905
- encoded = Buffer.concat([encoded, (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .fromHexString */ .xJ)(meta)]);
742625
+ encoded = Buffer.concat([encoded, (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .fromHexString */ .xJ)(meta)]);
741906
742626
  const end = encoded.length;
741907
742627
  const rangeStart = this.rangeIndex(index);
741908
742628
  encoded.writeUint32BE(start, rangeStart);
741909
742629
  encoded.writeUint32BE(end, rangeStart + RANGE_SIZE);
741910
742630
  });
741911
- return (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .toHexString */ .U5)(encoded);
742631
+ return (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .toHexString */ .U5)(encoded);
741912
742632
  }
741913
742633
  static metadataRange(metadata, index) {
741914
742634
  const rangeStart = this.rangeIndex(index);
741915
- const encoded = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .fromHexString */ .xJ)(metadata);
742635
+ const encoded = (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .fromHexString */ .xJ)(metadata);
741916
742636
  const start = encoded.readUint32BE(rangeStart);
741917
742637
  const end = encoded.readUint32BE(rangeStart + RANGE_SIZE);
741918
742638
  return {
741919
742639
  start,
741920
742640
  end,
741921
- encoded: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .toHexString */ .U5)(encoded.subarray(start, end)),
742641
+ encoded: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .toHexString */ .U5)(encoded.subarray(start, end)),
741922
742642
  };
741923
742643
  }
741924
- static decode(metadata, context) {
742644
+ static decode(metadata, context, decodeSubmodule) {
741925
742645
  const submoduleMetadata = context.ism.modules.map((ism, index) => {
741926
742646
  const range = this.metadataRange(metadata, index);
741927
742647
  if (range.start == 0)
741928
742648
  return null;
741929
742649
  if (typeof ism === 'string')
741930
742650
  return range.encoded;
741931
- return (0,_decode_js__WEBPACK_IMPORTED_MODULE_0__/* .decodeIsmMetadata */ .R)(range.encoded, {
742651
+ return decodeSubmodule(range.encoded, {
741932
742652
  ...context,
741933
742653
  ism: ism,
741934
742654
  });
741935
742655
  });
741936
- return { type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.AGGREGATION, submoduleMetadata };
742656
+ return { type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.AGGREGATION, submoduleMetadata };
741937
742657
  }
741938
742658
  }
741939
742659
  //# sourceMappingURL=aggregation.js.map
@@ -742142,18 +742862,18 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
742142
742862
  /* harmony export */ });
742143
742863
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(69352);
742144
742864
  /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_11__ = __nccwpck_require__(52116);
742145
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(94523);
742865
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(94523);
742146
742866
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(21387);
742147
742867
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(73938);
742148
- /* harmony import */ var _aggregation_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(87511);
742149
- /* harmony import */ var _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(51594);
742150
- /* harmony import */ var _ccipread_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(59010);
742151
- /* harmony import */ var _decode_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(58475);
742152
- /* harmony import */ var _multisig_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(61563);
742868
+ /* harmony import */ var _aggregation_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(87511);
742869
+ /* harmony import */ var _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(51594);
742870
+ /* harmony import */ var _ccipread_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(59010);
742871
+ /* harmony import */ var _decode_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(58475);
742872
+ /* harmony import */ var _multisig_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(61563);
742153
742873
  /* harmony import */ var _null_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(13376);
742154
- /* harmony import */ var _routing_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(63715);
742155
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_aggregation_js__WEBPACK_IMPORTED_MODULE_0__, _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__, _ccipread_js__WEBPACK_IMPORTED_MODULE_2__, _decode_js__WEBPACK_IMPORTED_MODULE_3__, _multisig_js__WEBPACK_IMPORTED_MODULE_4__, _routing_js__WEBPACK_IMPORTED_MODULE_5__, _null_js__WEBPACK_IMPORTED_MODULE_7__]);
742156
- ([_aggregation_js__WEBPACK_IMPORTED_MODULE_0__, _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__, _ccipread_js__WEBPACK_IMPORTED_MODULE_2__, _decode_js__WEBPACK_IMPORTED_MODULE_3__, _multisig_js__WEBPACK_IMPORTED_MODULE_4__, _routing_js__WEBPACK_IMPORTED_MODULE_5__, _null_js__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
742874
+ /* harmony import */ var _routing_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(63715);
742875
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__, _ccipread_js__WEBPACK_IMPORTED_MODULE_1__, _decode_js__WEBPACK_IMPORTED_MODULE_2__, _multisig_js__WEBPACK_IMPORTED_MODULE_3__, _routing_js__WEBPACK_IMPORTED_MODULE_4__, _aggregation_js__WEBPACK_IMPORTED_MODULE_6__, _null_js__WEBPACK_IMPORTED_MODULE_7__]);
742876
+ ([_arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__, _ccipread_js__WEBPACK_IMPORTED_MODULE_1__, _decode_js__WEBPACK_IMPORTED_MODULE_2__, _multisig_js__WEBPACK_IMPORTED_MODULE_3__, _routing_js__WEBPACK_IMPORTED_MODULE_4__, _aggregation_js__WEBPACK_IMPORTED_MODULE_6__, _null_js__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
742157
742877
 
742158
742878
 
742159
742879
 
@@ -742171,14 +742891,14 @@ class BaseMetadataBuilder {
742171
742891
  arbL2ToL1MetadataBuilder;
742172
742892
  ccipReadMetadataBuilder;
742173
742893
  multiProvider;
742174
- logger = _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_6__/* .rootLogger */ .Jk.child({ module: 'BaseMetadataBuilder' });
742894
+ logger = _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_5__/* .rootLogger */ .Jk.child({ module: 'BaseMetadataBuilder' });
742175
742895
  constructor(core) {
742176
- this.multisigMetadataBuilder = new _multisig_js__WEBPACK_IMPORTED_MODULE_4__/* .MultisigMetadataBuilder */ .P(core);
742177
- this.aggregationMetadataBuilder = new _aggregation_js__WEBPACK_IMPORTED_MODULE_0__/* .AggregationMetadataBuilder */ .l(this);
742178
- this.routingMetadataBuilder = new _routing_js__WEBPACK_IMPORTED_MODULE_5__/* .DynamicRoutingMetadataBuilder */ .W(this);
742896
+ this.multisigMetadataBuilder = new _multisig_js__WEBPACK_IMPORTED_MODULE_3__/* .MultisigMetadataBuilder */ .P(core);
742897
+ this.aggregationMetadataBuilder = new _aggregation_js__WEBPACK_IMPORTED_MODULE_6__/* .AggregationMetadataBuilder */ .l(this);
742898
+ this.routingMetadataBuilder = new _routing_js__WEBPACK_IMPORTED_MODULE_4__/* .DynamicRoutingMetadataBuilder */ .W(this);
742179
742899
  this.nullMetadataBuilder = new _null_js__WEBPACK_IMPORTED_MODULE_7__/* .NullMetadataBuilder */ .c(core.multiProvider);
742180
- this.arbL2ToL1MetadataBuilder = new _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__/* .ArbL2ToL1MetadataBuilder */ .Q(core);
742181
- this.ccipReadMetadataBuilder = new _ccipread_js__WEBPACK_IMPORTED_MODULE_2__/* .OffchainLookupMetadataBuilder */ .L(core);
742900
+ this.arbL2ToL1MetadataBuilder = new _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__/* .ArbL2ToL1MetadataBuilder */ .Q(core);
742901
+ this.ccipReadMetadataBuilder = new _ccipread_js__WEBPACK_IMPORTED_MODULE_1__/* .OffchainLookupMetadataBuilder */ .L(core);
742182
742902
  this.multiProvider = core.multiProvider;
742183
742903
  }
742184
742904
  // assumes that all post dispatch hooks are included in dispatchTx logs
@@ -742237,7 +742957,7 @@ class BaseMetadataBuilder {
742237
742957
  }
742238
742958
  }
742239
742959
  static decode(metadata, context) {
742240
- return (0,_decode_js__WEBPACK_IMPORTED_MODULE_3__/* .decodeIsmMetadata */ .R)(metadata, context);
742960
+ return (0,_decode_js__WEBPACK_IMPORTED_MODULE_2__/* .decodeIsmMetadata */ .R)(metadata, context);
742241
742961
  }
742242
742962
  }
742243
742963
  //# sourceMappingURL=builder.js.map
@@ -742384,14 +743104,14 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
742384
743104
  /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
742385
743105
  /* harmony export */ R: () => (/* binding */ decodeIsmMetadata)
742386
743106
  /* harmony export */ });
742387
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(69352);
742388
- /* harmony import */ var _aggregation_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(87511);
742389
- /* harmony import */ var _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(51594);
742390
- /* harmony import */ var _multisig_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(61563);
742391
- /* harmony import */ var _null_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(13376);
742392
- /* harmony import */ var _routing_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(63715);
742393
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_aggregation_js__WEBPACK_IMPORTED_MODULE_0__, _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__, _multisig_js__WEBPACK_IMPORTED_MODULE_2__, _routing_js__WEBPACK_IMPORTED_MODULE_3__, _null_js__WEBPACK_IMPORTED_MODULE_5__]);
742394
- ([_aggregation_js__WEBPACK_IMPORTED_MODULE_0__, _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__, _multisig_js__WEBPACK_IMPORTED_MODULE_2__, _routing_js__WEBPACK_IMPORTED_MODULE_3__, _null_js__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
743107
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(69352);
743108
+ /* harmony import */ var _aggregation_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(87511);
743109
+ /* harmony import */ var _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(51594);
743110
+ /* harmony import */ var _multisig_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(61563);
743111
+ /* harmony import */ var _null_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(13376);
743112
+ /* harmony import */ var _routing_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(63715);
743113
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__, _multisig_js__WEBPACK_IMPORTED_MODULE_1__, _routing_js__WEBPACK_IMPORTED_MODULE_2__, _null_js__WEBPACK_IMPORTED_MODULE_4__, _aggregation_js__WEBPACK_IMPORTED_MODULE_5__]);
743114
+ ([_arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__, _multisig_js__WEBPACK_IMPORTED_MODULE_1__, _routing_js__WEBPACK_IMPORTED_MODULE_2__, _null_js__WEBPACK_IMPORTED_MODULE_4__, _aggregation_js__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
742395
743115
 
742396
743116
 
742397
743117
 
@@ -742401,23 +743121,23 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_agg
742401
743121
  function decodeIsmMetadata(metadata, context) {
742402
743122
  const { ism } = context;
742403
743123
  switch (ism.type) {
742404
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.TRUSTED_RELAYER:
742405
- return _null_js__WEBPACK_IMPORTED_MODULE_5__/* .NullMetadataBuilder */ .c.decode(ism);
742406
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.MERKLE_ROOT_MULTISIG:
742407
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.MESSAGE_ID_MULTISIG:
742408
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.STORAGE_MERKLE_ROOT_MULTISIG:
742409
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.STORAGE_MESSAGE_ID_MULTISIG:
742410
- return _multisig_js__WEBPACK_IMPORTED_MODULE_2__/* .MultisigMetadataBuilder */ .P.decode(metadata, ism.type);
742411
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.AGGREGATION:
742412
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.STORAGE_AGGREGATION:
742413
- return _aggregation_js__WEBPACK_IMPORTED_MODULE_0__/* .AggregationMetadataBuilder */ .l.decode(metadata, { ...context, ism });
742414
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.ROUTING:
742415
- return _routing_js__WEBPACK_IMPORTED_MODULE_3__/* .DynamicRoutingMetadataBuilder */ .W.decode(metadata, {
743124
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.TRUSTED_RELAYER:
743125
+ return _null_js__WEBPACK_IMPORTED_MODULE_4__/* .NullMetadataBuilder */ .c.decode(ism);
743126
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.MERKLE_ROOT_MULTISIG:
743127
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.MESSAGE_ID_MULTISIG:
743128
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.STORAGE_MERKLE_ROOT_MULTISIG:
743129
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.STORAGE_MESSAGE_ID_MULTISIG:
743130
+ return _multisig_js__WEBPACK_IMPORTED_MODULE_1__/* .MultisigMetadataBuilder */ .P.decode(metadata, ism.type);
743131
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.AGGREGATION:
743132
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.STORAGE_AGGREGATION:
743133
+ return _aggregation_js__WEBPACK_IMPORTED_MODULE_5__/* .AggregationMetadataBuilder */ .l.decode(metadata, { ...context, ism }, decodeIsmMetadata);
743134
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.ROUTING:
743135
+ return _routing_js__WEBPACK_IMPORTED_MODULE_2__/* .DynamicRoutingMetadataBuilder */ .W.decode(metadata, {
742416
743136
  ...context,
742417
743137
  ism,
742418
- });
742419
- case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .IsmType */ .GO.ARB_L2_TO_L1:
742420
- return _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__/* .ArbL2ToL1MetadataBuilder */ .Q.decode(metadata, {
743138
+ }, decodeIsmMetadata);
743139
+ case _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.ARB_L2_TO_L1:
743140
+ return _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__/* .ArbL2ToL1MetadataBuilder */ .Q.decode(metadata, {
742421
743141
  ...context,
742422
743142
  ism,
742423
743143
  });
@@ -742435,16 +743155,15 @@ __webpack_async_result__();
742435
743155
  /***/ ((__webpack_module__, __unused_webpack___webpack_exports__, __nccwpck_require__) => {
742436
743156
 
742437
743157
  __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
742438
- /* harmony import */ var _aggregation_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(87511);
742439
- /* harmony import */ var _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(51594);
742440
- /* harmony import */ var _builder_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(22254);
742441
- /* harmony import */ var _ccipread_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(59010);
742442
- /* harmony import */ var _decode_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(58475);
742443
- /* harmony import */ var _multisig_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(61563);
742444
- /* harmony import */ var _routing_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(63715);
742445
- /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(46152);
742446
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_aggregation_js__WEBPACK_IMPORTED_MODULE_0__, _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__, _builder_js__WEBPACK_IMPORTED_MODULE_2__, _ccipread_js__WEBPACK_IMPORTED_MODULE_3__, _decode_js__WEBPACK_IMPORTED_MODULE_4__, _multisig_js__WEBPACK_IMPORTED_MODULE_5__, _routing_js__WEBPACK_IMPORTED_MODULE_6__]);
742447
- ([_aggregation_js__WEBPACK_IMPORTED_MODULE_0__, _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_1__, _builder_js__WEBPACK_IMPORTED_MODULE_2__, _ccipread_js__WEBPACK_IMPORTED_MODULE_3__, _decode_js__WEBPACK_IMPORTED_MODULE_4__, _multisig_js__WEBPACK_IMPORTED_MODULE_5__, _routing_js__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
743158
+ /* harmony import */ var _arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(51594);
743159
+ /* harmony import */ var _builder_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(22254);
743160
+ /* harmony import */ var _ccipread_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(59010);
743161
+ /* harmony import */ var _decode_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(58475);
743162
+ /* harmony import */ var _multisig_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(61563);
743163
+ /* harmony import */ var _routing_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(63715);
743164
+ /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(46152);
743165
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__, _builder_js__WEBPACK_IMPORTED_MODULE_1__, _ccipread_js__WEBPACK_IMPORTED_MODULE_2__, _decode_js__WEBPACK_IMPORTED_MODULE_3__, _multisig_js__WEBPACK_IMPORTED_MODULE_4__, _routing_js__WEBPACK_IMPORTED_MODULE_5__]);
743166
+ ([_arbL2ToL1_js__WEBPACK_IMPORTED_MODULE_0__, _builder_js__WEBPACK_IMPORTED_MODULE_1__, _ccipread_js__WEBPACK_IMPORTED_MODULE_2__, _decode_js__WEBPACK_IMPORTED_MODULE_3__, _multisig_js__WEBPACK_IMPORTED_MODULE_4__, _routing_js__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
742448
743167
 
742449
743168
 
742450
743169
 
@@ -742836,13 +743555,9 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
742836
743555
  /* harmony export */ });
742837
743556
  /* unused harmony export StaticRoutingMetadataBuilder */
742838
743557
  /* harmony import */ var _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(50653);
742839
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(69352);
742840
- /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(60715);
742841
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(21387);
742842
- /* harmony import */ var _decode_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(58475);
742843
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_decode_js__WEBPACK_IMPORTED_MODULE_1__]);
742844
- _decode_js__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
742845
-
743558
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(69352);
743559
+ /* harmony import */ var _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(60715);
743560
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(21387);
742846
743561
 
742847
743562
 
742848
743563
 
@@ -742867,18 +743582,18 @@ class StaticRoutingMetadataBuilder {
742867
743582
  metadata: selectedIsmResult.metadata,
742868
743583
  };
742869
743584
  }
742870
- static decode(metadata, context) {
743585
+ static decode(metadata, context, decodeFn) {
742871
743586
  // TODO: this is a naive implementation, we should support domain ID keys
742872
- (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_2__/* .assert */ .v)(context.message.parsed.originChain, 'originChain is required');
743587
+ (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__/* .assert */ .v)(context.message.parsed.originChain, 'originChain is required');
742873
743588
  const ism = context.ism.domains[context.message.parsed.originChain];
742874
743589
  const originMetadata = typeof ism === 'string'
742875
743590
  ? metadata
742876
- : (0,_decode_js__WEBPACK_IMPORTED_MODULE_1__/* .decodeIsmMetadata */ .R)(metadata, {
743591
+ : decodeFn(metadata, {
742877
743592
  ...context,
742878
743593
  ism: ism,
742879
743594
  });
742880
743595
  return {
742881
- type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.ROUTING,
743596
+ type: _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_2__/* .IsmType */ .GO.ROUTING,
742882
743597
  origin: context.message.parsed.originChain,
742883
743598
  metadata: originMetadata,
742884
743599
  };
@@ -742897,7 +743612,7 @@ class DynamicRoutingMetadataBuilder extends StaticRoutingMetadataBuilder {
742897
743612
  const provider = this.baseMetadataBuilder.multiProvider.getProvider(destination);
742898
743613
  // Helper to derive new ISM config and recurse
742899
743614
  const deriveAndRecurse = async (moduleAddress) => {
742900
- const ismReader = new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_4__/* .EvmIsmReader */ .N(this.baseMetadataBuilder.multiProvider, destination);
743615
+ const ismReader = new _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .EvmIsmReader */ .N(this.baseMetadataBuilder.multiProvider, destination);
742901
743616
  const nextConfig = await ismReader.deriveIsmConfig(moduleAddress);
742902
743617
  const selectedIsmResult = await this.baseMetadataBuilder.build({ ...context, ism: nextConfig }, maxDepth - 1);
742903
743618
  return {
@@ -742909,7 +743624,7 @@ class DynamicRoutingMetadataBuilder extends StaticRoutingMetadataBuilder {
742909
743624
  };
742910
743625
  };
742911
743626
  // 1) Dynamic routing (AmountRouting or ICA): always route via .route(message)
742912
- if ((0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .isDynamicallyRoutedIsmType */ .Qg)(ism.type)) {
743627
+ if ((0,_hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_2__/* .isDynamicallyRoutedIsmType */ .Qg)(ism.type)) {
742913
743628
  const router = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .IRoutingIsm__factory */ .ZPv.connect(ism.address, provider);
742914
743629
  const moduleAddr = await router.route(message.message);
742915
743630
  return deriveAndRecurse(moduleAddr);
@@ -742919,7 +743634,7 @@ class DynamicRoutingMetadataBuilder extends StaticRoutingMetadataBuilder {
742919
743634
  return super.build(context, maxDepth);
742920
743635
  }
742921
743636
  // 3) Fallback routing: use .module(origin)
742922
- if (ism.type === _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_3__/* .IsmType */ .GO.FALLBACK_ROUTING) {
743637
+ if (ism.type === _hyperlane_xyz_sdk__WEBPACK_IMPORTED_MODULE_2__/* .IsmType */ .GO.FALLBACK_ROUTING) {
742923
743638
  const fallback = _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .DefaultFallbackRoutingIsm__factory */ .fol.connect(ism.address, provider);
742924
743639
  const moduleAddr = await fallback.module(message.parsed.origin);
742925
743640
  return deriveAndRecurse(moduleAddr);
@@ -745169,13 +745884,17 @@ const defaultMultisigConfigs = {
745169
745884
  ],
745170
745885
  },
745171
745886
  fluent: {
745172
- threshold: 2,
745887
+ threshold: 3,
745173
745888
  validators: [
745174
745889
  {
745175
745890
  address: '0xea189ae1a9c3e86bcb63597a34a8ea3b0bb83406',
745176
745891
  alias: AW_VALIDATOR_ALIAS,
745177
745892
  },
745178
745893
  DEFAULT_MITOSIS_VALIDATOR,
745894
+ {
745895
+ address: '0x6a07e3406536d3a117f41850e69c70961d002efe',
745896
+ alias: 'Fluent',
745897
+ },
745179
745898
  ],
745180
745899
  },
745181
745900
  forma: {
@@ -747254,7 +747973,7 @@ class HyperlaneModule {
747254
747973
 
747255
747974
  /***/ }),
747256
747975
 
747257
- /***/ 29459:
747976
+ /***/ 6643:
747258
747977
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
747259
747978
 
747260
747979
 
@@ -747532,6 +748251,38 @@ var amount = __nccwpck_require__(39196);
747532
748251
  var HyperlaneDeployer = __nccwpck_require__(6609);
747533
748252
  // EXTERNAL MODULE: ../utils/dist/objects.js + 31 modules
747534
748253
  var objects = __nccwpck_require__(73938);
748254
+ ;// CONCATENATED MODULE: ../sdk/dist/deploy/utils.js
748255
+ const DEFAULT_MAX_BATCH_SIZE = 64;
748256
+ const CHAIN_BATCH_SIZE_OVERRIDES = {
748257
+ citrea: 16,
748258
+ };
748259
+ function getTxConfigBatchSize(chain) {
748260
+ return CHAIN_BATCH_SIZE_OVERRIDES[chain] ?? DEFAULT_MAX_BATCH_SIZE;
748261
+ }
748262
+ /**
748263
+ * Submits `items` to `fn` in sequential batches sized per `chain`.
748264
+ *
748265
+ * NOTE: Non-atomic. If batch N succeeds and batch N+1 fails, on-chain state
748266
+ * is partially mutated and a naive retry will re-submit the already-applied
748267
+ * batches. Callers must either (a) pre-filter `items` by comparing against
748268
+ * on-chain state before each run (the IGP/oracle path) or (b) accept that a
748269
+ * retry may redundantly re-submit already-applied entries (the hook routing
748270
+ * path).
748271
+ */
748272
+ async function submitBatched(chain, items, fn, logger, label) {
748273
+ const batchSize = getTxConfigBatchSize(chain);
748274
+ const batches = [];
748275
+ for (let i = 0; i < items.length; i += batchSize) {
748276
+ batches.push(items.slice(i, i + batchSize));
748277
+ }
748278
+ logger.info(`Splitting ${items.length} ${label} into ${batches.length} transaction(s)`);
748279
+ for (let i = 0; i < batches.length; i++) {
748280
+ const batch = batches[i];
748281
+ logger.info(`Sending batch ${i + 1}/${batches.length} with ${batch.length} config(s)`);
748282
+ await fn(batch);
748283
+ }
748284
+ }
748285
+ //# sourceMappingURL=utils.js.map
747535
748286
  // EXTERNAL MODULE: ../sdk/dist/consts/igp.js
747536
748287
  var igp = __nccwpck_require__(52562);
747537
748288
  ;// CONCATENATED MODULE: ../sdk/dist/gas/contracts.js
@@ -747551,6 +748302,7 @@ var oracle_types = __nccwpck_require__(73847);
747551
748302
 
747552
748303
 
747553
748304
 
748305
+
747554
748306
  class HyperlaneIgpDeployer extends HyperlaneDeployer/* HyperlaneDeployer */.J {
747555
748307
  constructor(multiProvider, contractVerifier, concurrentDeploy = false) {
747556
748308
  super(multiProvider, igpFactories, {
@@ -747585,11 +748337,13 @@ class HyperlaneIgpDeployer extends HyperlaneDeployer/* HyperlaneDeployer */.J {
747585
748337
  }
747586
748338
  if (gasParamsToSet.length > 0) {
747587
748339
  await this.runIfOwner(chain, igp, async () => {
747588
- const estimatedGas = await igp.estimateGas.setDestinationGasConfigs(gasParamsToSet);
747589
- return this.multiProvider.handleTx(chain, igp.setDestinationGasConfigs(gasParamsToSet, {
747590
- gasLimit: (0,amount/* addBufferToGasLimit */.Zp)(estimatedGas),
747591
- ...this.multiProvider.getTransactionOverrides(chain),
747592
- }));
748340
+ await submitBatched(chain, gasParamsToSet, async (batch) => {
748341
+ const estimatedGas = await igp.estimateGas.setDestinationGasConfigs(batch);
748342
+ await this.multiProvider.handleTx(chain, igp.setDestinationGasConfigs(batch, {
748343
+ gasLimit: (0,amount/* addBufferToGasLimit */.Zp)(estimatedGas),
748344
+ ...this.multiProvider.getTransactionOverrides(chain),
748345
+ }));
748346
+ }, this.logger, 'gas configs');
747593
748347
  });
747594
748348
  }
747595
748349
  if (config.quoteSigners?.length) {
@@ -747636,11 +748390,13 @@ class HyperlaneIgpDeployer extends HyperlaneDeployer/* HyperlaneDeployer */.J {
747636
748390
  }
747637
748391
  if (configsToSet.length > 0) {
747638
748392
  await this.runIfOwner(chain, gasOracle, async () => {
747639
- const estimatedGas = await gasOracle.estimateGas.setRemoteGasDataConfigs(configsToSet);
747640
- return this.multiProvider.handleTx(chain, gasOracle.setRemoteGasDataConfigs(configsToSet, {
747641
- gasLimit: (0,amount/* addBufferToGasLimit */.Zp)(estimatedGas),
747642
- ...this.multiProvider.getTransactionOverrides(chain),
747643
- }));
748393
+ await submitBatched(chain, configsToSet, async (batch) => {
748394
+ const estimatedGas = await gasOracle.estimateGas.setRemoteGasDataConfigs(batch);
748395
+ await this.multiProvider.handleTx(chain, gasOracle.setRemoteGasDataConfigs(batch, {
748396
+ gasLimit: (0,amount/* addBufferToGasLimit */.Zp)(estimatedGas),
748397
+ ...this.multiProvider.getTransactionOverrides(chain),
748398
+ }));
748399
+ }, this.logger, 'gas oracle configs');
747644
748400
  });
747645
748401
  }
747646
748402
  return gasOracle;
@@ -747680,6 +748436,7 @@ var hook_types = __nccwpck_require__(52116);
747680
748436
 
747681
748437
 
747682
748438
 
748439
+
747683
748440
  class HyperlaneHookDeployer extends HyperlaneDeployer/* HyperlaneDeployer */.J {
747684
748441
  core;
747685
748442
  ismFactory;
@@ -747918,16 +748675,13 @@ class HyperlaneHookDeployer extends HyperlaneDeployer/* HyperlaneDeployer */.J {
747918
748675
  }
747919
748676
  const overrides = this.multiProvider.getTransactionOverrides(chain);
747920
748677
  await this.runIfOwner(chain, routingHook, async () => {
747921
- this.logger.debug({
747922
- chain,
747923
- routingHookAddress: routingHook.address,
747924
- routingConfigs,
747925
- }, 'Setting routing hooks');
747926
- const estimatedGas = await routingHook.estimateGas.setHooks(routingConfigs);
747927
- return this.multiProvider.handleTx(chain, routingHook.setHooks(routingConfigs, {
747928
- gasLimit: (0,amount/* addBufferToGasLimit */.Zp)(estimatedGas),
747929
- ...overrides,
747930
- }));
748678
+ await submitBatched(chain, routingConfigs, async (batch) => {
748679
+ const estimatedGas = await routingHook.estimateGas.setHooks(batch);
748680
+ await this.multiProvider.handleTx(chain, routingHook.setHooks(batch, {
748681
+ gasLimit: (0,amount/* addBufferToGasLimit */.Zp)(estimatedGas),
748682
+ ...overrides,
748683
+ }));
748684
+ }, this.logger, 'routing hook configs');
747931
748685
  });
747932
748686
  await this.transferOwnershipOfContracts(chain, config, {
747933
748687
  [config.type]: routingHook,
@@ -751212,8 +751966,8 @@ __nccwpck_require__.a(__webpack_module__, async (__webpack_handle_async_dependen
751212
751966
  /* harmony export */ });
751213
751967
  /* harmony import */ var _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(50653);
751214
751968
  /* harmony import */ var _hyperlane_xyz_core_buildArtifact_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(74119);
751215
- /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(66423);
751216
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(71280);
751969
+ /* harmony import */ var _hyperlane_xyz_deploy_sdk__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(56854);
751970
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(92201);
751217
751971
  /* harmony import */ var _hyperlane_xyz_provider_sdk_artifact__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(4287);
751218
751972
  /* harmony import */ var _hyperlane_xyz_provider_sdk_hook__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(77230);
751219
751973
  /* harmony import */ var _hyperlane_xyz_provider_sdk_ism__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(96426);
@@ -754981,6 +755735,11 @@ class EvmHookModule extends _core_AbstractHyperlaneModule_js__WEBPACK_IMPORTED_M
754981
755735
  return this.deployAmountRoutingHook({ config });
754982
755736
  case _types_js__WEBPACK_IMPORTED_MODULE_6__/* .HookType */ .WD.CCIP:
754983
755737
  return this.deployCCIPHook({ config });
755738
+ case _types_js__WEBPACK_IMPORTED_MODULE_6__/* .HookType */ .WD.CCTP:
755739
+ // TODO: https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3773
755740
+ // we can remove the ts-ignore once we have a proper type for address Hooks
755741
+ // @ts-ignore
755742
+ return _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_1__/* .IPostDispatchHook__factory */ .ZUR.connect(config.address, this.multiProvider.getSignerOrProvider(this.args.chain));
754984
755743
  default:
754985
755744
  throw new Error(`Unsupported hook config: ${config}`);
754986
755745
  }
@@ -755315,6 +756074,10 @@ class EvmHookReader extends _utils_HyperlaneReader_js__WEBPACK_IMPORTED_MODULE_1
755315
756074
  derivedHookConfig = { type: _types_js__WEBPACK_IMPORTED_MODULE_4__/* .HookType */ .WD.PREDICATE, address };
755316
756075
  this._cache.set(address, derivedHookConfig);
755317
756076
  break;
756077
+ case _types_js__WEBPACK_IMPORTED_MODULE_4__/* .OnchainHookType */ .c0.CCTP:
756078
+ derivedHookConfig = { type: _types_js__WEBPACK_IMPORTED_MODULE_4__/* .HookType */ .WD.CCTP, address };
756079
+ this._cache.set(address, derivedHookConfig);
756080
+ break;
755318
756081
  default:
755319
756082
  throw new Error(`Unsupported HookType: ${_types_js__WEBPACK_IMPORTED_MODULE_4__/* .OnchainHookType */ .c0[onchainHookType]}`);
755320
756083
  }
@@ -755718,11 +756481,11 @@ const hookFactories = {
755718
756481
  /* harmony export */ vC: () => (/* binding */ HookConfigSchema),
755719
756482
  /* harmony export */ yx: () => (/* binding */ MUTABLE_HOOK_TYPE)
755720
756483
  /* harmony export */ });
755721
- /* unused harmony exports ProtocolFeeSchema, MerkleTreeSchema, PredicateHookSchema, PausableHookSchema, MailboxDefaultHookSchema, OpStackHookSchema, ArbL2ToL1HookSchema, IgpSchema, DomainRoutingHookConfigSchema, FallbackRoutingHookConfigSchema, AmountRoutingHookConfigSchema, AggregationHookConfigSchema, CCIPHookSchema, UnknownHookSchema, normalizeUnknownHookTypes, SafeParseHookConfigSchema, HooksConfigSchema, HooksConfigMapSchema */
756484
+ /* unused harmony exports ProtocolFeeSchema, MerkleTreeSchema, PredicateHookSchema, PausableHookSchema, MailboxDefaultHookSchema, OpStackHookSchema, ArbL2ToL1HookSchema, IgpSchema, DomainRoutingHookConfigSchema, FallbackRoutingHookConfigSchema, AmountRoutingHookConfigSchema, AggregationHookConfigSchema, CCIPHookSchema, CctpHookSchema, UnknownHookSchema, normalizeUnknownHookTypes, SafeParseHookConfigSchema, HooksConfigSchema, HooksConfigMapSchema */
755722
756485
  /* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(49355);
755723
- /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(73689);
756486
+ /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(73689);
755724
756487
  /* harmony import */ var _gas_oracle_types_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(73847);
755725
- /* harmony import */ var _metadata_customZodTypes_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(47690);
756488
+ /* harmony import */ var _metadata_customZodTypes_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(47690);
755726
756489
  /* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(88832);
755727
756490
 
755728
756491
 
@@ -755770,6 +756533,12 @@ const HookType = {
755770
756533
  ARB_L2_TO_L1: 'arbL2ToL1Hook',
755771
756534
  MAILBOX_DEFAULT: 'defaultHook',
755772
756535
  CCIP: 'ccipHook',
756536
+ /**
756537
+ * References a pre-deployed CCTP hook by address. Excluded from
756538
+ * `DeployableHookType` — not deployed via `HyperlaneHookDeployer`; the
756539
+ * `EvmHookModule.deploy` path just connects to `config.address`.
756540
+ */
756541
+ CCTP: 'cctpHook',
755773
756542
  UNKNOWN: 'unknownHook',
755774
756543
  PREDICATE: 'predicateHook',
755775
756544
  };
@@ -755861,6 +756630,10 @@ const CCIPHookSchema = zod__WEBPACK_IMPORTED_MODULE_1__/* .object */ .Ik({
755861
756630
  type: zod__WEBPACK_IMPORTED_MODULE_1__/* .literal */ .eu(HookType.CCIP),
755862
756631
  destinationChain: zod__WEBPACK_IMPORTED_MODULE_1__/* .string */ .Yj(),
755863
756632
  });
756633
+ const CctpHookSchema = zod__WEBPACK_IMPORTED_MODULE_1__/* .object */ .Ik({
756634
+ type: zod__WEBPACK_IMPORTED_MODULE_1__/* .literal */ .eu(HookType.CCTP),
756635
+ address: _metadata_customZodTypes_js__WEBPACK_IMPORTED_MODULE_3__/* .ZHash */ .l,
756636
+ });
755864
756637
  const UnknownHookSchema = zod__WEBPACK_IMPORTED_MODULE_1__/* .object */ .Ik({
755865
756638
  type: zod__WEBPACK_IMPORTED_MODULE_1__/* .literal */ .eu(HookType.UNKNOWN),
755866
756639
  })
@@ -755876,7 +756649,7 @@ const KnownHookTypes = Object.values(HookType).filter((t) => t !== HookType.UNKN
755876
756649
  */
755877
756650
  function normalizeUnknownHookTypes(config) {
755878
756651
  // Handle nullish values and primitives (including string addresses)
755879
- if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(config) || typeof config !== 'object') {
756652
+ if ((0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(config) || typeof config !== 'object') {
755880
756653
  return config;
755881
756654
  }
755882
756655
  if (Array.isArray(config)) {
@@ -755891,7 +756664,7 @@ function normalizeUnknownHookTypes(config) {
755891
756664
  ? value
755892
756665
  : HookType.UNKNOWN;
755893
756666
  }
755894
- else if (typeof value === 'object' && !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__/* .isNullish */ .u)(value)) {
756667
+ else if (typeof value === 'object' && !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__/* .isNullish */ .u)(value)) {
755895
756668
  normalized[key] = normalizeUnknownHookTypes(value);
755896
756669
  }
755897
756670
  else {
@@ -755901,7 +756674,7 @@ function normalizeUnknownHookTypes(config) {
755901
756674
  return normalized;
755902
756675
  }
755903
756676
  const HookConfigSchema = zod__WEBPACK_IMPORTED_MODULE_1__/* .union */ .KC([
755904
- _metadata_customZodTypes_js__WEBPACK_IMPORTED_MODULE_4__/* .ZHash */ .l,
756677
+ _metadata_customZodTypes_js__WEBPACK_IMPORTED_MODULE_3__/* .ZHash */ .l,
755905
756678
  ProtocolFeeSchema,
755906
756679
  PausableHookSchema,
755907
756680
  OpStackHookSchema,
@@ -755914,6 +756687,7 @@ const HookConfigSchema = zod__WEBPACK_IMPORTED_MODULE_1__/* .union */ .KC([
755914
756687
  ArbL2ToL1HookSchema,
755915
756688
  MailboxDefaultHookSchema,
755916
756689
  CCIPHookSchema,
756690
+ CctpHookSchema,
755917
756691
  UnknownHookSchema,
755918
756692
  PredicateHookSchema,
755919
756693
  ]);
@@ -756799,6 +757573,34 @@ const ismFactories = {
756799
757573
  [_types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.ARB_L2_TO_L1]: new _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .ArbL2ToL1Ism__factory */ .D$C(),
756800
757574
  [_types_js__WEBPACK_IMPORTED_MODULE_1__/* .IsmType */ .GO.CCIP]: new _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .CCIPIsm__factory */ .phq(),
756801
757575
  };
757576
+ const domainRoutingInitializationSize = (destination) => {
757577
+ if (destination === 'tempo') {
757578
+ return 30;
757579
+ }
757580
+ if (destination === 'mitosis') {
757581
+ return 30;
757582
+ }
757583
+ if (destination === 'shibarium' || destination === 'citrea') {
757584
+ return 50;
757585
+ }
757586
+ if (destination === 'flare') {
757587
+ return 90;
757588
+ }
757589
+ if (destination === 'sei' ||
757590
+ destination === 'scroll' ||
757591
+ destination === 'cyber' ||
757592
+ destination === 'xlayer' ||
757593
+ destination === 'zircuit' ||
757594
+ destination === 'flowmainnet' ||
757595
+ destination === 'nibiru' ||
757596
+ destination === 'eni' ||
757597
+ destination === 'merlin' ||
757598
+ destination === 'megaeth' ||
757599
+ destination === 'pulsechain') {
757600
+ return 120;
757601
+ }
757602
+ return 300;
757603
+ };
756802
757604
  class IsmDeployer extends _deploy_HyperlaneDeployer_js__WEBPACK_IMPORTED_MODULE_2__/* .HyperlaneDeployer */ .J {
756803
757605
  cachingEnabled = false;
756804
757606
  deployContracts(_chain, _config) {
@@ -757097,10 +757899,17 @@ class HyperlaneIsmFactory extends _app_HyperlaneApp_js__WEBPACK_IMPORTED_MODULE_
757097
757899
  return routingIsm;
757098
757900
  }
757099
757901
  // estimate gas
757100
- const estimatedGas = await domainRoutingIsmFactory.estimateGas.deploy(owner, safeConfigDomains, submoduleAddresses, overrides);
757902
+ const signerAddress = await signer.getAddress();
757903
+ const batchSize = domainRoutingInitializationSize(destination);
757904
+ // Deploy initial batch of domains
757905
+ const initialBatchSize = Math.min(batchSize, safeConfigDomains.length);
757906
+ const initialDomains = safeConfigDomains.slice(0, initialBatchSize);
757907
+ const initialAddresses = submoduleAddresses.slice(0, initialBatchSize);
757908
+ const estimatedGas = await domainRoutingIsmFactory.estimateGas.deploy(signerAddress, initialDomains, initialAddresses, overrides);
757909
+ this.logger.debug(`Deploying routing ISM with initial ${initialBatchSize} domains on ${destination}`);
757101
757910
  // add gas buffer
757102
- const tx = await domainRoutingIsmFactory.deploy(owner, safeConfigDomains, submoduleAddresses, {
757103
- gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(estimatedGas),
757911
+ const tx = await domainRoutingIsmFactory.deploy(signerAddress, initialDomains, initialAddresses, {
757912
+ gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(estimatedGas, 15),
757104
757913
  ...overrides,
757105
757914
  });
757106
757915
  // TODO: Should verify contract here
@@ -757124,6 +757933,28 @@ class HyperlaneIsmFactory extends _app_HyperlaneApp_js__WEBPACK_IMPORTED_MODULE_
757124
757933
  ? _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .IncrementalDomainRoutingIsm__factory */ .c84
757125
757934
  : _hyperlane_xyz_core__WEBPACK_IMPORTED_MODULE_0__/* .DomainRoutingIsm__factory */ .ayM;
757126
757935
  routingIsm = factory.connect(moduleAddress, this.multiProvider.getSigner(destination));
757936
+ // Enroll remaining domains and addresses
757937
+ // If all domains are enrolled already, this is a no-op
757938
+ for (let i = initialBatchSize; i < safeConfigDomains.length; i++) {
757939
+ const estimatedGas = await routingIsm.estimateGas.set(safeConfigDomains[i], submoduleAddresses[i], overrides);
757940
+ const chainName = this.multiProvider.getChainName(safeConfigDomains[i]);
757941
+ this.logger.debug(`Enrolling ${chainName} (${safeConfigDomains[i]}) ISM at ${submoduleAddresses[i]} on Domain Routing ISM ${moduleAddress}`);
757942
+ const enrollTx = await routingIsm.set(safeConfigDomains[i], submoduleAddresses[i], {
757943
+ gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(estimatedGas, 15),
757944
+ ...overrides,
757945
+ });
757946
+ await this.multiProvider.handleTx(destination, enrollTx);
757947
+ }
757948
+ // Transfer ownership after all enrollments are complete, unless the
757949
+ // signer is already the target owner (common for self-owned deploys).
757950
+ if (!(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_12__/* .eqAddress */ .fv)(signerAddress, config.owner)) {
757951
+ const transferTxEstimatedGas = await routingIsm.estimateGas.transferOwnership(config.owner, overrides);
757952
+ const transferTx = await routingIsm.transferOwnership(config.owner, {
757953
+ gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(transferTxEstimatedGas, 15),
757954
+ ...overrides,
757955
+ });
757956
+ await this.multiProvider.handleTx(destination, transferTx);
757957
+ }
757127
757958
  }
757128
757959
  }
757129
757960
  return routingIsm;
@@ -757172,7 +758003,7 @@ class HyperlaneIsmFactory extends _app_HyperlaneApp_js__WEBPACK_IMPORTED_MODULE_
757172
758003
  const estimatedGas = await factory.estimateGas['deploy(address[],uint8)'](sorted, threshold, overrides);
757173
758004
  // add gas buffer
757174
758005
  const hash = await factory['deploy(address[],uint8)'](sorted, threshold, {
757175
- gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(estimatedGas),
758006
+ gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(estimatedGas, 15),
757176
758007
  ...overrides,
757177
758008
  });
757178
758009
  await this.multiProvider.handleTx(chain, hash);
@@ -757198,7 +758029,7 @@ class HyperlaneIsmFactory extends _app_HyperlaneApp_js__WEBPACK_IMPORTED_MODULE_
757198
758029
  const estimatedGas = await factory.estimateGas['deploy((address,uint96)[],uint96)'](sorted, thresholdWeight, overrides);
757199
758030
  // add gas buffer
757200
758031
  const hash = await factory['deploy((address,uint96)[],uint96)'](sorted, thresholdWeight, {
757201
- gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(estimatedGas),
758032
+ gasLimit: (0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_14__/* .addBufferToGasLimit */ .Zp)(estimatedGas, 15),
757202
758033
  ...overrides,
757203
758034
  });
757204
758035
  await this.multiProvider.handleTx(chain, hash);
@@ -758908,6 +759739,28 @@ const RelayerAgentConfigSchema = AgentConfigSchema.extend({
758908
759739
  igpIndexingEnabled: zod__WEBPACK_IMPORTED_MODULE_0__/* .boolean */ .zM()
758909
759740
  .optional()
758910
759741
  .describe('Whether to enable IGP indexing'),
759742
+ relayApiEnabled: zod__WEBPACK_IMPORTED_MODULE_0__/* .boolean */ .zM()
759743
+ .optional()
759744
+ .describe('Whether to enable the relay API HTTP server. Defaults to false.'),
759745
+ relayApiPort: zod__WEBPACK_IMPORTED_MODULE_0__/* .number */ .ai()
759746
+ .int()
759747
+ .positive()
759748
+ .lte(65535)
759749
+ .optional()
759750
+ .describe('Port for the relay API HTTP server. When set, the relay API is served on this dedicated port instead of the shared metrics port.'),
759751
+ relayApiRateLimitMaxRequests: zod__WEBPACK_IMPORTED_MODULE_0__/* .number */ .ai()
759752
+ .int()
759753
+ .positive()
759754
+ .optional()
759755
+ .describe('Relay API rate limit: max requests allowed per window. Defaults to 100.'),
759756
+ relayApiRateLimitWindowSecs: zod__WEBPACK_IMPORTED_MODULE_0__/* .number */ .ai()
759757
+ .int()
759758
+ .positive()
759759
+ .optional()
759760
+ .describe('Relay API rate limit: window duration in seconds. Defaults to 60.'),
759761
+ relayApiCorsOrigins: zod__WEBPACK_IMPORTED_MODULE_0__/* .string */ .Yj()
759762
+ .optional()
759763
+ .describe('Relay API allowed CORS origins, comma-separated. Defaults to https://nexus.hyperlane.xyz.'),
758911
759764
  });
758912
759765
  const ScraperAgentConfigSchema = AgentConfigSchema.extend({
758913
759766
  db: zod__WEBPACK_IMPORTED_MODULE_0__/* .string */ .Yj().min(1).describe('Database connection string'),
@@ -760825,8 +761678,9 @@ class MultiProvider extends ChainMetadataManager/* ChainMetadataManager */.g {
760825
761678
  // Use provided waitConfirmations, or fall back to chain metadata confirmations
760826
761679
  const confirmations = options?.waitConfirmations ?? metadata.blocks?.confirmations ?? 1;
760827
761680
  const estimateBlockTime = metadata.blocks?.estimateBlockTime;
761681
+ const minTimeout = this.options.minConfirmationTimeoutMs ?? MIN_CONFIRMATION_TIMEOUT_MS;
760828
761682
  const dynamicTimeout = typeof confirmations === 'number' && estimateBlockTime
760829
- ? Math.max(confirmations * estimateBlockTime * 1000 * 2, MIN_CONFIRMATION_TIMEOUT_MS)
761683
+ ? Math.max(confirmations * estimateBlockTime * 1000 * 2, minTimeout)
760830
761684
  : DEFAULT_CONFIRMATION_TIMEOUT_MS;
760831
761685
  const timeoutMs = options?.timeoutMs ?? dynamicTimeout;
760832
761686
  // Handle string block tags (e.g., "finalized", "safe")
@@ -762880,10 +763734,11 @@ const EvmSubmitterMetadataSchema = zod__WEBPACK_IMPORTED_MODULE_0__/* .union */
762880
763734
 
762881
763735
  // EXPORTS
762882
763736
  __nccwpck_require__.d(__webpack_exports__, {
762883
- u: () => (/* binding */ getSubmitter),
762884
763737
  x: () => (/* binding */ getSubmitterBuilder)
762885
763738
  });
762886
763739
 
763740
+ // UNUSED EXPORTS: getSubmitter
763741
+
762887
763742
  // NAMESPACE OBJECT: ../../node_modules/.pnpm/viem@2.39.3_bufferutil@4.0.9_typescript@6.0.2_utf-8-validate@5.0.10_zod@3.25.76/node_modules/viem/_esm/chains/index.js
762888
763743
  var chains_namespaceObject = {};
762889
763744
  __nccwpck_require__.r(chains_namespaceObject);
@@ -763571,7 +764426,6 @@ var TxSubmitterTypes = __nccwpck_require__(59138);
763571
764426
 
763572
764427
 
763573
764428
 
763574
-
763575
764429
  class EvmIcaTxSubmitter {
763576
764430
  config;
763577
764431
  submitter;
@@ -763584,11 +764438,11 @@ class EvmIcaTxSubmitter {
763584
764438
  this.multiProvider = multiProvider;
763585
764439
  this.interchainAccountApp = interchainAccountApp;
763586
764440
  }
763587
- static async fromConfig(config, multiProvider, coreAddressesByChain) {
764441
+ static async fromConfig(config, multiProvider, coreAddressesByChain, getSubmitterFn) {
763588
764442
  const interchainAccountRouterAddress = config.originInterchainAccountRouter ??
763589
764443
  coreAddressesByChain[config.chain].interchainAccountRouter;
763590
764444
  (0,validation/* assert */.v)(interchainAccountRouterAddress, `Origin chain InterchainAccountRouter address not supplied and none found in the registry metadata for chain ${config.chain}`);
763591
- const internalSubmitter = await getSubmitter(multiProvider, config.internalSubmitter, coreAddressesByChain);
764445
+ const internalSubmitter = await getSubmitterFn(multiProvider, config.internalSubmitter, coreAddressesByChain);
763592
764446
  const interchainAccountApp = await (0,InterchainAccount/* buildInterchainAccountApp */.ij)(multiProvider, config.chain, {
763593
764447
  owner: config.owner,
763594
764448
  origin: config.chain,
@@ -798901,7 +799755,6 @@ const CANCELLER_ROLE = (0,utils.keccak256)(Buffer.from('CANCELLER_ROLE'));
798901
799755
 
798902
799756
 
798903
799757
 
798904
-
798905
799758
  class EV5TimelockSubmitter {
798906
799759
  config;
798907
799760
  multiProvider;
@@ -798914,13 +799767,13 @@ class EV5TimelockSubmitter {
798914
799767
  this.proposerSubmitter = proposerSubmitter;
798915
799768
  this.timelockInstance = timelockInstance;
798916
799769
  }
798917
- static async fromConfig(config, multiProvider, coreAddressesByChain) {
799770
+ static async fromConfig(config, multiProvider, coreAddressesByChain, getSubmitterFn) {
798918
799771
  const provider = multiProvider.getProvider(config.chain);
798919
799772
  const timelockInstance = solidity_dist/* TimelockController__factory */.fRf.connect(config.timelockAddress, provider);
798920
799773
  const minDelay = (await timelockInstance.getMinDelay()).toBigInt();
798921
799774
  const delay = config.delay ?? minDelay;
798922
799775
  (0,validation/* assert */.v)(delay >= minDelay, `Expected user supplied delay ${delay} to be greater or equal than the configured minDelay ${minDelay}`);
798923
- const proposerSubmitter = await getSubmitter(multiProvider, config.proposerSubmitter, coreAddressesByChain);
799776
+ const proposerSubmitter = await getSubmitterFn(multiProvider, config.proposerSubmitter, coreAddressesByChain);
798924
799777
  return new EV5TimelockSubmitter({
798925
799778
  chain: config.chain,
798926
799779
  delay,
@@ -798999,7 +799852,6 @@ async function getSubmitterBuilder({ submissionStrategy, multiProvider, coreAddr
798999
799852
  }
799000
799853
  const EVM_SUBMITTERS_FACTORIES = {
799001
799854
  [TxSubmitterTypes/* TxSubmitterType */.u.JSON_RPC]: (multiProvider, metadata) => {
799002
- // Used to type narrow metadata
799003
799855
  (0,validation/* assert */.v)(metadata.type === TxSubmitterTypes/* TxSubmitterType */.u.JSON_RPC, `Invalid metadata type: ${metadata.type}, expected ${TxSubmitterTypes/* TxSubmitterType */.u.JSON_RPC}`);
799004
799856
  return new EV5JsonRpcTxSubmitter(multiProvider, metadata);
799005
799857
  },
@@ -799015,13 +799867,13 @@ const EVM_SUBMITTERS_FACTORIES = {
799015
799867
  (0,validation/* assert */.v)(metadata.type === TxSubmitterTypes/* TxSubmitterType */.u.GNOSIS_TX_BUILDER, `Invalid metadata type: ${metadata.type}, expected ${TxSubmitterTypes/* TxSubmitterType */.u.GNOSIS_TX_BUILDER}`);
799016
799868
  return EV5GnosisSafeTxBuilder.create(multiProvider, metadata);
799017
799869
  },
799018
- [TxSubmitterTypes/* TxSubmitterType */.u.INTERCHAIN_ACCOUNT]: (multiProvider, metadata, coreAddressesByChain) => {
799870
+ [TxSubmitterTypes/* TxSubmitterType */.u.INTERCHAIN_ACCOUNT]: (multiProvider, metadata, coreAddressesByChain, getSubmitterFn) => {
799019
799871
  (0,validation/* assert */.v)(metadata.type === TxSubmitterTypes/* TxSubmitterType */.u.INTERCHAIN_ACCOUNT, `Invalid metadata type: ${metadata.type}, expected ${TxSubmitterTypes/* TxSubmitterType */.u.INTERCHAIN_ACCOUNT}`);
799020
- return EvmIcaTxSubmitter.fromConfig(metadata, multiProvider, coreAddressesByChain);
799872
+ return EvmIcaTxSubmitter.fromConfig(metadata, multiProvider, coreAddressesByChain, getSubmitterFn);
799021
799873
  },
799022
- [TxSubmitterTypes/* TxSubmitterType */.u.TIMELOCK_CONTROLLER]: (multiProvider, metadata, coreAddressesByChain) => {
799874
+ [TxSubmitterTypes/* TxSubmitterType */.u.TIMELOCK_CONTROLLER]: (multiProvider, metadata, coreAddressesByChain, getSubmitterFn) => {
799023
799875
  (0,validation/* assert */.v)(metadata.type === TxSubmitterTypes/* TxSubmitterType */.u.TIMELOCK_CONTROLLER, `Invalid metadata type: ${metadata.type}, expected ${TxSubmitterTypes/* TxSubmitterType */.u.TIMELOCK_CONTROLLER}`);
799024
- return EV5TimelockSubmitter.fromConfig(metadata, multiProvider, coreAddressesByChain);
799876
+ return EV5TimelockSubmitter.fromConfig(metadata, multiProvider, coreAddressesByChain, getSubmitterFn);
799025
799877
  },
799026
799878
  };
799027
799879
  const defaultSubmitterFactories = {
@@ -799069,7 +799921,7 @@ async function getSubmitter(multiProvider, submitterMetadata, coreAddressesByCha
799069
799921
  if (!factory) {
799070
799922
  throw new Error(`No submitter factory registered for protocol ${protocolType} and type ${submitterMetadata.type}`);
799071
799923
  }
799072
- return factory(multiProvider, submitterMetadata, coreAddressesByChain);
799924
+ return factory(multiProvider, submitterMetadata, coreAddressesByChain, getSubmitter);
799073
799925
  }
799074
799926
  //# sourceMappingURL=submitterBuilderGetter.js.map
799075
799927
 
@@ -803253,7 +804105,10 @@ function matchesUnderlyingAsset(source, target) {
803253
804105
  tokenIdentifiersEqual(source.collateralAddressOrDenom, target.addressOrDenom)) {
803254
804106
  return true;
803255
804107
  }
804108
+ // Only HypNative collateral legitimately lacks collateralAddressOrDenom;
804109
+ // any other collateralized token missing it is a config bug, not a native match.
803256
804110
  if (!source.collateralAddressOrDenom &&
804111
+ source.isHypNative() &&
803257
804112
  (target.isNative() || target.isHypNative())) {
803258
804113
  return true;
803259
804114
  }
@@ -812473,7 +813328,7 @@ const NON_ZERO_SENDER_ADDRESS = '0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba';
812473
813328
  /* unused harmony exports getDefaultRemoteRouterAndDestinationGasConfig, getChainsFromWarpCoreConfig, warpCoreConfigMatchesChains */
812474
813329
  /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_13__ = __nccwpck_require__(61934);
812475
813330
  /* harmony import */ var viem__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(6893);
812476
- /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(71280);
813331
+ /* harmony import */ var _hyperlane_xyz_provider_sdk__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(92201);
812477
813332
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(21387);
812478
813333
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(93142);
812479
813334
  /* harmony import */ var _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(73938);
@@ -816596,7 +817451,7 @@ class WarpCore {
816596
817451
  /**
816597
817452
  * Simulates a transfer to estimate 'local' gas fees on the origin chain
816598
817453
  */
816599
- async getLocalTransferFee({ originToken, destination, sender, senderPubKey, interchainFee, tokenFeeQuote, attestation, amount, destinationToken, }) {
817454
+ async getLocalTransferFee({ originToken, destination, sender, senderPubKey, interchainFee, tokenFeeQuote, attestation, amount, destinationToken, quotedCalls, }) {
816600
817455
  this.logger.debug(`Estimating local transfer gas to ${destination}`);
816601
817456
  const originMetadata = this.multiProvider.getChainMetadata(originToken.chainName);
816602
817457
  const destinationMetadata = this.multiProvider.getChainMetadata(destination);
@@ -816629,6 +817484,7 @@ class WarpCore {
816629
817484
  tokenFeeQuote,
816630
817485
  attestation,
816631
817486
  destinationToken,
817487
+ quotedCalls,
816632
817488
  });
816633
817489
  // Starknet does not support gas estimation without starknet account
816634
817490
  if (originToken.protocol === _hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_10__/* .ProtocolType */ .Hb.Starknet) {
@@ -816637,7 +817493,7 @@ class WarpCore {
816637
817493
  // Typically the transfers require a single transaction
816638
817494
  if (txs.length === 1) {
816639
817495
  try {
816640
- return this.multiProvider.estimateTransactionFee({
817496
+ return await this.multiProvider.estimateTransactionFee({
816641
817497
  chainNameOrId: originMetadata.name,
816642
817498
  transaction: txs[0],
816643
817499
  sender,
@@ -816670,7 +817526,7 @@ class WarpCore {
816670
817526
  * but it also resolves the native token and returns a TokenAmount
816671
817527
  * @todo: rename to getLocalTransferFee for consistency (requires breaking change)
816672
817528
  */
816673
- async getLocalTransferFeeAmount({ originToken, destination, sender, senderPubKey, interchainFee, tokenFeeQuote, attestation, amount, destinationToken, }) {
817529
+ async getLocalTransferFeeAmount({ originToken, destination, sender, senderPubKey, interchainFee, tokenFeeQuote, attestation, amount, destinationToken, quotedCalls, }) {
816674
817530
  const originMetadata = this.multiProvider.getChainMetadata(originToken.chainName);
816675
817531
  // If there's no native token, we can't represent local gas
816676
817532
  if (!originMetadata.nativeToken)
@@ -816686,6 +817542,7 @@ class WarpCore {
816686
817542
  attestation,
816687
817543
  amount,
816688
817544
  destinationToken,
817545
+ quotedCalls,
816689
817546
  });
816690
817547
  // Get the local gas token. This assumes the chain's native token will pay for local gas
816691
817548
  // This will need to be smarter if more complex scenarios on Cosmos are supported
@@ -816975,7 +817832,7 @@ class WarpCore {
816975
817832
  const collateral = token.collateralAddressOrDenom;
816976
817833
  const tokenAddress = (collateral && !(0,_hyperlane_xyz_utils__WEBPACK_IMPORTED_MODULE_8__/* .isZeroishAddress */ .Hi)(collateral)
816977
817834
  ? collateral
816978
- : token.isNative()
817835
+ : token.isNative() || token.isHypNative()
816979
817836
  ? '0x0000000000000000000000000000000000000000'
816980
817837
  : token.addressOrDenom);
816981
817838
  let targetRouter;
@@ -817786,6 +818643,9 @@ class TronProtocolProvider {
817786
818643
  // @TODO Implement in a follow up PR
817787
818644
  throw Error('Not implemented');
817788
818645
  }
818646
+ createFeeArtifactManager(_chainMetadata) {
818647
+ return null;
818648
+ }
817789
818649
  getMinGas() {
817790
818650
  return {
817791
818651
  CORE_DEPLOY_GAS: BigInt(1e9),
@@ -817811,8 +818671,8 @@ __nccwpck_require__.d(__webpack_exports__, {
817811
818671
 
817812
818672
  // EXTERNAL MODULE: ../../node_modules/.pnpm/tronweb@6.1.1_bufferutil@4.0.9_utf-8-validate@5.0.10/node_modules/tronweb/lib/esm/index.js + 192 modules
817813
818673
  var esm = __nccwpck_require__(56853);
817814
- // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 3 modules
817815
- var dist = __nccwpck_require__(71280);
818674
+ // EXTERNAL MODULE: ../provider-sdk/dist/index.js + 4 modules
818675
+ var dist = __nccwpck_require__(92201);
817816
818676
  // EXTERNAL MODULE: ../utils/dist/validation.js
817817
818677
  var validation = __nccwpck_require__(21387);
817818
818678
  // EXTERNAL MODULE: ../utils/dist/addresses.js
@@ -903052,25 +903912,7 @@ function setRootLogger(logger) {
903052
903912
  return rootLogger;
903053
903913
  }
903054
903914
  function createHyperlanePinoLogger(logLevel, logFormat) {
903055
- // In development, pino-pretty is used for a better dev experience,
903056
- // but only if the log format is 'pretty'. This allows for JSON logs
903057
- // in development as well if explicitly configured.
903058
- if (process.env.NODE_ENV === 'development' &&
903059
- logFormat === LogFormat.Pretty) {
903060
- return (0,pino__WEBPACK_IMPORTED_MODULE_0__.pino)({
903061
- level: logLevel,
903062
- transport: {
903063
- target: 'pino-pretty',
903064
- options: {
903065
- colorize: true,
903066
- translateTime: 'SYS:standard',
903067
- ignore: 'pid,hostname',
903068
- },
903069
- },
903070
- });
903071
- }
903072
- // In production (or other envs), use the original hook-based logger
903073
- return (0,pino__WEBPACK_IMPORTED_MODULE_0__.pino)({
903915
+ const createFallbackLogger = () => (0,pino__WEBPACK_IMPORTED_MODULE_0__.pino)({
903074
903916
  level: logLevel,
903075
903917
  name: 'hyperlane',
903076
903918
  formatters: {
@@ -903093,6 +903935,32 @@ function createHyperlanePinoLogger(logLevel, logFormat) {
903093
903935
  },
903094
903936
  },
903095
903937
  });
903938
+ // In development, pino-pretty is used for a better dev experience,
903939
+ // but only if the log format is 'pretty'. This allows for JSON logs
903940
+ // in development as well if explicitly configured.
903941
+ if (process.env.NODE_ENV === 'development' &&
903942
+ logFormat === LogFormat.Pretty) {
903943
+ try {
903944
+ return (0,pino__WEBPACK_IMPORTED_MODULE_0__.pino)({
903945
+ level: logLevel,
903946
+ transport: {
903947
+ target: 'pino-pretty',
903948
+ options: {
903949
+ colorize: true,
903950
+ translateTime: 'SYS:standard',
903951
+ ignore: 'pid,hostname',
903952
+ },
903953
+ },
903954
+ });
903955
+ }
903956
+ catch (err) {
903957
+ const fallbackLogger = createFallbackLogger();
903958
+ fallbackLogger.warn(err, 'Could not initialize pino-pretty, falling back to built-in pretty logger');
903959
+ return fallbackLogger;
903960
+ }
903961
+ }
903962
+ // In production (or other envs), use the original hook-based logger
903963
+ return createFallbackLogger();
903096
903964
  }
903097
903965
  function ethersBigNumberSerializer(key, value) {
903098
903966
  // Check if the value looks like a serialized BigNumber
@@ -903155,11 +904023,13 @@ async function createServiceLogger(options) {
903155
904023
  /* harmony export */ NE: () => (/* binding */ formatStandardHookMetadata),
903156
904024
  /* harmony export */ U4: () => (/* binding */ parseWarpRouteMessage),
903157
904025
  /* harmony export */ Zz: () => (/* binding */ parseStandardHookMetadata),
904026
+ /* harmony export */ hw: () => (/* binding */ formatMessage),
903158
904027
  /* harmony export */ vY: () => (/* binding */ parseMessage)
903159
904028
  /* harmony export */ });
903160
- /* unused harmony exports formatMessage, extractRefundAddressFromMetadata, hasValidRefundAddress */
903161
- /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(61934);
903162
- /* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(18508);
904029
+ /* unused harmony exports extractRefundAddressFromMetadata, hasValidRefundAddress */
904030
+ /* harmony import */ var ethers__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(61934);
904031
+ /* harmony import */ var _addresses_js__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(93142);
904032
+ /* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(18508);
903163
904033
 
903164
904034
 
903165
904035
 
@@ -903168,9 +904038,9 @@ async function createServiceLogger(options) {
903168
904038
  * @returns Hex string of the packed message
903169
904039
  */
903170
904040
  const formatMessage = (version, nonce, originDomain, senderAddr, destinationDomain, recipientAddr, body) => {
903171
- senderAddr = addressToBytes32(senderAddr);
903172
- recipientAddr = addressToBytes32(recipientAddr);
903173
- return ethers.utils.solidityPack(['uint8', 'uint32', 'uint32', 'bytes32', 'uint32', 'bytes32', 'bytes'], [
904041
+ senderAddr = (0,_addresses_js__WEBPACK_IMPORTED_MODULE_0__/* .addressToBytes32 */ .In)(senderAddr);
904042
+ recipientAddr = (0,_addresses_js__WEBPACK_IMPORTED_MODULE_0__/* .addressToBytes32 */ .In)(recipientAddr);
904043
+ return ethers__WEBPACK_IMPORTED_MODULE_1__.ethers.utils.solidityPack(['uint8', 'uint32', 'uint32', 'bytes32', 'uint32', 'bytes32', 'bytes'], [
903174
904044
  version,
903175
904045
  nonce,
903176
904046
  originDomain,
@@ -903186,7 +904056,7 @@ const formatMessage = (version, nonce, originDomain, senderAddr, destinationDoma
903186
904056
  * @returns Hex string of message id
903187
904057
  */
903188
904058
  function messageId(message) {
903189
- return ethers__WEBPACK_IMPORTED_MODULE_0__.ethers.utils.solidityKeccak256(['bytes'], [message]);
904059
+ return ethers__WEBPACK_IMPORTED_MODULE_1__.ethers.utils.solidityKeccak256(['bytes'], [message]);
903190
904060
  }
903191
904061
  /**
903192
904062
  * Parse a serialized Hyperlane message from raw bytes.
@@ -903202,22 +904072,22 @@ function parseMessage(message) {
903202
904072
  const DESTINATION_OFFSET = 41;
903203
904073
  const RECIPIENT_OFFSET = 45;
903204
904074
  const BODY_OFFSET = 77;
903205
- const buf = Buffer.from(ethers__WEBPACK_IMPORTED_MODULE_0__.utils.arrayify(message));
904075
+ const buf = Buffer.from(ethers__WEBPACK_IMPORTED_MODULE_1__.utils.arrayify(message));
903206
904076
  const version = buf.readUInt8(VERSION_OFFSET);
903207
904077
  const nonce = buf.readUInt32BE(NONCE_OFFSET);
903208
904078
  const origin = buf.readUInt32BE(ORIGIN_OFFSET);
903209
- const sender = ethers__WEBPACK_IMPORTED_MODULE_0__.utils.hexlify(buf.subarray(SENDER_OFFSET, DESTINATION_OFFSET));
904079
+ const sender = ethers__WEBPACK_IMPORTED_MODULE_1__.utils.hexlify(buf.subarray(SENDER_OFFSET, DESTINATION_OFFSET));
903210
904080
  const destination = buf.readUInt32BE(DESTINATION_OFFSET);
903211
- const recipient = ethers__WEBPACK_IMPORTED_MODULE_0__.utils.hexlify(buf.subarray(RECIPIENT_OFFSET, BODY_OFFSET));
903212
- const body = ethers__WEBPACK_IMPORTED_MODULE_0__.utils.hexlify(buf.subarray(BODY_OFFSET));
904081
+ const recipient = ethers__WEBPACK_IMPORTED_MODULE_1__.utils.hexlify(buf.subarray(RECIPIENT_OFFSET, BODY_OFFSET));
904082
+ const body = ethers__WEBPACK_IMPORTED_MODULE_1__.utils.hexlify(buf.subarray(BODY_OFFSET));
903213
904083
  return { version, nonce, origin, sender, destination, recipient, body };
903214
904084
  }
903215
904085
  function parseWarpRouteMessage(messageBody) {
903216
904086
  const RECIPIENT_OFFSET = 0;
903217
904087
  const AMOUNT_OFFSET = 32;
903218
- const buf = (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__/* .fromHexString */ .xJ)(messageBody);
903219
- const recipient = (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__/* .toHexString */ .U5)(buf.subarray(RECIPIENT_OFFSET, RECIPIENT_OFFSET + 32));
903220
- const amount = BigInt((0,_strings_js__WEBPACK_IMPORTED_MODULE_1__/* .toHexString */ .U5)(buf.subarray(AMOUNT_OFFSET, AMOUNT_OFFSET + 32)));
904088
+ const buf = (0,_strings_js__WEBPACK_IMPORTED_MODULE_2__/* .fromHexString */ .xJ)(messageBody);
904089
+ const recipient = (0,_strings_js__WEBPACK_IMPORTED_MODULE_2__/* .toHexString */ .U5)(buf.subarray(RECIPIENT_OFFSET, RECIPIENT_OFFSET + 32));
904090
+ const amount = BigInt((0,_strings_js__WEBPACK_IMPORTED_MODULE_2__/* .toHexString */ .U5)(buf.subarray(AMOUNT_OFFSET, AMOUNT_OFFSET + 32)));
903221
904091
  return {
903222
904092
  recipient,
903223
904093
  amount,
@@ -903229,8 +904099,8 @@ const DEFAULT_GAS_LIMIT = 50000n;
903229
904099
  * JS Implementation of solidity/contracts/hooks/libs/StandardHookMetadata.sol#formatMetadata
903230
904100
  * @returns Hex string of the packed hook metadata
903231
904101
  */
903232
- function formatStandardHookMetadata({ refundAddress = ethers__WEBPACK_IMPORTED_MODULE_0__.ethers.constants.AddressZero, msgValue = 0n, gasLimit = DEFAULT_GAS_LIMIT, }) {
903233
- return ethers__WEBPACK_IMPORTED_MODULE_0__.ethers.utils.solidityPack(['uint16', 'uint256', 'uint256', 'address'], [1, msgValue, gasLimit, refundAddress]);
904102
+ function formatStandardHookMetadata({ refundAddress = ethers__WEBPACK_IMPORTED_MODULE_1__.ethers.constants.AddressZero, msgValue = 0n, gasLimit = DEFAULT_GAS_LIMIT, }) {
904103
+ return ethers__WEBPACK_IMPORTED_MODULE_1__.ethers.utils.solidityPack(['uint16', 'uint256', 'uint256', 'address'], [1, msgValue, gasLimit, refundAddress]);
903234
904104
  }
903235
904105
  // Offsets for StandardHookMetadata parsing
903236
904106
  // Format: uint16 variant (2 bytes) + uint256 msgValue (32 bytes) + uint256 gasLimit (32 bytes) + address refundAddress (20 bytes)
@@ -903258,7 +904128,7 @@ function parseStandardHookMetadata(metadata) {
903258
904128
  try {
903259
904129
  const msgValue = BigInt('0x' + metadata.slice(MSG_VALUE_START, GAS_LIMIT_START));
903260
904130
  const gasLimit = BigInt('0x' + metadata.slice(GAS_LIMIT_START, REFUND_START));
903261
- const refundAddress = ethers__WEBPACK_IMPORTED_MODULE_0__.ethers.utils.getAddress('0x' + metadata.slice(REFUND_START, REFUND_END));
904131
+ const refundAddress = ethers__WEBPACK_IMPORTED_MODULE_1__.ethers.utils.getAddress('0x' + metadata.slice(REFUND_START, REFUND_END));
903262
904132
  return { msgValue, gasLimit, refundAddress };
903263
904133
  }
903264
904134
  catch {
@@ -905660,7 +906530,7 @@ module.exports = /*#__PURE__*/JSON.parse('[{"type":"function","name":"proveL2Lea
905660
906530
  /***/ 99468:
905661
906531
  /***/ ((module) => {
905662
906532
 
905663
- module.exports = {"rE":"33.0.1"};
906533
+ module.exports = {"rE":"33.1.0"};
905664
906534
 
905665
906535
  /***/ })
905666
906536