@hyperbridge/sdk 2.8.11 → 2.8.12

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.
@@ -1,5 +1,5 @@
1
- import { I as IChain, H as HexString, a as IEvmConfig, C as ChainConfigService, b as IMessage, S as StateMachineIdParams, c as StateMachineHeight, d as IIsmpMessage, e as IPostRequest, f as IGetRequest, O as Order, E as EstimateGasCallData, R as RetryConfig, g as IPolkadotHubConfig, h as IPharosConfig, i as StateMachineUpdate, P as PostRequestWithStatus, G as GetRequestWithStatus, j as ResponseCommitmentWithValues, k as RequestStatusWithMetadata, l as PostRequestTimeoutStatus, m as SubstrateChain, n as ClientConfig, o as IndexerQueryClient, A as AssetTeleported, T as Transaction, p as IProof, q as IEvmChain, r as IntentsCoprocessor, s as Chains, t as ConfiguredAssetSymbol, u as AvailableLiquidity, Q as QueryBuyAndSellRatesParams, B as BuyAndSellRates, v as IntentOrderStatusUpdate, w as SelectBidResult, x as ResumeIntentOrderOptions, y as CancelOrderOptions, z as CancelQuote, D as SubmitBidOptions, F as PackedUserOperation, J as FillerBid, K as Bid, L as EstimateFillOrderParams, M as FillOrderEstimate, N as OrderFeesQuote, U as ERC7821Call, V as OrderWithStatus, W as OrderStatus, X as TokenGatewayAssetTeleportedWithStatus, Y as TeleportStatus, Z as DecodedOrderPlacedLog, _ as DecodedPostRequestEvent, $ as DecodedPostResponseEvent } from './intents-helpers-BRegx4yZ.cjs';
2
- export { a0 as AllStatusKey, a1 as AssetTeleportedResponse, a2 as BidStorageEntry, a3 as BidSubmissionResult, a4 as BlockMetadata, a5 as BytesLikeHex, a6 as CHAINS_WITHOUT_VALID_UNTIL, a7 as CancelOptions, a8 as ChainConfig, a9 as ChainConfigData, aa as ConfiguredAssetSymbolInput, ab as Deployment, ac as DispatchGet, ad as DispatchInfo, ae as DispatchPost, af as Erc4626VaultConfigData, ag as ExecuteIntentOrderOptions, ah as ExecutionResult, ai as FILL_ORDER_V1_ABI, aj as FillOptions, ak as FillOptionsVersion, al as FillerConfig, am as GetRequestResponse, an as GetResponseByRequestIdResponse, ao as GetResponseStorageValues, ap as HostParams, aq as HyperClientStatus, ar as IBatchConsensusAndGetResponseMessage, as as IBatchConsensusAndPostRequestMessage, at as IConfig, au as IConsensusMessage, av as IGetRequestMessage, aw as IGetResponse, ax as IGetResponseMessage, ay as IHyperbridgeConfig, az as INCLUSION_TIMEOUT_MS, aA as IPostResponse, aB as IRequestMessage, aC as ISubstrateConfig, aD as ITimeoutPostRequestMessage, aE as IntentGatewayABI, aF as IntentGatewayParams, aG as IntentOrderStatus, aH as IntentOrderStatusKey, aI as IsmpRequest, aJ as LEGACY_FILL_OPTIONS_IMPLEMENTATIONS, aK as LiquiditySlice, aL as OrderResponse, aM as OrderStatusMetadata, aN as PHANTOM_QUOTE_HAIRCUT_BPS, aO as PaymentInfo, aP as PhantomBid, aQ as PhantomBidBatchResult, aR as PhantomBidDeclaration, aS as PhantomBidOutcome, aT as PhantomOrderEvent, aU as PhantomOrderLeg, aV as PhantomOrderPriceSnapshot, aW as PhantomOrderPriceSnapshotsResponse, aX as PhantomTimings, aY as PollPhantomOrdersOptions, aZ as PostRequestStatus, a_ as RequestBody, a$ as RequestCommitment, b0 as RequestKind, b1 as RequestResponse, b2 as RequestStatus, b3 as RequestStatusKey, b4 as SelectOptions, b5 as SigningAccount, b6 as StateMachineId, b7 as StateMachineResponse, b8 as StorageFacade, b9 as TimeoutStatus, ba as TimeoutStatusKey, bb as TokenGatewayAssetTeleportedResponse, bc as TokenInfo, bd as TokenPrice, be as TokenPricesResponse, bf as UNISWAP_QUOTE_HAIRCUT_BPS, bg as UniswapV4PoolConfigData, bh as applyPhantomQuoteHaircut, bi as applyUniswapQuoteHaircut, bj as chainConfigs, bk as convertCodecToIGetRequest, bl as convertCodecToIProof, bm as convertIGetRequestToCodec, bn as convertIProofToCodec, bo as convertStateIdToStateMachineId, bp as convertStateMachineEnumToString, bq as convertStateMachineIdToEnum, br as decodeAcceptedSourceChains, bs as decodeERC7821ExecuteBatch, bt as decodeFillOrder, bu as decodePhantomBidDeclaration, bv as decodeUserOpScale, bw as deriveHttpUrl, bx as encodeAcceptedSourceChains, by as encodeERC7821ExecuteBatch, bz as encodeFillOrder, bA as encodeISMPMessage, bB as encodePhantomBidDeclaration, bC as encodeUserOpScale, bD as getChainId, bE as getConfigByStateMachineId, bF as getFillOptionsVersion, bG as getViemChain, bH as hyperbridgeAddress, bI as pharosAtlantic, bJ as pharosMainnet, bK as polkadotAssetHubPaseo, bL as polkadotHubMainnet, bM as poolSlug, bN as resetFillOptionsVersionCache, bO as sortPoolSymbols, bP as tronChainIds, bQ as tronNile } from './intents-helpers-BRegx4yZ.cjs';
1
+ import { I as IChain, H as HexString, a as IEvmConfig, C as ChainConfigService, b as IMessage, S as StateMachineIdParams, c as StateMachineHeight, d as IIsmpMessage, e as IPostRequest, f as IGetRequest, O as Order, E as EstimateGasCallData, R as RetryConfig, g as IPolkadotHubConfig, h as IPharosConfig, i as StateMachineUpdate, P as PostRequestWithStatus, G as GetRequestWithStatus, j as ResponseCommitmentWithValues, k as RequestStatusWithMetadata, l as PostRequestTimeoutStatus, m as SubstrateChain, n as ClientConfig, o as IndexerQueryClient, A as AssetTeleported, T as Transaction, p as IProof, q as IEvmChain, r as IntentsCoprocessor, s as Chains, t as ConfiguredAssetSymbol, u as AvailableLiquidity, Q as QueryBuyAndSellRatesParams, B as BuyAndSellRates, v as IntentOrderStatusUpdate, w as SelectBidResult, x as ResumeIntentOrderOptions, y as CancelOrderOptions, z as CancelQuote, D as SubmitBidOptions, F as PackedUserOperation, J as FillerBid, K as Bid, L as EstimateFillOrderParams, M as FillOrderEstimate, N as OrderFeesQuote, U as ERC7821Call, V as OrderWithStatus, W as OrderStatus, X as TokenGatewayAssetTeleportedWithStatus, Y as TeleportStatus, Z as DecodedOrderPlacedLog, _ as DecodedPostRequestEvent, $ as DecodedPostResponseEvent } from './intents-helpers-C9PJp8rx.cjs';
2
+ export { a0 as AllStatusKey, a1 as AssetTeleportedResponse, a2 as BidStorageEntry, a3 as BidSubmissionResult, a4 as BlockMetadata, a5 as BytesLikeHex, a6 as CHAINS_WITHOUT_VALID_UNTIL, a7 as CancelOptions, a8 as ChainConfig, a9 as ChainConfigData, aa as ConfiguredAssetSymbolInput, ab as Deployment, ac as DispatchGet, ad as DispatchInfo, ae as DispatchPost, af as Erc4626VaultConfigData, ag as ExecuteIntentOrderOptions, ah as ExecutionResult, ai as FILL_ORDER_V1_ABI, aj as FillOptions, ak as FillOptionsVersion, al as FillerConfig, am as GetRequestResponse, an as GetResponseByRequestIdResponse, ao as GetResponseStorageValues, ap as HostParams, aq as HyperClientStatus, ar as IBatchConsensusAndGetResponseMessage, as as IBatchConsensusAndPostRequestMessage, at as IConfig, au as IConsensusMessage, av as IGetRequestMessage, aw as IGetResponse, ax as IGetResponseMessage, ay as IHyperbridgeConfig, az as INCLUSION_TIMEOUT_MS, aA as IPostResponse, aB as IRequestMessage, aC as ISubstrateConfig, aD as ITimeoutPostRequestMessage, aE as IntentGatewayABI, aF as IntentGatewayParams, aG as IntentOrderStatus, aH as IntentOrderStatusKey, aI as IsmpRequest, aJ as LEGACY_FILL_OPTIONS_IMPLEMENTATIONS, aK as LiquiditySlice, aL as OrderResponse, aM as OrderStatusMetadata, aN as PaymentInfo, aO as PhantomBid, aP as PhantomBidBatchResult, aQ as PhantomBidDeclaration, aR as PhantomBidOutcome, aS as PhantomOrderEvent, aT as PhantomOrderLeg, aU as PhantomOrderPriceSnapshot, aV as PhantomOrderPriceSnapshotsResponse, aW as PhantomTimings, aX as PollPhantomOrdersOptions, aY as PostRequestStatus, aZ as RequestBody, a_ as RequestCommitment, a$ as RequestKind, b0 as RequestResponse, b1 as RequestStatus, b2 as RequestStatusKey, b3 as SelectOptions, b4 as SigningAccount, b5 as StateMachineId, b6 as StateMachineResponse, b7 as StorageFacade, b8 as TimeoutStatus, b9 as TimeoutStatusKey, ba as TokenGatewayAssetTeleportedResponse, bb as TokenInfo, bc as TokenPrice, bd as TokenPricesResponse, be as UNISWAP_QUOTE_HAIRCUT_BPS, bf as UniswapV4PoolConfigData, bg as applyProtocolFeeHaircut, bh as applyUniswapQuoteHaircut, bi as chainConfigs, bj as convertCodecToIGetRequest, bk as convertCodecToIProof, bl as convertIGetRequestToCodec, bm as convertIProofToCodec, bn as convertStateIdToStateMachineId, bo as convertStateMachineEnumToString, bp as convertStateMachineIdToEnum, bq as decodeAcceptedSourceChains, br as decodeERC7821ExecuteBatch, bs as decodeFillOrder, bt as decodePhantomBidDeclaration, bu as decodeUserOpScale, bv as deriveHttpUrl, bw as encodeAcceptedSourceChains, bx as encodeERC7821ExecuteBatch, by as encodeFillOrder, bz as encodeISMPMessage, bA as encodePhantomBidDeclaration, bB as encodeUserOpScale, bC as getChainId, bD as getConfigByStateMachineId, bE as getFillOptionsVersion, bF as getViemChain, bG as hyperbridgeAddress, bH as pharosAtlantic, bI as pharosMainnet, bJ as polkadotAssetHubPaseo, bK as polkadotHubMainnet, bL as poolSlug, bM as readProtocolFeeHaircutBps, bN as resetFillOptionsVersionCache, bO as sortPoolSymbols, bP as tronChainIds, bQ as tronNile } from './intents-helpers-C9PJp8rx.cjs';
3
3
  import { ConsolaInstance } from 'consola';
