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