4
4
  import { GraphQLClient } from 'graphql-request';
5
5
  import { PublicClient, TransactionReceipt, Hex, Address } from 'viem';
@@ -1,5 +1,5 @@
1
- import { I as IChain, H as HexString, a as IEvmConfig, C as ChainConfigService, b as IMessage, S as StateMachineIdParams, c as StateMachineHeight, d as IIsmpMessage, e as IPostRequest, f as IGetRequest, O as Order, E as EstimateGasCallData, R as RetryConfig, g as IPolkadotHubConfig, h as IPharosConfig, i as StateMachineUpdate, P as PostRequestWithStatus, G as GetRequestWithStatus, j as ResponseCommitmentWithValues, k as RequestStatusWithMetadata, l as PostRequestTimeoutStatus, m as SubstrateChain, n as ClientConfig, o as IndexerQueryClient, A as AssetTeleported, T as Transaction, p as IProof, q as IEvmChain, r as IntentsCoprocessor, s as Chains, t as ConfiguredAssetSymbol, u as AvailableLiquidity, Q as QueryBuyAndSellRatesParams, B as BuyAndSellRates, v as IntentOrderStatusUpdate, w as SelectBidResult, x as ResumeIntentOrderOptions, y as CancelOrderOptions, z as CancelQuote, D as SubmitBidOptions, F as PackedUserOperation, J as FillerBid, K as Bid, L as EstimateFillOrderParams, M as FillOrderEstimate, N as OrderFeesQuote, U as ERC7821Call, V as OrderWithStatus, W as OrderStatus, X as TokenGatewayAssetTeleportedWithStatus, Y as TeleportStatus, Z as DecodedOrderPlacedLog, _ as DecodedPostRequestEvent, $ as DecodedPostResponseEvent } from './intents-helpers-BRegx4yZ.js';
2
- export { a0 as AllStatusKey, a1 as AssetTeleportedResponse, a2 as BidStorageEntry, a3 as BidSubmissionResult, a4 as BlockMetadata, a5 as BytesLikeHex, a6 as CHAINS_WITHOUT_VALID_UNTIL, a7 as CancelOptions, a8 as ChainConfig, a9 as ChainConfigData, aa as ConfiguredAssetSymbolInput, ab as Deployment, ac as DispatchGet, ad as DispatchInfo, ae as DispatchPost, af as Erc4626VaultConfigData, ag as ExecuteIntentOrderOptions, ah as ExecutionResult, ai as FILL_ORDER_V1_ABI, aj as FillOptions, ak as FillOptionsVersion, al as FillerConfig, am as GetRequestResponse, an as GetResponseByRequestIdResponse, ao as GetResponseStorageValues, ap as HostParams, aq as HyperClientStatus, ar as IBatchConsensusAndGetResponseMessage, as as IBatchConsensusAndPostRequestMessage, at as IConfig, au as IConsensusMessage, av as IGetRequestMessage, aw as IGetResponse, ax as IGetResponseMessage, ay as IHyperbridgeConfig, az as INCLUSION_TIMEOUT_MS, aA as IPostResponse, aB as IRequestMessage, aC as ISubstrateConfig, aD as ITimeoutPostRequestMessage, aE as IntentGatewayABI, aF as IntentGatewayParams, aG as IntentOrderStatus, aH as IntentOrderStatusKey, aI as IsmpRequest, aJ as LEGACY_FILL_OPTIONS_IMPLEMENTATIONS, aK as LiquiditySlice, aL as OrderResponse, aM as OrderStatusMetadata, aN as PHANTOM_QUOTE_HAIRCUT_BPS, aO as PaymentInfo, aP as PhantomBid, aQ as PhantomBidBatchResult, aR as PhantomBidDeclaration, aS as PhantomBidOutcome, aT as PhantomOrderEvent, aU as PhantomOrderLeg, aV as PhantomOrderPriceSnapshot, aW as PhantomOrderPriceSnapshotsResponse, aX as PhantomTimings, aY as PollPhantomOrdersOptions, aZ as PostRequestStatus, a_ as RequestBody, a$ as RequestCommitment, b0 as RequestKind, b1 as RequestResponse, b2 as RequestStatus, b3 as RequestStatusKey, b4 as SelectOptions, b5 as SigningAccount, b6 as StateMachineId, b7 as StateMachineResponse, b8 as StorageFacade, b9 as TimeoutStatus, ba as TimeoutStatusKey, bb as TokenGatewayAssetTeleportedResponse, bc as TokenInfo, bd as TokenPrice, be as TokenPricesResponse, bf as UNISWAP_QUOTE_HAIRCUT_BPS, bg as UniswapV4PoolConfigData, bh as applyPhantomQuoteHaircut, bi as applyUniswapQuoteHaircut, bj as chainConfigs, bk as convertCodecToIGetRequest, bl as convertCodecToIProof, bm as convertIGetRequestToCodec, bn as convertIProofToCodec, bo as convertStateIdToStateMachineId, bp as convertStateMachineEnumToString, bq as convertStateMachineIdToEnum, br as decodeAcceptedSourceChains, bs as decodeERC7821ExecuteBatch, bt as decodeFillOrder, bu as decodePhantomBidDeclaration, bv as decodeUserOpScale, bw as deriveHttpUrl, bx as encodeAcceptedSourceChains, by as encodeERC7821ExecuteBatch, bz as encodeFillOrder, bA as encodeISMPMessage, bB as encodePhantomBidDeclaration, bC as encodeUserOpScale, bD as getChainId, bE as getConfigByStateMachineId, bF as getFillOptionsVersion, bG as getViemChain, bH as hyperbridgeAddress, bI as pharosAtlantic, bJ as pharosMainnet, bK as polkadotAssetHubPaseo, bL as polkadotHubMainnet, bM as poolSlug, bN as resetFillOptionsVersionCache, bO as sortPoolSymbols, bP as tronChainIds, bQ as tronNile } from './intents-helpers-BRegx4yZ.js';
1
+ import { I as IChain, H as HexString, a as IEvmConfig, C as ChainConfigService, b as IMessage, S as StateMachineIdParams, c as StateMachineHeight, d as IIsmpMessage, e as IPostRequest, f as IGetRequest, O as Order, E as EstimateGasCallData, R as RetryConfig, g as IPolkadotHubConfig, h as IPharosConfig, i as StateMachineUpdate, P as PostRequestWithStatus, G as GetRequestWithStatus, j as ResponseCommitmentWithValues, k as RequestStatusWithMetadata, l as PostRequestTimeoutStatus, m as SubstrateChain, n as ClientConfig, o as IndexerQueryClient, A as AssetTeleported, T as Transaction, p as IProof, q as IEvmChain, r as IntentsCoprocessor, s as Chains, t as ConfiguredAssetSymbol, u as AvailableLiquidity, Q as QueryBuyAndSellRatesParams, B as BuyAndSellRates, v as IntentOrderStatusUpdate, w as SelectBidResult, x as ResumeIntentOrderOptions, y as CancelOrderOptions, z as CancelQuote, D as SubmitBidOptions, F as PackedUserOperation, J as FillerBid, K as Bid, L as EstimateFillOrderParams, M as FillOrderEstimate, N as OrderFeesQuote, U as ERC7821Call, V as OrderWithStatus, W as OrderStatus, X as TokenGatewayAssetTeleportedWithStatus, Y as TeleportStatus, Z as DecodedOrderPlacedLog, _ as DecodedPostRequestEvent, $ as DecodedPostResponseEvent } from './intents-helpers-C9PJp8rx.js';
2
+ export { a0 as AllStatusKey, a1 as AssetTeleportedResponse, a2 as BidStorageEntry, a3 as BidSubmissionResult, a4 as BlockMetadata, a5 as BytesLikeHex, a6 as CHAINS_WITHOUT_VALID_UNTIL, a7 as CancelOptions, a8 as ChainConfig, a9 as ChainConfigData, aa as ConfiguredAssetSymbolInput, ab as Deployment, ac as DispatchGet, ad as DispatchInfo, ae as DispatchPost, af as Erc4626VaultConfigData, ag as ExecuteIntentOrderOptions, ah as ExecutionResult, ai as FILL_ORDER_V1_ABI, aj as FillOptions, ak as FillOptionsVersion, al as FillerConfig, am as GetRequestResponse, an as GetResponseByRequestIdResponse, ao as GetResponseStorageValues, ap as HostParams, aq as HyperClientStatus, ar as IBatchConsensusAndGetResponseMessage, as as IBatchConsensusAndPostRequestMessage, at as IConfig, au as IConsensusMessage, av as IGetRequestMessage, aw as IGetResponse, ax as IGetResponseMessage, ay as IHyperbridgeConfig, az as INCLUSION_TIMEOUT_MS, aA as IPostResponse, aB as IRequestMessage, aC as ISubstrateConfig, aD as ITimeoutPostRequestMessage, aE as IntentGatewayABI, aF as IntentGatewayParams, aG as IntentOrderStatus, aH as IntentOrderStatusKey, aI as IsmpRequest, aJ as LEGACY_FILL_OPTIONS_IMPLEMENTATIONS, aK as LiquiditySlice, aL as OrderResponse, aM as OrderStatusMetadata, aN as PaymentInfo, aO as PhantomBid, aP as PhantomBidBatchResult, aQ as PhantomBidDeclaration, aR as PhantomBidOutcome, aS as PhantomOrderEvent, aT as PhantomOrderLeg, aU as PhantomOrderPriceSnapshot, aV as PhantomOrderPriceSnapshotsResponse, aW as PhantomTimings, aX as PollPhantomOrdersOptions, aY as PostRequestStatus, aZ as RequestBody, a_ as RequestCommitment, a$ as RequestKind, b0 as RequestResponse, b1 as RequestStatus, b2 as RequestStatusKey, b3 as SelectOptions, b4 as SigningAccount, b5 as StateMachineId, b6 as StateMachineResponse, b7 as StorageFacade, b8 as TimeoutStatus, b9 as TimeoutStatusKey, ba as TokenGatewayAssetTeleportedResponse, bb as TokenInfo, bc as TokenPrice, bd as TokenPricesResponse, be as UNISWAP_QUOTE_HAIRCUT_BPS, bf as UniswapV4PoolConfigData, bg as applyProtocolFeeHaircut, bh as applyUniswapQuoteHaircut, bi as chainConfigs, bj as convertCodecToIGetRequest, bk as convertCodecToIProof, bl as convertIGetRequestToCodec, bm as convertIProofToCodec, bn as convertStateIdToStateMachineId, bo as convertStateMachineEnumToString, bp as convertStateMachineIdToEnum, bq as decodeAcceptedSourceChains, br as decodeERC7821ExecuteBatch, bs as decodeFillOrder, bt as decodePhantomBidDeclaration, bu as decodeUserOpScale, bv as deriveHttpUrl, bw as encodeAcceptedSourceChains, bx as encodeERC7821ExecuteBatch, by as encodeFillOrder, bz as encodeISMPMessage, bA as encodePhantomBidDeclaration, bB as encodeUserOpScale, bC as getChainId, bD as getConfigByStateMachineId, bE as getFillOptionsVersion, bF as getViemChain, bG as hyperbridgeAddress, bH as pharosAtlantic, bI as pharosMainnet, bJ as polkadotAssetHubPaseo, bK as polkadotHubMainnet, bL as poolSlug, bM as readProtocolFeeHaircutBps, bN as resetFillOptionsVersionCache, bO as sortPoolSymbols, bP as tronChainIds, bQ as tronNile } from './intents-helpers-C9PJp8rx.js';
3
3
  import { ConsolaInstance } from 'consola';
4
4
  import { GraphQLClient } from 'graphql-request';
5
5
  import { PublicClient, TransactionReceipt, Hex, Address } from 'viem';
@@ -20546,8 +20546,52 @@ var IntentGateway = class _IntentGateway {
20546
20546
  }
20547
20547
  }
20548
20548
  };
20549
-
20550
- // src/protocols/intents/phantom-aggregation.ts
20549
+ function rpcFetch() {
20550
+ const f = globalThis.fetch;
20551
+ if (typeof f !== "function") {
20552
+ throw new Error("No fetch available; call setAggregationFetch() before using the aggregation helpers");
20553
+ }
20554
+ return f;
20555
+ }
20556
+ var PhantomRpcError = class extends Error {
20557
+ constructor(message, cause) {
20558
+ super(message);
20559
+ this.cause = cause;
20560
+ this.name = "PhantomRpcError";
20561
+ }
20562
+ cause;
20563
+ };
20564
+ async function rpcCall(url, payload) {
20565
+ let lastErr;
20566
+ for (let attempt = 0; attempt < 4; attempt++) {
20567
+ if (attempt > 0) await new Promise((resolve) => setTimeout(resolve, 150 * attempt));
20568
+ let timer;
20569
+ try {
20570
+ const timeout = new Promise((_, reject) => {
20571
+ timer = setTimeout(() => reject(new Error(`rpc timeout: ${url}`)), 12e3);
20572
+ });
20573
+ const response = await Promise.race([
20574
+ rpcFetch()(url, {
20575
+ method: "POST",
20576
+ headers: { accept: "application/json", "content-type": "application/json" },
20577
+ body: JSON.stringify(payload)
20578
+ }),
20579
+ timeout
20580
+ ]);
20581
+ const body = await response.json();
20582
+ if (body?.error) {
20583
+ lastErr = new Error(`rpc error: ${JSON.stringify(body.error).slice(0, 200)}`);
20584
+ continue;
20585
+ }
20586
+ return body;
20587
+ } catch (err) {
20588
+ lastErr = err;
20589
+ } finally {
20590
+ if (timer) clearTimeout(timer);
20591
+ }
20592
+ }
20593
+ throw new PhantomRpcError(`RPC call failed after 4 attempts: ${url}`, lastErr);
20594
+ }
20551
20595
  var FILL_ORDER_ABI = IntentGatewayV2_default.ABI;
20552
20596
  var DECLARATION_V1 = 1;
20553
20597
  var DECLARATION_V2 = 2;
@@ -20636,15 +20680,35 @@ function decodeAcceptedSourceChains(paymasterAndData) {
20636
20680
  return decodePhantomBidDeclaration(paymasterAndData).acceptedSources;
20637
20681
  }
20638
20682
  var UNISWAP_QUOTE_HAIRCUT_BPS = 10n;
20639
- var PHANTOM_QUOTE_HAIRCUT_BPS = 5n;
20640
20683
  function haircut(amount, bps) {
20641
20684
  return amount * (10000n - bps) / 10000n;
20642
20685
  }
20643
20686
  function applyUniswapQuoteHaircut(amount) {
20644
20687
  return haircut(amount, UNISWAP_QUOTE_HAIRCUT_BPS);
20645
20688
  }
20646
- function applyPhantomQuoteHaircut(amount) {
20647
- return haircut(amount, PHANTOM_QUOTE_HAIRCUT_BPS);
20689
+ var SELECTOR_GATEWAY_PARAMS = "0xcff0ab96";
20690
+ var GATEWAY_PARAMS_WORDS = 6;
20691
+ var GATEWAY_PARAMS_FEE_WORD = 4;
20692
+ async function readProtocolFeeHaircutBps(evmRpcUrl, gatewayAddress) {
20693
+ const result = await rpcCall(evmRpcUrl, {
20694
+ id: 1,
20695
+ jsonrpc: "2.0",
20696
+ method: "eth_call",
20697
+ params: [{ to: gatewayAddress, data: SELECTOR_GATEWAY_PARAMS }, "latest"]
20698
+ });
20699
+ const hex = result.result;
20700
+ if (typeof hex !== "string" || hex.length < 2 + 64 * GATEWAY_PARAMS_WORDS) {
20701
+ throw new PhantomRpcError(`IntentGateway.params() returned no usable result from ${gatewayAddress} on ${evmRpcUrl}`);
20702
+ }
20703
+ const start = 2 + 64 * GATEWAY_PARAMS_FEE_WORD;
20704
+ const protocolFeeBps = BigInt(`0x${hex.slice(start, start + 64)}`);
20705
+ if (protocolFeeBps >= 10000n) {
20706
+ throw new PhantomRpcError(`IntentGateway ${gatewayAddress} reports an implausible protocol fee: ${protocolFeeBps} bps`);
20707
+ }
20708
+ return protocolFeeBps;
20709
+ }
20710
+ function applyProtocolFeeHaircut(amount, protocolFeeBps) {
20711
+ return haircut(amount, protocolFeeBps);
20648
20712
  }
20649
20713
  FILL_ORDER_ABI.find(
20650
20714
  (item) => item?.type === "function" && item?.name === "fillOrder"
@@ -25119,6 +25183,6 @@ async function teleportDot(param_) {
25119
25183
  return stream;
25120
25184
  }
25121
25185
 
25122
- export { ADDRESS_ZERO2 as ADDRESS_ZERO, BundlerMethod, CHAINS_WITHOUT_VALID_UNTIL, ChainConfigService, Chains, CryptoUtils, DEFAULT_ADDRESS, DEFAULT_GRAFFITI, DOMAIN_TYPEHASH, DUMMY_PRIVATE_KEY, ERC20Method, ERC7821_BATCH_MODE, EvmChain, ABI as EvmHostABI, EvmLanguage, FILL_ORDER_V1_ABI, HyperClientStatus, HyperFungibleToken, HyperFungibleTokenABI, INCLUSION_TIMEOUT_MS, IndexedRateUnavailableError, IntentGateway, ABI3 as IntentGatewayABI, IntentOrderStatus, IntentsCoprocessor, InvalidIndexedRateError, InvalidLiquidityIndexerResponseError, InvalidPhantomSnapshotError, IsmpClient, LEGACY_FILL_OPTIONS_IMPLEMENTATIONS, MOCK_ADDRESS, ORDER_V2_PARAM_TYPE, OrderStatus, OrderStatusChecker, PACKED_USEROP_TYPEHASH, PHANTOM_QUOTE_HAIRCUT_BPS, PLACE_ORDER_SELECTOR, PhantomSnapshotUnavailableError, PharosChain, PolkadotHubChain, REQUEST_COMMITMENTS_SLOT, REQUEST_RECEIPTS_SLOT, RESPONSE_COMMITMENTS_SLOT, RESPONSE_RECEIPTS_SLOT, RequestKind, RequestStatus, SELECT_SOLVER_TYPEHASH, STATE_COMMITMENTS_SLOT, SubstrateChain, Swap, TESTNET_CHAINS, TeleportStatus, TimeoutStatus, TokenGateway, TronChain, UNISWAP_QUOTE_HAIRCUT_BPS, USE_ETHERSCAN_CHAINS, UnsupportedIntentQuotePairError, UnsupportedIntentQuoteStrategyError, UnsupportedLiquidityAssetError, UnsupportedLiquidityChainError, WrappedHyperFungibleTokenABI, __test, adjustDecimals, applyPhantomQuoteHaircut, applyUniswapQuoteHaircut, bytes20ToBytes32, bytes32ToBytes20, calculateAllowanceMappingLocation, calculateBalanceMappingLocation, chainConfigs, constructRedeemEscrowRequestBody, constructRefundEscrowRequestBody, convertCodecToIGetRequest, convertCodecToIProof, convertIGetRequestToCodec, convertIProofToCodec, convertStateIdToStateMachineId, convertStateMachineEnumToString, convertStateMachineIdToEnum, createEvmChain, createQueryClient, decodeAcceptedSourceChains, decodeERC7821ExecuteBatch, decodeFillOrder, decodePhantomBidDeclaration, decodeUserOpScale, deriveHttpUrl, encodeAcceptedSourceChains, encodeERC7821ExecuteBatch, encodeFillOrder, encodeISMPMessage, encodePhantomBidDeclaration, encodeStateMachineId, encodeUserOpScale, encodeWithdrawalRequest, estimateGasForPost, fetchPrice, fetchSourceProof, generateRootWithProof, getChainId, getConfigByStateMachineId, getContractCallInput, getContractCallInputs, getFillOptionsVersion, getGasPriceFromEtherscan, getOrFetchStorageSlot, getOrderPlacedFromTx, getPostRequestEventFromTx, getPostResponseEventFromTx, getRequestCommitment, getStateCommitmentFieldSlot, getStateCommitmentSlot, getStorageSlot, getViemChain, hexToString, hyperbridgeAddress, maxBigInt, normalizeAddressForEvmBytes32, normalizeAddressForStateMachine, normalizeEvmAddress, normalizeEvmChainId, normalizeStateMachineId, orderCommitment, parseStateMachineId, pharosAtlantic, pharosMainnet, polkadotAssetHubPaseo, polkadotHubMainnet, poolSlug, postRequestCommitment, queryAssetTeleported, queryGetRequest, queryPostRequest, quoteUniswap, requestCommitmentKey, resetFillOptionsVersionCache, responseCommitmentKey, retryPromise, sortPoolSymbols, teleport, teleportDot, transformOrderForContract, tronChainIds, tronNile };
25186
+ export { ADDRESS_ZERO2 as ADDRESS_ZERO, BundlerMethod, CHAINS_WITHOUT_VALID_UNTIL, ChainConfigService, Chains, CryptoUtils, DEFAULT_ADDRESS, DEFAULT_GRAFFITI, DOMAIN_TYPEHASH, DUMMY_PRIVATE_KEY, ERC20Method, ERC7821_BATCH_MODE, EvmChain, ABI as EvmHostABI, EvmLanguage, FILL_ORDER_V1_ABI, HyperClientStatus, HyperFungibleToken, HyperFungibleTokenABI, INCLUSION_TIMEOUT_MS, IndexedRateUnavailableError, IntentGateway, ABI3 as IntentGatewayABI, IntentOrderStatus, IntentsCoprocessor, InvalidIndexedRateError, InvalidLiquidityIndexerResponseError, InvalidPhantomSnapshotError, IsmpClient, LEGACY_FILL_OPTIONS_IMPLEMENTATIONS, MOCK_ADDRESS, ORDER_V2_PARAM_TYPE, OrderStatus, OrderStatusChecker, PACKED_USEROP_TYPEHASH, PLACE_ORDER_SELECTOR, PhantomSnapshotUnavailableError, PharosChain, PolkadotHubChain, REQUEST_COMMITMENTS_SLOT, REQUEST_RECEIPTS_SLOT, RESPONSE_COMMITMENTS_SLOT, RESPONSE_RECEIPTS_SLOT, RequestKind, RequestStatus, SELECT_SOLVER_TYPEHASH, STATE_COMMITMENTS_SLOT, SubstrateChain, Swap, TESTNET_CHAINS, TeleportStatus, TimeoutStatus, TokenGateway, TronChain, UNISWAP_QUOTE_HAIRCUT_BPS, USE_ETHERSCAN_CHAINS, UnsupportedIntentQuotePairError, UnsupportedIntentQuoteStrategyError, UnsupportedLiquidityAssetError, UnsupportedLiquidityChainError, WrappedHyperFungibleTokenABI, __test, adjustDecimals, applyProtocolFeeHaircut, applyUniswapQuoteHaircut, bytes20ToBytes32, bytes32ToBytes20, calculateAllowanceMappingLocation, calculateBalanceMappingLocation, chainConfigs, constructRedeemEscrowRequestBody, constructRefundEscrowRequestBody, convertCodecToIGetRequest, convertCodecToIProof, convertIGetRequestToCodec, convertIProofToCodec, convertStateIdToStateMachineId, convertStateMachineEnumToString, convertStateMachineIdToEnum, createEvmChain, createQueryClient, decodeAcceptedSourceChains, decodeERC7821ExecuteBatch, decodeFillOrder, decodePhantomBidDeclaration, decodeUserOpScale, deriveHttpUrl, encodeAcceptedSourceChains, encodeERC7821ExecuteBatch, encodeFillOrder, encodeISMPMessage, encodePhantomBidDeclaration, encodeStateMachineId, encodeUserOpScale, encodeWithdrawalRequest, estimateGasForPost, fetchPrice, fetchSourceProof, generateRootWithProof, getChainId, getConfigByStateMachineId, getContractCallInput, getContractCallInputs, getFillOptionsVersion, getGasPriceFromEtherscan, getOrFetchStorageSlot, getOrderPlacedFromTx, getPostRequestEventFromTx, getPostResponseEventFromTx, getRequestCommitment, getStateCommitmentFieldSlot, getStateCommitmentSlot, getStorageSlot, getViemChain, hexToString, hyperbridgeAddress, maxBigInt, normalizeAddressForEvmBytes32, normalizeAddressForStateMachine, normalizeEvmAddress, normalizeEvmChainId, normalizeStateMachineId, orderCommitment, parseStateMachineId, pharosAtlantic, pharosMainnet, polkadotAssetHubPaseo, polkadotHubMainnet, poolSlug, postRequestCommitment, queryAssetTeleported, queryGetRequest, queryPostRequest, quoteUniswap, readProtocolFeeHaircutBps, requestCommitmentKey, resetFillOptionsVersionCache, responseCommitmentKey, retryPromise, sortPoolSymbols, teleport, teleportDot, transformOrderForContract, tronChainIds, tronNile };
25123
25187
  //# sourceMappingURL=index.js.map
25124
25188
  //# sourceMappingURL=index.js.map