@swapkit/helpers 4.17.1 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @swapkit/helpers
2
2
 
3
+ ## 4.19.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#331](https://github.com/swapkit/sdk/pull/331) [`f740a74`](https://github.com/swapkit/sdk/commit/f740a742a0cf879b4e56bb73647d21642bc22e9d) Thanks [@towanTG](https://github.com/towanTG)! - Add client-side support for the Stellar trustline approval flow: swap response types model the `approvalTx` union (EVM | Stellar changeTrust XDR) and `nextActions`, `approveAssetValue`/`isAssetValueApproved` switch between EVM allowances and Stellar trustlines (checking via the new Stellar toolbox `hasTrustline({ address, assetValue })`, approving by signing the API-provided changeTrust XDR with the destination wallet). The swap method itself is unchanged — integrators approve first, re-fetch the route, then swap.
8
+ - Update generated token lists. (via @swapkit/tokens@4.3.4)
9
+ - [#329](https://github.com/swapkit/sdk/pull/329) [`55d9edc`](https://github.com/swapkit/sdk/commit/55d9edcc603e0139588c905e41a59eaaa3275cda) Thanks [@towanTG](https://github.com/towanTG)! - Update NEAR provider token list: add Stellar assets (XLM.XLM, XLM.USDC) and latest NEAR-intents listings (SWEAT, GMX, KAITO, AAVE, LINK, UNI, and more); remove BTC.BTC(OMNI) (via @swapkit/tokens@4.3.4)
10
+
11
+ ## 4.18.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#319](https://github.com/swapkit/sdk/pull/319) [`67445d1`](https://github.com/swapkit/sdk/commit/67445d13c963492bbe4283f098b959de010ed0a7) Thanks [@towanTG](https://github.com/towanTG)! - Add Aleo chain metadata, assets, public-balance support, HD derivation, public transfers, fee estimates, broadcasting, transaction status, and keystore/server registration.
16
+ - [#328](https://github.com/swapkit/sdk/pull/328) [`0794dd0`](https://github.com/swapkit/sdk/commit/0794dd0d92a4ab1808c42069d483b91e5ae35f4a) Thanks [@towanTG](https://github.com/towanTG)! - Aleo review follow-up: surface `splitTransactionId` in unshield failure errors so an interrupted unshield is resumable, treat a 404 on the serial-number lookup as the authoritative unspent answer across RPC failover, filter record extraction to `credits.aleo` in `getRecords`, reject toolbox params carrying both a phrase and an external signer (`toolbox_aleo_conflicting_signers`), validate `feeRecordCredits`, and throw a clear `toolbox_aleo_no_rpc_urls` error when no RPC URL is configured.
17
+ - [#325](https://github.com/swapkit/sdk/pull/325) [`88aa0cc`](https://github.com/swapkit/sdk/commit/88aa0cc308af1010e5632a7fd9136e43ddbed6a4) Thanks [@paz-ts](https://github.com/paz-ts)! - toSignificant no longer corrupts values with long decimal parts: leading zeros are stripped as a string instead of through Number.parseInt, whose float round-trip rendered full-precision balances on 24-decimal chains like NEAR with two decimal points ("0.0003.2238") and silently lost digits past 2^53 on 18-decimal chains.
18
+ - Update generated token lists. (via @swapkit/tokens@4.3.3)
19
+
3
20
  ## 4.17.1
4
21
 
5
22
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- var{defineProperty:IN,getOwnPropertyNames:nA,getOwnPropertyDescriptor:$H}=Object,WN=Object.prototype.hasOwnProperty;function jN(A){return this[A]}var YN=(A,H,T)=>{var P=nA(H);for(let L of P)if(!WN.call(A,L)&&L!=="default")IN(A,L,{get:jN.bind(H,L),enumerable:!0});if(T){for(let L of P)if(!WN.call(T,L)&&L!=="default")IN(T,L,{get:jN.bind(H,L),enumerable:!0});return T}};var XA=(A)=>{var H=(UA??=new WeakMap).get(A),T;if(H)return H;if(H=IN({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function"){for(var P of nA(A))if(!WN.call(H,P))IN(H,P,{get:jN.bind(A,P),enumerable:!(T=$H(A,P))||T.enumerable})}return UA.set(A,H),H},UA;var OH=(A)=>A;function GH(A,H){this[A]=OH.bind(null,H)}var w=(A,H)=>{for(var T in H)IN(A,T,{get:H[T],enumerable:!0,configurable:!0,set:GH.bind(H,T)})};var uH=(A,H)=>()=>(A&&(H=A(A=0)),H);var r={};module.exports=XA(r);var SA=uH(()=>{YN(r,require("@swapkit/tokens"),module.exports)});var aP={};w(aP,{toHexTransactionValue:()=>FP,parseTransactionValue:()=>LP,isTransactionValue:()=>rA,TxnType:()=>hN,TxnStatus:()=>lN,TronTransactionSchema:()=>TA,TransactionSchema:()=>HP,TransactionDTOSchema:()=>TP,TrackingStatus:()=>rN,TrackingRequestSchema:()=>fT,TrackingRequestQuerySchema:()=>oT,TrackerResponseSchema:()=>AA,TokenSchema:()=>pT,TokenDetailsMetadataSchema:()=>dT,TONTransactionSchema:()=>LA,TONTransactionMessageSchema:()=>eA,SwapToResponseSchema:()=>XP,SwapToRequestSchema:()=>nP,SwapToAssetSchema:()=>LH,SwapRouteV2ResponseSchema:()=>uA,SwapKitApi:()=>eP,StarknetTransactionSchema:()=>sA,RouteQuoteWarningSchema:()=>RA,RouteQuoteTxType:()=>GN,RouteQuoteProviderErrorSchema:()=>FH,RouteQuoteMetadataV2Schema:()=>IA,RouteQuoteMetadataSchema:()=>FA,RouteQuoteMetadataAssetSchema:()=>NH,RouteLegWithoutAddressesSchema:()=>GP,RouteLegSchema:()=>aA,QuoteV3ResponseSchema:()=>UP,QuoteV2ResponseSchema:()=>SP,QuoteRouteV2Response:()=>GA,QuoteResponseSchema:()=>BA,QuoteResponseRouteItem:()=>HH,QuoteRequestSchema:()=>hT,ProviderAction:()=>cN,PriorityLabel:()=>dN,PriceResponseSchema:()=>sN,PriceRequestSchema:()=>cT,NearSwapResponseSchema:()=>NA,NearDepositChannelResultSchema:()=>lT,NearDepositChannelParamsSchema:()=>CN,GasSchema:()=>$A,GasResponseSchema:()=>OA,FeesSchema:()=>QN,EstimatedTimeSchema:()=>zN,EVMTransactionSchema:()=>HA,EVMTransactionDetailsSchema:()=>IP,EVMTransactionDetailsParamsSchema:()=>iA,DepositChannelResponseSchema:()=>aN,DepositChannelParamsSchema:()=>eN,CosmosTransactionSchema:()=>PA,CoinGeckoMetadataSchema:()=>iN,ChainflipMetadataSchema:()=>AH,BrokerDepositChannelParamsSchema:()=>lA,AssetValueSchema:()=>h,ApproveResponseSchema:()=>YP,ApproveRequestParams:()=>_P,ApprovalTransactionSchema:()=>TH,ApiV2ErrorSchema:()=>CT});module.exports=XA(aP);var d=require("@swapkit/types");var $T={};w($T,{getMinAmountByChain:()=>TT,AssetValue:()=>z});var M=require("@swapkit/types"),yN=require("ethers"),wN=require("ts-pattern");var cH={};w(cH,{parseSymbolForAddress:()=>e,isGasAsset:()=>kN,getTokenLogoURI:()=>dH,getCommonAssetInfo:()=>RN,getAssetType:()=>bN,findAssetBy:()=>hH,fetchTokenInfo:()=>vN,assetFromString:()=>K,CommonAssetStrings:()=>kH});var B=require("@swapkit/types"),s=require("ts-pattern");var wH={};w(wH,{RequestClient:()=>G});var gH={};w(gH,{swapKitConfigStore:()=>Q,SKConfig:()=>U});var S=require("@swapkit/types"),wA=require("zustand/vanilla");var _H={};w(_H,{WarningCodeEnum:()=>gN,WalletOption:()=>nN,ProviderName:()=>t,NetworkDerivationPath:()=>MH,MemoType:()=>xA,LedgerErrorCode:()=>tA,FeeTypeEnum:()=>UN,FeeOption:()=>EA,ErrorCode:()=>i,ApproveMode:()=>bA});var DN=require("@swapkit/types"),MH=DN.AllChains.reduce((A,H)=>{return A[H]=DN.getChainConfig(H).networkDerivationPath,A},{});var i;((F)=>{F.unknownError="unknownError";F.test_error="test_error";F.providerDetailsError="providerDetailsError";F.blockHeaderNotFound="blockHeaderNotFound";F.blockHashNotFoundAtHeight="blockHashNotFoundAtHeight";F.blockHashNotFoundAtHash="blockHashNotFoundAtHash";F.txHashMissing="txHashMissing";F.assetValueMissingInfo="assetValueMissingInfo";F.invalidAsset="invalidAsset";F.blockIsRequired="blockIsRequired";F.currentBlockHeaderNotFound="currentBlockHeaderNotFound";F.failedToRetrieveBalance="failedToRetrieveBalance";F.failedToRetrieveBlock="failedToRetrieveBlock";F.failedToRetrieveFees="failedToRetrieveFees";F.notImplementedBCH="notImplementedBCH";F.notImplementedDoge="notImplementedDoge";F.noPoolsFound="noPoolsFound";F.noVaultsFound="noVaultsFound";F.noTxFound="noTxFound";F.noInputCoinFound="noInputCoinFound";F.noBlockDataFound="noBlockDataFound";F.multipleCosmosMessages="multipleCosmosMessages";F.heightOrHashNotProvided="heightOrHashNotProvided";F.unknownDenom="unknownDenom";F.invalidBlockHeight="invalidBlockHeight";F.timestampExtrinsicNoArgumentsForBlock="timestampExtrinsicNoArgumentsForBlock";F.timestampExtrinsicNoTimestampForBlock="timestampExtrinsicNoTimestampForBlock";F.noTimestampExtrinsicForHash="noTimestampExtrinsicForHash";F.timestampExtrinsicNoArgumentsForHash="timestampExtrinsicNoArgumentsForHash";F.txMemoUndefined="txMemoUndefined";F.txMemoIncorrect="txMemoIncorrect";F.txTypeNotFound="txTypeNotFound";F.txNoMessage="txNoMessage";F.txNotFound="txNotFound";F.txReceiptNotFound="txReceiptNotFound";F.txParsingError="txParsingError";F.txLogsParsingError="txLogsParsingError";F.blockNotFound="blockNotFound";F.balanceNotFound="balanceNotFound";F.configError="configError";F.synthSwapDisallowed="synthSwapDisallowed";F.providerQuoteTimeout="providerQuoteTimeout";F.noQuoteResponse="noQuoteResponse";F.noPoolAssetsFound="noPoolAssetsFound";F.noThorchainPools="noThorchainPools";F.noMayachainPools="noMayachainPools";F.noThorchainNetworkInfo="noThorchainNetworkInfo";F.invalidAffiliateFee="invalidAffiliateFee";F.invalidBuyAssetAddress="invalidBuyAssetAddress";F.invalidSellAssetAddress="invalidSellAssetAddress";F.invalidSourceAddress="invalidSourceAddress";F.invalidDestinationAddress="invalidDestinationAddress";F.sourceAddressIsSmartContract="sourceAddressIsSmartContract";F.destinationAddressIsSmartContract="destinationAddressIsSmartContract";F.invalidChainId="invalidChainId";F.unsupportedChainId="unsupportedChainId";F.unsupportedEVMChainId="unsupportedEVMChainId";F.unsupportedMethod="unsupportedMethod";F.unsupportedProvider="unsupportedProvider";F.invalidParamsForMethod="invalidParamsForMethod";F.unsupportedAdapter="unsupportedAdapter";F.noWhitelistTokens="noWhitelistTokens";F.failedFetchGasPrice="failedFetchGasPrice";F.failedToCreateDepositChannel="failedToCreateDepositChannel";F.noProviderDetailsFound="noProviderDetailsFound";F.noTokenListsFound="noTokenListsFound";F.tokenNotFound="tokenNotFound";F.tokenPriceNotFound="tokenPriceNotFound";F.tokenPriceFailedToUpdate="tokenPriceFailedToUpdate";F.swapAmountTooSmall="swapAmountTooSmall";F.legsArrayIsEmpty="legsArrayIsEmpty";F.failedToFetchQuoteForLeg="failedToFetchQuoteForLeg";F.noBlockHeaderFound="noBlockHeaderFound";F.failedToSimulateSwap="failedToSimulateSwap";F.addressScreeningFailed="addressScreeningFailed";F.noLiquidtyProvidersFound="noLiquidtyProvidersFound";F.insufficientLiquidity="insufficientLiquidity";F.noInboundDataFound="noInbounDataFound";F.noInboundAddressesFound="noInboundAddressesFound";F.noInboundAddressFoundForChain="noInboundAddressFoundForChain";F.noLastBlocksFound="noLastBlocksFound";F.noVersionFound="noVersionFound";F.noConstantsFound="noConstantsFound";F.noMimirsFound="noMimirsFound";F.noRoutesFound="noRoutesFound";F.quoteNotFound="quoteNotFound";F.ledgerSignFailed="ledgerSignFailed";F.ledgerWrongPayload="ledgerWrongPayload";F.ledgerFetchSwapFailed="ledgerFetchSwapFailed";F.failedToFetchTx="failedToFetchTx";F.failedBuildTransactionDetails="failedBuildTransactionDetails";F.noLegsForRoute="noLegsForRoute";F.noRouterAddressFound="noRouterAddressFound";F.noAggregatorAddressFound="noAggregatorAddressFound";F.noContractInstanceFound="noContractInstanceFound";F.noContractAddressFound="noContractAddressFound";F.invalidAffiliate="invalidAffiliate";F.thornameAffiliate="thornameAffiliate";F.providerNotfound="No provider found";F.noRecordFound="No Record found";F.slippageTooLow="Slippage too low";F.tradingHalted="tradingHalted";F.noWrappedGasAsset="noWrappedGasAsset";F.aggregatorAddressNotFound="aggregatorAddressNotFound";F.routerAddressNotFound="routerAddressNotFound";F.dummyAddressNotFound="dummyAddressNotFound";F.trackerError="trackerError";F.thorchainPoolUnavailable="thorchainPoolUnavailable";F.noOhlcvDataFound="noOhlcvDataFound";F.noTradingPairs="noTradingPairs";F.noLendingAvailability="noLendingAvailability";F.lendingRepayTooSmall="lendingRepayTooSmall";F.missingState="missingState";F.ledgerSwapNotFound="ledgerSwapNotFound";F.ledgerSwapNotReadyForTracking="ledgerSwapNotReadyForTracking";F.errorEstimatingGas="errorEstimatingGas";F.apiKeyInvalid="apiKeyInvalid";F.apiKeyFailedToUpdate="apiKeyFailedToUpdate";F.apiKeyExpired="apiKeyExpired";F.unauthorized="unauthorized";F.failedToCreateMemo="failedToCreateMemo";F.radixIncorrectInstructions="radixIncorrectInstructions";F.radixTxMissedParam="radixTxMissedParam";F.radixTxMissedAccount="radixTxMissedAccount";F.radixManifestParseError="radixManifestParseError";F.radixManifestBuildError="radixManifestBuildError";F.invalidAddressForChain="invalidAddressForChain";F.riskyAddress="riskyAddress";F.noRoutesToProcess="noRoutesToProcess";F.sellAssetAmountTooSmall="sellAssetAmountTooSmall";F.missingPrivateKey="missingPrivateKey";F.noMemoPriceProtection="noMemoPriceProtection"})(i||={});var gN;((T)=>{T.highSlippage="highSlippage";T.highPriceImpact="highPriceImpact"})(gN||={});var t;((X)=>{X.CHAINFLIP="CHAINFLIP";X.CHAINFLIP_STREAMING="CHAINFLIP_STREAMING";X.JUPITER="JUPITER";X.MAYACHAIN="MAYACHAIN";X.MAYACHAIN_STREAMING="MAYACHAIN_STREAMING";X.ONEINCH="ONEINCH";X.PANCAKESWAP="PANCAKESWAP";X.SUSHISWAP_V2="SUSHISWAP_V2";X.THORCHAIN="THORCHAIN";X.THORCHAIN_STREAMING="THORCHAIN_STREAMING";X.TRADERJOE_V2="TRADERJOE_V2";X.UNISWAP_V2="UNISWAP_V2";X.UNISWAP_V3="UNISWAP_V3";X.NEAR="NEAR";X.GARDEN="GARDEN";X.OKX="OKX";X.HARBOR="HARBOR";X.FLASHNET="FLASHNET";X.MAYAN="MAYAN"})(t||={});var UN;((O)=>{O.LIQUIDITY="liquidity";O.NETWORK="network";O.INBOUND="inbound";O.OUTBOUND="outbound";O.AFFILIATE="affiliate";O.TAX="tax";O.PRIORITY="priority";O.SERVICE="service"})(UN||={});var EA;((P)=>{P.Average="average";P.Fast="fast";P.Fastest="fastest"})(EA||={});var bA;((T)=>{T.Approve="approve";T.CheckOnly="checkOnly"})(bA||={});var xA;((_)=>{_.NAME_REGISTER="~";_.BOND="BOND";_.DEPOSIT="+";_.LEAVE="LEAVE";_.UNBOND="UNBOND";_.WITHDRAW="-";_.RUNEPOOL_DEPOSIT="POOL+";_.RUNEPOOL_WITHDRAW="POOL-";_.CLAIM_TCY="tcy";_.STAKE_TCY="tcy+";_.UNSTAKE_TCY="tcy-"})(xA||={});var nN;((Y)=>{Y.BITGET="BITGET";Y.BRAVE="BRAVE";Y.COINBASE_MOBILE="COINBASE_MOBILE";Y.COINBASE_WEB="COINBASE_WEB";Y.COSMOSTATION="COSMOSTATION";Y.CTRL="CTRL";Y.EIP6963="EIP6963";Y.EXODUS="EXODUS";Y.KEEPKEY="KEEPKEY";Y.KEEPKEY_BEX="KEEPKEY_BEX";Y.KEPLR="KEPLR";Y.KEYSTORE="KEYSTORE";Y.LEAP="LEAP";Y.LEDGER="LEDGER";Y.METAMASK="METAMASK";Y.OKX="OKX";Y.OKX_MOBILE="OKX_MOBILE";Y.ONEKEY="ONEKEY";Y.PASSKEYS="PASSKEYS";Y.PASSKEY_WALLET="PASSKEY_WALLET";Y.PETRA="PETRA";Y.PHANTOM="PHANTOM";Y.POLKADOT_JS="POLKADOT_JS";Y.RADIX_WALLET="RADIX_WALLET";Y.TALISMAN="TALISMAN";Y.TREZOR="TREZOR";Y.TRONLINK="TRONLINK";Y.TRUSTWALLET_WEB="TRUSTWALLET_WEB";Y.VULTISIG="VULTISIG";Y.WALLETCONNECT="WALLETCONNECT";Y.WALLET_SELECTOR="WALLET_SELECTOR";Y.XAMAN="XAMAN"})(nN||={});var tA;((P)=>{P[P.NoError=36864]="NoError";P[P.LockedDevice=21781]="LockedDevice";P[P.TC_NotFound=65535]="TC_NotFound"})(tA||={});var YH=S.AllChains.reduce((A,H)=>{if(!A.THOR_STAGENET)A[S.StagenetChain.Maya]=S.StagenetMAYAConfig.rpcUrls,A[S.StagenetChain.THORChain]=S.StagenetTHORConfig.rpcUrls;return A[H]=S.getChainConfig(H).rpcUrls,A},{}),DH={[S.Chain.THORChain]:S.THORConfig.nodeUrl,[S.Chain.Maya]:S.MAYAConfig.nodeUrl,[S.StagenetChain.THORChain]:S.StagenetTHORConfig.nodeUrl,[S.StagenetChain.Maya]:S.StagenetMAYAConfig.nodeUrl},QA={apiKeys:{blockchair:"",keepKey:"",passkeys:"",swapKit:"",walletConnectProjectId:"",xaman:""},chains:S.AllChains,endpoints:{},envs:{apiUrl:"https://api.swapkit.dev",devApiUrl:"https://dev-api.swapkit.dev",isDev:!1,isStagenet:!1},feeMultipliers:void 0,integrations:{radix:{applicationName:"Swapkit Playground",applicationVersion:"0.0.1",dAppDefinitionAddress:"account_rdx128r289p58222hcvev7frs6kue76pl7pdcnw8725aw658v0zggkh9ws",network:{dashboardBase:"https://dashboard.radixdlt.com",networkId:1,networkName:"mainnet"}}},localMode:{enabled:!1,quoteUrl:"http://localhost:3000",swapUrl:"http://localhost:3001"},requestOptions:{retry:{backoffMultiplier:2,baseDelay:300,maxDelay:5000,maxRetries:3},timeoutMs:30000},rpcUrls:YH,thornodeUrls:DH,v3SwapFlow:{enabled:typeof process<"u"&&process.env?.SWAPKIT_V3_SWAP_FLOW==="true"},wallets:Object.values(nN),widgetId:"",widgetKey:""},Q=wA.createStore((A)=>({...QA,setApiKey:(H,T)=>A((P)=>({apiKeys:{...P.apiKeys,[H]:T}})),setConfig:(H)=>A((T)=>({apiKeys:{...T.apiKeys,...H?.apiKeys},chains:T.chains.concat(H?.chains||[]),endpoints:{...T.endpoints,...H?.endpoints},envs:{...T.envs,...H?.envs},feeMultipliers:H?.feeMultipliers||T.feeMultipliers,integrations:{...T.integrations,...H?.integrations},localMode:{...T.localMode,...H?.localMode},rpcUrls:{...T.rpcUrls,...H?.rpcUrls},thornodeUrls:{...T.thornodeUrls,...H?.thornodeUrls},v3SwapFlow:{...T.v3SwapFlow,...H?.v3SwapFlow},wallets:T.wallets.concat(H?.wallets||[]),widgetId:H?.widgetId||T.widgetId,widgetKey:H?.widgetKey||T.widgetKey})),setEndpoint:(H,T)=>A((P)=>({endpoints:{...P.endpoints,[H]:T}})),setEnv:(H,T)=>A((P)=>({envs:{...P.envs,[H]:T}})),setFeeMultipliers:(H)=>A(()=>({feeMultipliers:H})),setIntegrationConfig:(H,T)=>A((P)=>({integrations:{...P.integrations,[H]:T}})),setRequestOptions:(H)=>A((T)=>({requestOptions:{retry:{...T.requestOptions.retry,...H.retry},timeoutMs:H.timeoutMs||T.requestOptions.timeoutMs}})),setRpcUrl:(H,T)=>A((P)=>({rpcUrls:{...P.rpcUrls,[H]:T}})),setThornodeUrl:(H,T)=>A((P)=>({thornodeUrls:{...P.thornodeUrls,[H]:T}})),setWidgetId:(H)=>A({widgetId:H}),setWidgetKey:(H)=>A({widgetKey:H})})),U={get:(A)=>Q.getState()[A],getState:Q.getState,reinitialize:()=>Q.setState(QA),set:(A)=>Q.getState().setConfig(A),setApiKey:(A,H)=>Q.getState().setApiKey(A,H),setEndpoint:(A,H)=>Q.getState().setEndpoint(A,H),setEnv:(A,H)=>Q.getState().setEnv(A,H),setFeeMultipliers:(A)=>Q.getState().setFeeMultipliers(A),setIntegrationConfig:(A,H)=>Q.getState().setIntegrationConfig(A,H),setRequestOptions:(A)=>Q.getState().setRequestOptions(A),setRpcUrl:(A,H)=>Q.getState().setRpcUrl(A,H),setThornodeUrl:(A,H)=>Q.getState().setThornodeUrl(A,H),setWidgetId:(A)=>Q.getState().setWidgetId(A),setWidgetKey:(A)=>Q.getState().setWidgetKey(A)};var nH={};w(nH,{SwapKitError:()=>u});var UH={core_estimated_max_spendable_chain_not_supported:10001,core_extend_error:10002,core_inbound_data_not_found:10003,core_approve_asset_address_or_from_not_found:10004,core_plugin_not_found:10005,core_plugin_swap_not_found:10006,core_approve_asset_target_invalid:10007,core_explorer_unsupported_chain:10008,core_verify_message_not_supported:10009,core_chain_halted:10010,core_wallet_connection_not_found:10101,core_wallet_ctrl_not_installed:10102,core_wallet_evmwallet_not_installed:10103,core_wallet_walletconnect_not_installed:10104,core_wallet_keystore_not_installed:10105,core_wallet_ledger_not_installed:10106,core_wallet_trezor_not_installed:10107,core_wallet_keplr_not_installed:10108,core_wallet_okx_not_installed:10109,core_wallet_keepkey_not_installed:10110,core_wallet_talisman_not_installed:10111,core_wallet_not_keypair_wallet:10112,core_wallet_sign_message_not_supported:10113,core_wallet_connection_failed:10114,core_wallet_create_not_supported:10115,core_wallet_sign_typed_data_not_supported:10116,core_swap_invalid_params:10201,core_swap_route_not_complete:10202,core_swap_asset_not_recognized:10203,core_swap_contract_not_found:10204,core_swap_route_transaction_not_found:10205,core_swap_contract_not_supported:10206,core_swap_transaction_error:10207,core_swap_quote_mode_not_supported:10208,core_transaction_deposit_error:10301,core_transaction_create_liquidity_base_error:10302,core_transaction_create_liquidity_asset_error:10303,core_transaction_create_liquidity_invalid_params:10304,core_transaction_add_liquidity_invalid_params:10305,core_transaction_add_liquidity_base_address:10306,core_transaction_add_liquidity_base_error:10307,core_transaction_add_liquidity_asset_error:10308,core_transaction_withdraw_error:10309,core_transaction_deposit_to_pool_error:10310,core_transaction_deposit_insufficient_funds_error:10311,core_transaction_deposit_gas_error:10312,core_transaction_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,core_transaction_failed:10316,core_transaction_invalid_recipient_address:10317,wallet_connection_rejected_by_user:20001,wallet_missing_api_key:20002,wallet_chain_not_supported:20003,wallet_missing_params:20004,wallet_provider_not_found:20005,wallet_failed_to_add_or_switch_network:20006,wallet_ledger_connection_error:20101,wallet_ledger_connection_claimed:20102,wallet_ledger_get_address_error:20103,wallet_ledger_device_not_found:20104,wallet_ledger_device_locked:20105,wallet_ledger_transport_error:20106,wallet_ledger_public_key_error:20107,wallet_ledger_derivation_path_error:20108,wallet_ledger_signing_error:20109,wallet_ledger_app_not_open:20110,wallet_ledger_invalid_response:20111,wallet_ledger_method_not_supported:20112,wallet_ledger_invalid_params:20113,wallet_ledger_invalid_signature:20114,wallet_ledger_no_provider:20115,wallet_ledger_pubkey_not_found:20116,wallet_ledger_transport_not_defined:20117,wallet_ledger_webusb_not_supported:20118,wallet_ledger_chain_not_supported:20119,wallet_ledger_invalid_asset:20120,wallet_ledger_invalid_account:20121,wallet_ledger_address_not_found:20122,wallet_ledger_failed_to_get_address:20123,wallet_ledger_webhid_not_supported:20124,wallet_phantom_not_found:20201,wallet_ctrl_not_found:20301,wallet_ctrl_send_transaction_no_address:20302,wallet_ctrl_contract_address_not_provided:20303,wallet_ctrl_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_walletconnect_chain_not_supported:20404,wallet_walletconnect_invalid_method:20405,wallet_walletconnect_method_not_supported:20406,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_trezor_transport_error:20504,wallet_trezor_method_not_supported:20505,wallet_trezor_failed_to_get_public_key:20506,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,wallet_polkadot_not_found:20701,wallet_radix_not_found:20801,wallet_radix_transaction_failed:20802,wallet_radix_invalid_manifest:20803,wallet_radix_method_not_supported:20804,wallet_radix_no_account:20805,wallet_keepkey_not_found:20901,wallet_keepkey_asset_not_defined:20902,wallet_keepkey_contract_address_not_provided:20903,wallet_keepkey_send_transaction_no_address:20904,wallet_keepkey_derivation_path_error:20905,wallet_keepkey_signing_error:20906,wallet_keepkey_transport_error:20907,wallet_keepkey_unsupported_chain:20908,wallet_keepkey_invalid_response:20909,wallet_keepkey_chain_not_supported:20910,wallet_keepkey_signer_not_found:20911,wallet_keepkey_no_accounts:20912,wallet_keepkey_method_not_supported:20913,wallet_keepkey_invalid_params:20914,wallet_keepkey_config_not_found:20915,wallet_keepkey_no_provider:20916,wallet_keepkey_account_not_found:20917,wallet_keepkey_failed_to_get_public_key:20918,wallet_bitkeep_not_found:21001,wallet_bitkeep_failed_to_switch_network:21002,wallet_bitkeep_no_accounts:21003,wallet_passkeys_sign_transaction_error:21101,wallet_passkeys_not_found:21102,wallet_passkeys_no_address:21103,wallet_passkeys_request_canceled:21104,wallet_passkeys_signature_canceled:21105,wallet_passkeys_failed_to_switch_network:21106,wallet_passkeys_chain_not_supported:21107,wallet_passkeys_instance_missing:21108,wallet_onekey_not_found:21201,wallet_onekey_sign_transaction_error:21202,wallet_okx_not_found:21301,wallet_okx_chain_not_supported:21302,wallet_okx_failed_to_switch_network:21303,wallet_okx_no_accounts:21304,wallet_keplr_not_found:21401,wallet_keplr_chain_not_supported:21402,wallet_keplr_signer_not_found:21403,wallet_keplr_no_accounts:21404,wallet_cosmostation_not_found:21501,wallet_cosmostation_chain_not_supported:21502,wallet_cosmostation_evm_provider_not_found:21503,wallet_cosmostation_keplr_provider_not_found:21504,wallet_cosmostation_no_accounts:21505,wallet_cosmostation_no_evm_accounts:21506,wallet_cosmostation_no_evm_address:21507,wallet_cosmostation_signer_not_found:21508,wallet_passkey_not_supported:21601,wallet_passkey_connection_failed:21602,wallet_coinbase_not_found:21701,wallet_coinbase_chain_not_supported:21702,wallet_coinbase_method_not_supported:21703,wallet_coinbase_no_accounts:21704,wallet_evm_extensions_failed_to_switch_network:21801,wallet_evm_extensions_no_provider:21802,wallet_evm_extensions_not_found:21803,wallet_keystore_invalid_password:21901,wallet_keystore_unsupported_version:21902,wallet_near_extensions_failed_to_switch_network:22001,wallet_near_extensions_no_provider:22002,wallet_near_extensions_not_found:22003,wallet_near_method_not_supported:22004,wallet_petra_not_found:22201,wallet_vultisig_not_found:22101,wallet_vultisig_contract_address_not_provided:22102,wallet_vultisig_asset_not_defined:22103,wallet_vultisig_send_transaction_no_address:22104,wallet_xaman_not_configured:23001,wallet_xaman_not_connected:23002,wallet_xaman_auth_failed:23003,wallet_xaman_connection_failed:23004,wallet_xaman_transaction_failed:23005,wallet_xaman_monitoring_failed:23006,wallet_tronlink_request_accounts_failed:24001,wallet_tronlink_locked:24002,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30101,chainflip_broker_recipient_error:30102,chainflip_broker_register:30103,chainflip_broker_tx_error:30104,chainflip_broker_withdraw:30105,chainflip_broker_fund_only_flip_supported:30106,chainflip_broker_fund_invalid_address:30107,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_asset_is_not_tcy:40003,thorchain_swapin_router_required:40101,thorchain_swapin_vault_required:40102,thorchain_swapin_memo_required:40103,thorchain_swapin_token_required:40104,thorchain_preferred_asset_payout_required:40105,toolbox_cosmos_account_not_found:50101,toolbox_cosmos_invalid_fee:50102,toolbox_cosmos_invalid_params:50103,toolbox_cosmos_no_signer:50104,toolbox_cosmos_not_supported:50105,toolbox_cosmos_signer_not_defined:50106,toolbox_cosmos_validate_address_prefix_not_found:50107,toolbox_cosmos_verify_signature_no_pubkey:50108,toolbox_evm_error_estimating_gas_limit:50201,toolbox_evm_error_sending_transaction:50202,toolbox_evm_gas_estimation_error:50203,toolbox_evm_invalid_gas_asset_address:50204,toolbox_evm_invalid_params:50205,toolbox_evm_invalid_transaction:50206,toolbox_evm_no_abi_fragment:50207,toolbox_evm_no_contract_address:50208,toolbox_evm_no_fee_data:50209,toolbox_evm_no_from_address:50210,toolbox_evm_no_gas_price:50211,toolbox_evm_no_signer_address:50212,toolbox_evm_no_signer:50213,toolbox_evm_no_to_address:50214,toolbox_evm_not_supported:50215,toolbox_evm_provider_not_eip1193_compatible:50216,toolbox_evm_invalid_eip7702_authorization:50217,toolbox_utxo_api_error:50301,toolbox_utxo_broadcast_failed:50302,toolbox_utxo_insufficient_balance:50303,toolbox_utxo_invalid_address:50304,toolbox_utxo_invalid_params:50305,toolbox_utxo_invalid_transaction:50306,toolbox_utxo_no_signer:50307,toolbox_utxo_not_supported:50308,toolbox_utxo_tx_not_found:50309,toolbox_utxo_rbf_not_supported:50310,toolbox_utxo_tx_not_replaceable:50311,toolbox_utxo_tx_already_confirmed:50312,toolbox_utxo_rbf_fee_too_low:50313,toolbox_utxo_rbf_insufficient_change:50314,toolbox_solana_no_signer:50401,toolbox_substrate_not_supported:50501,toolbox_substrate_transfer_error:50502,toolbox_radix_method_not_supported:50601,toolbox_ripple_get_balance_error:50701,toolbox_ripple_rpc_not_configured:50702,toolbox_ripple_signer_not_found:50703,toolbox_ripple_asset_not_supported:50704,toolbox_ripple_broadcast_error:50705,toolbox_ripple_get_trust_lines_error:50706,toolbox_ripple_invalid_trust_line_limit:50707,toolbox_tron_no_signer:50801,toolbox_tron_invalid_token_identifier:50802,toolbox_tron_token_transfer_failed:50803,toolbox_tron_transaction_creation_failed:50804,toolbox_tron_trongrid_api_error:50805,toolbox_tron_approve_failed:50806,toolbox_tron_invalid_token_contract:50807,toolbox_tron_allowance_check_failed:50808,toolbox_tron_invalid_transaction_integrity:50809,toolbox_tron_broadcast_failed:50810,toolbox_hypercore_no_signer:51001,toolbox_cardano_sign_transaction_failed:50901,toolbox_near_no_signer:90601,toolbox_near_invalid_address:90602,toolbox_near_invalid_amount:90603,toolbox_near_transfer_failed:90604,toolbox_near_access_key_error:90605,toolbox_near_no_rpc_url:90606,toolbox_near_empty_batch:90607,toolbox_near_balance_failed:90608,toolbox_near_invalid_name:90609,toolbox_near_missing_contract_address:90610,toolbox_near_no_account:90611,toolbox_near_invalid_gas_params:90612,toolbox_near_no_public_key_found:90613,toolbox_near_sign_transaction_failed:90614,toolbox_sui_address_required:90701,toolbox_sui_keypair_required:90702,toolbox_sui_balance_error:90703,toolbox_sui_transaction_creation_error:90704,toolbox_sui_signing_error:90705,toolbox_sui_broadcast_error:90706,toolbox_sui_no_signer:90707,toolbox_sui_no_sender:90708,toolbox_sui_missing_coin_type:90709,toolbox_sui_no_coins_found:90710,toolbox_sui_insufficient_balance:90711,toolbox_starknet_no_signer:90801,toolbox_starknet_invalid_address:90802,toolbox_starknet_fee_estimation_failed:90803,toolbox_starknet_account_not_deployed:90804,toolbox_starknet_transaction_failed:90805,toolbox_ton_no_signer:90901,toolbox_ton_invalid_address:90902,toolbox_ton_missing_jetton_address:90903,toolbox_ton_jetton_transfer_failed:90904,toolbox_ton_transaction_failed:90905,toolbox_aptos_address_required:91001,toolbox_aptos_keypair_required:91002,toolbox_aptos_balance_error:91003,toolbox_aptos_transaction_creation_error:91004,toolbox_aptos_signing_error:91005,toolbox_aptos_broadcast_error:91006,toolbox_aptos_no_signer:91007,toolbox_aptos_no_sender:91008,toolbox_aptos_missing_asset_type:91009,toolbox_aptos_insufficient_balance:91010,toolbox_stellar_no_signer:91101,toolbox_stellar_broadcast_error:91102,toolbox_stellar_invalid_address:91103,toolbox_stellar_account_not_found:91104,toolbox_stellar_transaction_failed:91105,toolbox_stellar_balance_error:91106,toolbox_not_supported:59901,toolbox_fee_estimation_failed:59902,toolbox_sweep_amount_too_low:59903,plugin_near_invalid_name:41001,plugin_near_no_connection:41002,plugin_near_name_unavailable:41003,plugin_near_registration_failed:41004,plugin_near_transfer_failed:41005,plugin_garden_missing_data:42001,plugin_swapkit_swap_invalid_data:43001,plugin_swapkit_invalid_transaction:43002,api_v2_invalid_response:60001,api_v2_server_error:60002,api_v2_invalid_method_key_hash:60003,helpers_invalid_number_different_decimals:70001,helpers_invalid_number_of_years:70002,helpers_invalid_identifier:70003,helpers_invalid_asset_url:70004,helpers_invalid_asset_identifier:70005,helpers_invalid_memo_type:70006,helpers_failed_to_switch_network:70007,helpers_not_found_provider:70008,helpers_chain_not_supported:70009,helpers_invalid_params:70010,helpers_invalid_response:70011,helpers_chain_no_public_or_set_rpc_url:70012,helpers_chain_rpc_connection_failed:70013,mcp_wallet_not_configured:90001,not_implemented:99999};function VN(A){return JSON.stringify(A,(H,T)=>typeof T==="bigint"?T.toString():T)}class u extends Error{static ErrorCode=UH;errorKey;info;constructor(A,H){let T=typeof A==="string",P=T?A:A.errorKey,L=T?void 0:A.info,I=`${P}${L?`: ${VN(L)}`:""}`;super(I);if(Object.setPrototypeOf(this,u.prototype),this.name="SwapKitError",this.errorKey=P,this.info=L,this.cause=H,H){let R=H instanceof Error?`${H.message}${H.cause?` (${H.cause})`:""}`:VN(H);console.error(`SwapKitError [${P}]: ${R}`)}else if(L)console.error(`SwapKitError [${P}]: ${VN(L)}`)}}var XH=(A)=>new Promise((H)=>setTimeout(H,A)),SH=(A,{baseDelay:H,backoffMultiplier:T,maxDelay:P})=>Math.min(H*T**A,P);function EH(A,H){if(A instanceof Error&&A.name==="AbortError")return!0;if(A instanceof TypeError)return!0;if(H===429)return!0;if(H&&H>=500&&H<600)return!0;return!1}var bH=async(A,H)=>{let T=await fetch(A,H),P;try{P=await T.json()}catch{if(!T.ok)throw new u({errorKey:"helpers_invalid_response",info:{status:T.status,statusText:T.statusText}},{status:T.status,statusText:T.statusText});return{}}if(!T.ok){let I={data:P?.data,error:P?.error,message:P?.message,status:T.status};throw new u({errorKey:P?.error||"helpers_invalid_response",info:I},I)}let L=P?.routes?.length||P?.result||P?.data&&!P?.error;if(P?.error&&!L){let I={data:P.data,error:P.error,message:P.message,status:T.status};throw new u({errorKey:P.error,info:I},I)}if(P?.providerErrors?.length||P?.error&&L)console.warn("[SwapKit] Partial errors in response:",P.providerErrors||P.error);return P};function XN(A,H={}){return async function(P,L={}){let{searchParams:I,json:R,body:$,headers:O,dynamicHeader:g,retry:E,timeoutMs:_,abortController:W,onError:n,onSuccess:V,responseHandler:b,...x}={...H,...L},LN=U.get("requestOptions"),c={...LN.retry,...E},X=!!R||P.endsWith(".json"),MN=tH(P,I),YA=g?await g():{},FN=xH(X,{...O,...YA}),l=X?JSON.stringify(R):$,ZN;for(let _N=0;_N<=c.maxRetries;_N++){let DA=W||new AbortController,gA=setTimeout(()=>DA.abort(),_||LN.timeoutMs);try{let v=await bH(MN,{...x,body:l,headers:FN,method:A,signal:DA.signal});return clearTimeout(gA),V?.(v)||b?.(v)||v}catch(v){clearTimeout(gA),ZN=v;let BH=v?.cause?.status;if(_N>=c.maxRetries||!EH(v,BH))return n?n(v):Promise.reject(v);await XH(SH(_N,c))}}return n?n(ZN):Promise.reject(ZN)}}function xH(A,H){return{...H,...A&&{"Content-Type":"application/json"}}}function tH(A,H){let T=new URL(A);if(H)T.search=new URLSearchParams(H).toString();return T.toString()}var G={extend:(A)=>({extend:(H)=>G.extend({...A,...H}),get:XN("GET",A),post:XN("POST",A)}),get:XN("GET"),post:XN("POST")};var vH={};w(vH,{initializeRPCUrlsWithFallback:()=>qH,getRPCUrlSync:()=>WA,getRPCUrl:()=>o,_rpcCache:()=>EN});var D=require("@swapkit/types"),qN=require("ts-pattern");var WH={};w(WH,{wrapWithThrow:()=>JH,warnOnce:()=>f,getTHORNameCost:()=>QH,getMAYANameCost:()=>zH,getChainIdentifier:()=>ZH});var SN=require("@swapkit/types");function QH(A){if(A<0)throw new u({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:A}});return 10+A}function zH(A){if(A<0)throw new u({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:A}});return Math.round((10+A*1.0512)*10000000000)/10000000000}function JH(A,H){try{return A()}catch(T){if(H)throw new u(H,T);return}}function ZH(A){switch(A){case SN.Chain.THORChain:return`${A}.RUNE`;case SN.Chain.Cosmos:return`${A}.ATOM`;case SN.Chain.BinanceSmartChain:return`${A}`;default:return`${A}.${A}`}}var zA=new Set;function f({condition:A,id:H,warning:T}){if(A){if(zA.has(H))return;console.warn(T),zA.add(H)}}function jH(A){return qN.match(A).with(...D.EVMChains,()=>({id:1,jsonrpc:"2.0",method:"eth_blockNumber",params:[]})).with(...D.UTXOChains,()=>({id:"test",jsonrpc:"1.0",method:"getblockchaininfo",params:[]})).with(...D.CosmosChains,...D.StagenetChains,()=>({id:1,jsonrpc:"2.0",method:"status",params:{}})).with(D.Chain.Polkadot,D.Chain.Chainflip,()=>({id:1,jsonrpc:"2.0",method:"system_health",params:[]})).with(D.Chain.Solana,()=>({id:1,jsonrpc:"2.0",method:"getHealth"})).with(D.Chain.Sui,()=>({id:1,jsonrpc:"2.0",method:"sui_getSystemState",params:[]})).with(D.Chain.Ton,()=>({id:1,jsonrpc:"2.0",method:"getAddressInformation",params:{address:""}})).with(D.Chain.Aptos,D.Chain.Tron,D.Chain.Radix,D.Chain.Stellar,()=>"").with(D.Chain.Hype,()=>({type:"meta"})).with(D.Chain.Near,()=>({id:"dontcare",jsonrpc:"2.0",method:"status",params:[]})).with(D.Chain.Ripple,()=>({id:1,jsonrpc:"2.0",method:"ping",params:[{}]})).with(D.Chain.Starknet,()=>({id:1,jsonrpc:"2.0",method:"starknet_chainId",params:[]})).otherwise(()=>{throw new u("helpers_chain_not_supported",{chain:A})})}function JA(A){return qN.match(A).with(D.Chain.Aptos,()=>"/-/healthy").with(D.Chain.Hype,()=>"/info").with(D.Chain.Radix,()=>"/status/network-configuration").with(D.Chain.Stellar,()=>"").with(D.Chain.Tron,()=>"/wallet/getnowblock").otherwise(()=>"")}async function ZA(A,H){try{let T=H.startsWith("wss")?H.replace("wss","https"):H;if(A===D.Chain.Stellar)return(await fetch(`${T}${JA(A)}`,{cache:"no-store",method:"GET",signal:AbortSignal.timeout(3000)})).ok;return(await fetch(`${T}${JA(A)}`,{body:JSON.stringify(jH(A)),cache:"no-store",headers:{"Content-Type":"application/json"},method:"POST",signal:AbortSignal.timeout(3000)})).ok}catch{return!1}}var EN=new Map,VH=120000;function WA(A){let[H=""]=U.get("rpcUrls")[A];if(!H)throw f({condition:!0,id:"helpers_chain_no_public_or_set_rpc_url",warning:`No public or set RPC URL found for chain. Please ensure you configured rpcUrls for ${A}.`}),new u("helpers_chain_no_public_or_set_rpc_url",{chain:A});let T=EN.get(A);if(T&&Date.now()-T.timestamp<VH)return T.url;return EN.set(A,{timestamp:Date.now(),url:H}),H}async function o(A){let H=WA(A),[,...T]=U.get("rpcUrls")[A];if(await ZA(A,H))return H;for(let L of T)if(await ZA(A,L))return EN.set(A,{timestamp:Date.now(),url:L}),L;throw new u("helpers_chain_rpc_connection_failed",{chain:A,fallbackUrls:T,primaryRpcUrl:H})}function qH(A){f({condition:!0,id:"initializeRPCUrlsWithFallback",warning:"initializeRPCUrlsWithFallback is deprecated. Use static { rpcUrls, fallbackRpcUrls } SwapKit init config or dynamic SKConfig.setRpcUrl/setFallbackRpcUrl to configure RPC endpoints."})}var kH=[`${B.Chain.Maya}.MAYA`,`${B.Chain.Maya}.CACAO`,`${B.Chain.Ethereum}.THOR`,`${B.Chain.Ethereum}.vTHOR`,`${B.Chain.Kujira}.USK`,`${B.Chain.Ethereum}.FLIP`,`${B.Chain.Radix}.XRD`],qA=[B.Chain.Arbitrum,B.Chain.Aurora,B.Chain.Base,B.Chain.Ethereum,B.Chain.Optimism,B.Chain.Robinhood];async function KH(A){let{baseDecimal:H}=B.getChainConfig(B.Chain.Radix);try{let T=await o(B.Chain.Radix),{manager:P}=await G.post(`${T}/state/resource`,{body:JSON.stringify({network:"mainnet",resource_address:A}),headers:{Accept:"*/*","Content-Type":"application/json"}});return P?.divisibility?.value?.divisibility}catch(T){let P=T instanceof Error?T.message:String(T);return console.warn(`Failed to fetch Radix asset decimals for ${A}: ${P}`),H}}async function mH(A){try{let H=await o(B.Chain.Radix);return(await G.post(`${H}/state/entity/details`,{body:JSON.stringify({addresses:[A],opt_ins:{explicit_metadata:["symbol"]}}),headers:{Accept:"*/*","Content-Type":"application/json"}})).items[0]?.explicit_metadata?.items.find((L)=>L.key==="symbol")?.value.typed.value||void 0}catch(H){let T=H instanceof Error?H.message:String(H);return console.warn(`Failed to fetch Radix asset symbol for ${A}: ${T}`),""}}async function vA({chain:A,address:H,methodHex:T,id:P}){let L=await o(A);return G.post(L,{body:JSON.stringify({id:P,jsonrpc:"2.0",method:"eth_call",params:[{data:T,to:H.toLowerCase()},"latest"]}),headers:{accept:"*/*","cache-control":"no-cache","content-type":"application/json"}})}async function yH(A){if(!A||A==="0x")return"UNKNOWN";try{let{AbiCoder:H}=await import("ethers");return H.defaultAbiCoder().decode(["string"],A)[0].trim()}catch(H){return console.warn(`Failed to decode ABI string from ${A}: ${H}`),"UNKNOWN"}}function pH(A,H){if(!A||A==="0x")return H;try{return Number(A)}catch(T){return console.warn(`Failed to decode ABI uint8 from ${A}: ${T}`),H}}async function fH({chain:A,address:H}){let{baseDecimal:T}=B.getChainConfig(A),P=H.toLowerCase();if(H===""||!P.startsWith("0x"))return T;let L=await vA({address:H,chain:A,id:2,methodHex:"0x313ce567"}).catch((R)=>{return console.warn(`Could not fetch decimals for ${H} on ${A}: ${R.message}`),{result:""}});return pH(L.result,T)}async function oH({chain:A,address:H}){let T=H.toLowerCase();if(T===""||!T.startsWith("0x"))return;let P=await vA({address:H,chain:A,id:1,methodHex:"0x95d89b41"}).catch((I)=>{return console.warn(`Could not fetch symbol for ${H} on ${A}: ${I.message}`),{result:""}});return await yH(P.result)}async function jA({rpcUrl:A,contractAddress:H,functionSelector:T}){return(await G.post(`${A}/wallet/triggerconstantcontract`,{body:JSON.stringify({contract_address:H,function_selector:T,owner_address:H,parameter:"",visible:!0}),headers:{accept:"application/json","content-type":"application/json"}}).catch(()=>{return}))?.constant_result?.[0]}function VA(A){let H=A.match(/.{2}/g)?.map((T)=>Number.parseInt(T,16))??[];return new TextDecoder().decode(new Uint8Array(H))}function CH(A){return s.match(A).with(void 0,()=>{return}).when((H)=>H.length>=128,(H)=>{let T=Number.parseInt(H.slice(64,128),16);return VA(H.slice(128,128+T*2))}).when((H)=>H.length===64,(H)=>{let T=H.replace(/0+$/,"");if(T.length>0&&T.length%2===0)return VA(T);return}).otherwise(()=>{return})}function vN({chain:A,address:H}){let{baseDecimal:T}=B.getChainConfig(A),P={decimals:T,ticker:void 0};return s.match(A).with(...B.EVMChains,async()=>{try{let{isAddress:L,getAddress:I}=await import("ethers");if(!L(I(H.replace(/^0X/,"0x"))))return P;let[R,$]=await Promise.all([oH({address:H,chain:A}),fH({address:H,chain:A})]);return{decimals:$,ticker:R}}catch(L){return console.warn(`Failed to fetch token info for ${H} on ${A}: ${L?.code} ${L?.message}`),P}}).with(B.Chain.Solana,async()=>{if(!H)return P;try{let L=await fetch(`https://lite-api.jup.ag/tokens/v2/search?query=${H}`);if(L.ok){let I=await L.json(),R=Array.isArray(I)?I[0]:I;if(R)return{decimals:R.decimals??T,ticker:R.symbol||void 0}}}catch(L){console.warn(`Failed to fetch Solana token info for ${H}: ${L?.code} ${L?.message}`)}return P}).with(B.Chain.Tron,async()=>{if(!H)return P;try{let L=await o(B.Chain.Tron),[I,R]=await Promise.all([jA({contractAddress:H,functionSelector:"symbol()",rpcUrl:L}),jA({contractAddress:H,functionSelector:"decimals()",rpcUrl:L})]),$=CH(I);return{decimals:I!==void 0&&R?Number(BigInt(`0x${R}`)):T,ticker:$}}catch(L){let I=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Tron token info for ${H}: ${I}`),P}}).with(B.Chain.Near,async()=>{if(!H)return P;try{let{JsonRpcProvider:L}=await import("@near-js/providers"),I=await o(B.Chain.Near),$=await new L({url:I}).query({account_id:H,args_base64:Buffer.from("{}").toString("base64"),finality:"final",method_name:"ft_metadata",request_type:"call_function"}),O=JSON.parse(Buffer.from($.result).toString());return{decimals:O?.decimals||T,ticker:O?.symbol}}catch(L){let I=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Near token info for ${H}: ${I}`),P}}).with(B.Chain.Radix,async()=>{if(!H)return P;try{let[L,I]=await Promise.all([mH(H),KH(H)]);return{decimals:I,ticker:L}}catch(L){let I=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Radix token info for ${H}: ${I}`),P}}).otherwise(async()=>P)}function kN({chain:A,symbol:H}){return s.match(A).with(...qA,()=>H==="ETH").with(B.Chain.Avalanche,()=>H==="AVAX").with(B.Chain.Berachain,()=>H==="BERA").with(B.Chain.Hyperevm,()=>H==="HYPE").with(B.Chain.Hype,()=>H==="HYPE").with(B.Chain.Spark,()=>H==="BTC").with(B.Chain.BinanceSmartChain,()=>H==="BNB").with(B.Chain.Gnosis,()=>H==="xDAI"||H==="XDAI").with(B.Chain.Monad,()=>H==="MON").with(B.Chain.XLayer,()=>H==="OKB").with(B.Chain.Maya,()=>H==="CACAO").with(B.Chain.Cosmos,()=>H==="ATOM").with(B.Chain.THORChain,()=>H==="RUNE").with(B.Chain.Tron,()=>H==="TRX").with(B.Chain.Ripple,()=>H==="XRP").with(B.Chain.Radix,()=>`${A}.${H}`===RN(A).identifier).otherwise(()=>H===A)}var RN=(A)=>{let{baseDecimal:H}=B.getChainConfig(A);return s.match(A.toUpperCase()).with(...qA,(P)=>({decimal:H,identifier:`${P}.ETH`})).with(B.Chain.THORChain,(P)=>({decimal:H,identifier:`${P}.RUNE`})).with(B.Chain.Cosmos,(P)=>({decimal:H,identifier:`${P}.ATOM`})).with(B.Chain.Maya,(P)=>({decimal:10,identifier:`${P}.CACAO`})).with(B.Chain.BinanceSmartChain,(P)=>({decimal:H,identifier:`${P}.BNB`})).with(B.Chain.Monad,(P)=>({decimal:H,identifier:`${P}.MON`})).with(B.Chain.Avalanche,(P)=>({decimal:H,identifier:`${P}.AVAX`})).with(B.Chain.Gnosis,(P)=>({decimal:H,identifier:`${P}.xDAI`})).with(B.Chain.XLayer,(P)=>({decimal:H,identifier:`${P}.OKB`})).with(B.Chain.Berachain,(P)=>({decimal:H,identifier:`${P}.BERA`})).with(B.Chain.Hyperevm,(P)=>({decimal:H,identifier:`${P}.HYPE`})).with(B.Chain.Hype,(P)=>({decimal:H,identifier:`${P}.HYPE`})).with(B.Chain.Spark,(P)=>({decimal:H,identifier:`${P}.BTC`})).with(B.Chain.Tron,(P)=>({decimal:H,identifier:`${P}.TRX`})).with(B.Chain.Solana,B.Chain.Chainflip,B.Chain.Kujira,B.Chain.Ripple,B.Chain.Polkadot,B.Chain.Near,...B.UTXOChains,(P)=>({decimal:H,identifier:`${P}.${P}`})).with(B.Chain.Radix,"XRD.XRD",()=>({decimal:H,identifier:"XRD.XRD"})).with(B.Chain.Polygon,"POL.POL",()=>({decimal:H,identifier:"POL.POL"})).with("KUJI.USK",(P)=>({decimal:6,identifier:P})).with("ETH.FLIP",()=>({decimal:B.getChainConfig(B.Chain.Ethereum).baseDecimal,identifier:"ETH.FLIP-0x826180541412D574cf1336d22c0C0a287822678A"})).with("ETH.THOR",()=>({decimal:B.getChainConfig(B.Chain.Ethereum).baseDecimal,identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044"})).with("ETH.vTHOR",()=>({decimal:B.getChainConfig(B.Chain.Ethereum).baseDecimal,identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d"})).with("MAYA.CACAO",(P)=>({decimal:10,identifier:P})).with("MAYA.MAYA",(P)=>({decimal:4,identifier:P})).otherwise(()=>({decimal:H,identifier:A}))};function bN({chain:A,symbol:H}){if(H.includes("/"))return"Synth";if(H.includes("~"))return"Trade";return s.match(A).with(B.Chain.Radix,()=>H===B.Chain.Radix||`${A}.${H}`===RN(A).identifier).with(B.Chain.Arbitrum,B.Chain.Optimism,B.Chain.Base,B.Chain.Aurora,B.Chain.Robinhood,()=>H===B.Chain.Ethereum).with(B.Chain.Cosmos,()=>H==="ATOM").with(B.Chain.BinanceSmartChain,()=>H==="BNB").with(B.Chain.Maya,()=>H==="CACAO").with(B.Chain.Monad,()=>H==="MON").with(B.Chain.THORChain,()=>H==="RUNE").with(B.Chain.Tron,()=>H==="TRX").with(B.Chain.Hyperevm,()=>H==="HYPE").with(B.Chain.Hype,()=>H==="HYPE").with(B.Chain.Spark,()=>H==="BTC").with(B.Chain.XLayer,()=>H==="OKB").otherwise(()=>H===A)?"Native":A}var K=(A)=>{let[H,...T]=A.split("."),P=A.includes("/"),L=T.join("."),I=L?.split("-"),R=I?.length?I.length===1?I[0]:I.slice(0,-1).join("-"):void 0;return{chain:H,symbol:L,synth:P,ticker:R}};function e(A,H){let P=H===B.Chain.Near?A.indexOf("-"):A.lastIndexOf("-");if(P===-1)return{address:void 0,ticker:A};return{address:A.slice(P+1),ticker:A.slice(0,P)}}function dH(A){return`https://storage.googleapis.com/token-list-swapkit-dev/images/${A.toLowerCase()}.png`}async function hH(A){let{loadTokenLists:H}=await Promise.resolve().then(() => (SA(),r)),T=await H(),P=Object.values(T).flatMap((I)=>I.tokens);if("identifier"in A)return P.find((I)=>I.identifier===A.identifier)?.identifier;let L=A.contract.toLowerCase();for(let I of P){let{chain:R,symbol:$}=K(I.identifier);if(R!==A.chain)continue;let{address:O}=e($,R);if(O?.toLowerCase()===L)return I.identifier}return}var rH={};w(rH,{validateTNS:()=>lH,validateIdentifier:()=>KN});var kA=["TERRA",...U.get("chains")];function KN(A=""){let H=A.toUpperCase(),[T]=H.split(".");if(kA.includes(T))return!0;let[P]=H.split("/");if(kA.includes(P))return!0;throw new u({errorKey:"helpers_invalid_identifier",info:{identifier:A,message:`Invalid identifier: ${A}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`}})}function lH(A){if(A.length>30)return!1;let H=/^[a-zA-Z0-9+_-]+$/g;return!!A.match(H)}var aH={};w(aH,{formatBigIntToSafeValue:()=>m,BigIntArithmetics:()=>k});var $N=require("ts-pattern"),a=8,iH=10;function m({value:A,bigIntDecimal:H=a,decimal:T=a}){if(T===0)return A.toString();let P=A<0n,L=A.toString().substring(P?1:0),I=T-(L.length-1);if(I>0)L="0".repeat(I)+L;let R=L.length-T,$=L.slice(-T);if(Number.parseInt($[H]||"0",10)>=5){let g=Number.parseInt($[H-1]||"0",10);$=`${$.substring(0,H-1)}${g+1}`}else $=$.substring(0,H);return`${P?"-":""}${L.slice(0,R)}.${$}`.replace(/\.?0*$/,"")}class k{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(A,H){return new k({decimal:H,value:m({bigIntDecimal:H,decimal:H,value:A})})}static shiftDecimals({value:A,from:H,to:T}){return k.fromBigInt(A.getBaseValue("bigint")*C(T)/C(H),T)}constructor(A){let H=mN(A),T=typeof A==="object";this.decimal=T?A.decimal:void 0,this.decimalMultiplier=T&&"decimalMultiplier"in A?A.decimalMultiplier:C(Math.max(KA(xN(H)),this.decimal||0)),this.#P(H)}set(A){return new this.constructor({decimal:this.decimal,identifier:this.toString?.({includeSynthProtocol:!0}),value:A})}add(...A){return this.#A("add",...A)}sub(...A){return this.#A("sub",...A)}mul(...A){return this.#A("mul",...A)}div(...A){return this.#A("div",...A)}gt(A){return this.#N("gt",A)}gte(A){return this.#N("gte",A)}lt(A){return this.#N("lt",A)}lte(A){return this.#N("lte",A)}eqValue(A){return this.#N("eqValue",A)}getValue(A,H){let T=BN(this.decimalMultiplier),P=H!==void 0?H:this.decimal,L=P!==void 0?P:T;if(P!==void 0&&P<T){if(this.formatBigIntToSafeValue(this.bigIntValue,P)==="0"&&this.bigIntValue!==0n)L=T}let I=this.formatBigIntToSafeValue(this.bigIntValue,L);return $N.match(A).with("number",()=>Number(I)).with("string",()=>I).with("bigint",()=>{return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}).otherwise(()=>I)}getBaseValue(A,H){let T=this.decimalMultiplier/C(H||this.decimal||a),P=eH(this.bigIntValue,T);return $N.match(A).with("number",()=>Number(P)).with("string",()=>P.toString()).otherwise(()=>P)}getBigIntValue(A,H){if(!H&&typeof A==="object")return A.bigIntValue;let T=mN(A),P=xN(T);if(P==="0"||P==="undefined")return 0n;return this.#T(P,H)}toSignificant(A=6){let H=this.getValue("string"),[T="",P=""]=H.split("."),L=Number.parseInt(T,10)>0;if((L?T.length+P.length:P.length)<=A)return H;if(T.length>=A)return T.slice(0,A).padEnd(T.length,"0");if(L)return`${T}.${P.slice(0,A-T.length)}`;let R=Number.parseInt(P,10).toString(),$=R.slice(0,A),O=P.length-R.length;return`0.${$.padStart(O+$.length,"0")}`}toFixed(A=6){let H=this.getValue("string"),T=H.startsWith("-"),[P="0",L=""]=(T?H.slice(1):H).split("."),I=P==="0"&&Number.parseInt(L.slice(0,A),10)===0,R=T&&!I?"-":"";if(A===0){if(P==="0"&&!L)return"0";return L&&Number.parseInt(L[0]||"0",10)>=5?`${R}${BigInt(P)+1n}.0`:`${R}${P}.0`}if(!L)return`${R}${P}.${"0".repeat(A)}`;let $=L[A];if(!($&&Number.parseInt($,10)>=5))return`${R}${P}.${L.slice(0,A).padEnd(A,"0")}`;let g=BigInt(L.slice(0,A).padEnd(A,"0"))+1n,E=10n**BigInt(A);if(g>=E)return`${R}${BigInt(P)+1n}.${"0".repeat(A)}`;return`${R}${P}.${g.toString().padStart(A,"0")}`}toAbbreviation(A=2){let H=this.getValue("string"),T=Number(H),P=["","K","M","B","T","Q","Qi","S"],L=Math.floor(Math.log10(Math.abs(T))/3);if(L===0||!P[L])return H;return`${(T/10**(L*3)).toFixed(A)}${P[L]}`}toCurrency(A="$",{currencyPosition:H="start",decimal:T=2,decimalSeparator:P=".",thousandSeparator:L=",",trimTrailingZeros:I=!0}={}){let R=this.toFixed(T),$=H==="end",[O="0",g=""]=R.split("."),E=O.replace(/\B(?=(\d{3})+(?!\d))/g,L),_=g&&Number.parseInt(g,10)>0,W=_?`${E}${P}${g}`:E,V=W.length<100&&I&&_?W.replace(/\.?0*$/,""):W;return $?`${V}${A}`:`${A}${V}`}formatBigIntToSafeValue(A,H){let T=H||this.decimal||a,P=Math.max(T,BN(this.decimalMultiplier));return m({bigIntDecimal:T,decimal:P,value:A})}#A(A,...H){let T=this.#H(this,...H),P=BN(this.decimalMultiplier),I=Math.max(T,P)+iH,R=C(I),$=H.reduce((g,E)=>{let _=this.getBigIntValue(E,I);return $N.match(A).with("add",()=>g+_).with("sub",()=>g-_).with("mul",()=>g*_/R).with("div",()=>{if(_===0n)throw RangeError("Division by zero");return g*R/_}).otherwise(()=>g)},this.bigIntValue*R/this.decimalMultiplier),O=m({bigIntDecimal:I,decimal:I,value:$});return new this.constructor({decimal:this.decimal,decimalMultiplier:C(I),identifier:this.toString(),value:O})}#N(A,...H){let T=this.#H(this,...H),P=this.getBigIntValue(H[0]||"0",T),L=this.getBigIntValue(this,T);return $N.match(A).with("gt",()=>L>P).with("gte",()=>L>=P).with("lt",()=>L<P).with("lte",()=>L<=P).with("eqValue",()=>L===P).otherwise(()=>!1)}#P(A){let H=xN(A)||"0";this.bigIntValue=this.#T(H)}#H(...A){let H=A.map((T)=>{return typeof T==="object"?T.decimal||BN(T.decimalMultiplier):KA(xN(T))}).filter(Boolean);return Math.max(...H,a)}#T(A,H){let T=H?C(H):this.decimalMultiplier,P=BN(T),[L="",I=""]=A.split(".");return BigInt(`${L}${I.padEnd(P,"0")}`)}}var sH=Intl.NumberFormat("fullwide",{maximumFractionDigits:20,useGrouping:!1});function xN(A){let T=`${typeof A==="number"?sH.format(A):mN(A)}`.replaceAll(",",".").split(".");return T.length>1?`${T.slice(0,-1).join("")}.${T.at(-1)}`:T[0]||"0"}function KA(A){let H=A.split(".")[1]?.length||0;return Math.max(H,a)}function mN(A){return typeof A==="object"?"getValue"in A?A.getValue("string"):A.value:A}function eH(A,H){if(H===0n)throw Error("Cannot divide by zero");let T=H/2n;return A>=0n&&H>=0n||A<0n&&H<0n?(A+T)/H:(A-T)/H}function C(A){return 10n**BigInt(A)}function BN(A){return Math.log10(Number.parseFloat(A.toString()))}var y=[M.Chain.Hype,M.Chain.Near,M.Chain.Ripple,M.Chain.Solana,M.Chain.Stellar,M.Chain.Sui,M.Chain.Ton,M.Chain.Tron],fN=[M.Chain.THORChain,M.Chain.Maya],NN=new Map,tN=new Map,AN=new Map,NT=3600000;function AT(A){let H=AN.get(A);if(H?.timestamp&&Date.now()-H.timestamp>NT){AN.delete(A);return}return H}function HT(A,H){if(AN.size>1000){let T=AN.keys().next().value;if(T)AN.delete(T)}AN.set(A,{...H,timestamp:Date.now()})}class z extends k{address;chain;isGasAsset=!1;isSynthetic=!1;isTradeAsset=!1;symbol;tax;ticker;type;chainId;constructor({value:A,decimal:H,tax:T,chain:P,symbol:L,identifier:I}){super(typeof A==="object"?A:{decimal:H,value:A});let R=mA(I||`${P}.${L}`);this.type=bN(R),this.tax=T,this.chain=R.chain,this.ticker=R.ticker,this.symbol=R.symbol,this.address=R.address,this.isSynthetic=R.isSynthetic,this.isTradeAsset=R.isTradeAsset,this.isGasAsset=R.isGasAsset,this.chainId=M.getChainConfig(R.chain).chainId}toString({includeSynthProtocol:A}={}){return(this.isSynthetic||this.isTradeAsset)&&!A?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){if(this.isSynthetic)return`${this.chain}.${this.symbol.replace(/\//g,".")}`;if(this.isTradeAsset)return`${this.chain}.${this.symbol.replace(/~/g,"..")}`;let A=this.symbol.replace(/\./g,"__");return`${this.chain}.${A}`}getIconUrl(){return NN.get(this.toString())?.logoURI}eqAsset({chain:A,symbol:H}){return this.chain===A&&this.symbol===H}eq(A){return this.eqAsset(A)&&this.eqValue(A)}static fromUrl(A,H=0){let T=A.indexOf(".");if(T===-1)throw new u({errorKey:"helpers_invalid_asset_url",info:{urlAsset:A}});let P=A.slice(0,T),L=A.slice(T+1),I=wN.match({chain:P,rest:L}).when(({rest:R})=>R.includes(".."),({chain:R,rest:$})=>`${R}.${$.replace(/\.\./g,"~")}`).when(({chain:R,rest:$})=>fN.includes(R)&&$.includes("."),({chain:R,rest:$})=>`${R}.${$.replace(/\./g,"/")}`).otherwise(({chain:R,rest:$})=>`${R}.${$.replace(/__/g,".")}`);return z.from({asset:I,value:H})}static from({value:A=0,fromBaseDecimal:H,asyncTokenLookup:T,...P}){let L=A instanceof k?A.getValue("string"):A,I="address"in P&&"chain"in P,R=IT(P);if(R===null&&T&&I){let{chain:FN,address:l}=P;return LT({address:l,chain:FN,fromBaseDecimal:H,parsedValue:L})}let $=I&&!R?`${P.chain}.UNKNOWN-${P.address}`:R,{identifier:O,decimal:g}=RN($),{chain:E,isSynthetic:_,isTradeAsset:W,address:n}=mA(O),{baseDecimal:V}=M.getChainConfig(E),b=NN.get(y.includes(E)?O:O.toUpperCase());if(!b&&T&&!_&&!W)return(async()=>{let{ticker:FN}=K(O),l=await yA({address:n,chain:E,ticker:FN});return pN({decimal:l.decimals,identifier:l.identifier,value:H?HN(BigInt(L),H):L})})();let x=b?.decimal||g;f({condition:!x&&!T,id:`assetValue_static_decimal_not_found_${E}`,warning:`Couldn't find static decimal for one or more tokens on ${E} (Using default ${V} decimal as fallback).
1
+ var{defineProperty:IN,getOwnPropertyNames:XA,getOwnPropertyDescriptor:uH}=Object,WN=Object.prototype.hasOwnProperty;function jN(A){return this[A]}var YN=(A,H,T)=>{var P=XA(H);for(let L of P)if(!WN.call(A,L)&&L!=="default")IN(A,L,{get:jN.bind(H,L),enumerable:!0});if(T){for(let L of P)if(!WN.call(T,L)&&L!=="default")IN(T,L,{get:jN.bind(H,L),enumerable:!0});return T}};var nA=(A)=>{var H=(UA??=new WeakMap).get(A),T;if(H)return H;if(H=IN({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function"){for(var P of XA(A))if(!WN.call(H,P))IN(H,P,{get:jN.bind(A,P),enumerable:!(T=uH(A,P))||T.enumerable})}return UA.set(A,H),H},UA;var MH=(A)=>A;function _H(A,H){this[A]=MH.bind(null,H)}var t=(A,H)=>{for(var T in H)IN(A,T,{get:H[T],enumerable:!0,configurable:!0,set:_H.bind(H,T)})};var YH=(A,H)=>()=>(A&&(H=A(A=0)),H);var r={};module.exports=nA(r);var SA=YH(()=>{YN(r,require("@swapkit/tokens"),module.exports)});var AL={};t(AL,{toHexTransactionValue:()=>BP,parseTransactionValue:()=>RP,isTransactionValue:()=>rA,TxnType:()=>hN,TxnStatus:()=>lN,TronTransactionSchema:()=>TA,TransactionSchema:()=>LP,TransactionDTOSchema:()=>FP,TrackingStatus:()=>rN,TrackingRequestSchema:()=>dT,TrackingRequestQuerySchema:()=>hT,TrackerResponseSchema:()=>AA,TokenSchema:()=>CT,TokenDetailsMetadataSchema:()=>lT,TONTransactionSchema:()=>LA,TONTransactionMessageSchema:()=>eA,SwapToResponseSchema:()=>EP,SwapToRequestSchema:()=>SP,SwapToAssetSchema:()=>RH,SwapRouteV2ResponseSchema:()=>uA,SwapKitApi:()=>NL,SwapApprovalTransactionSchema:()=>LH,StellarApprovalTransactionSchema:()=>PH,StarknetTransactionSchema:()=>sA,RouteQuoteWarningSchema:()=>RA,RouteQuoteTxType:()=>GN,RouteQuoteProviderErrorSchema:()=>BH,RouteQuoteMetadataV2Schema:()=>IA,RouteQuoteMetadataSchema:()=>FA,RouteQuoteMetadataAssetSchema:()=>NH,RouteLegWithoutAddressesSchema:()=>_P,RouteLegSchema:()=>aA,QuoteV3ResponseSchema:()=>nP,QuoteV2ResponseSchema:()=>bP,QuoteRouteV2Response:()=>GA,QuoteResponseSchema:()=>BA,QuoteResponseRouteItem:()=>HH,QuoteRequestSchema:()=>rT,ProviderAction:()=>cN,PriorityLabel:()=>dN,PriceResponseSchema:()=>sN,PriceRequestSchema:()=>iT,NearSwapResponseSchema:()=>NA,NearDepositChannelResultSchema:()=>sT,NearDepositChannelParamsSchema:()=>CN,GasSchema:()=>$A,GasResponseSchema:()=>OA,FeesSchema:()=>zN,EstimatedTimeSchema:()=>QN,EVMTransactionSchema:()=>HA,EVMTransactionDetailsSchema:()=>$P,EVMTransactionDetailsParamsSchema:()=>iA,DepositChannelResponseSchema:()=>aN,DepositChannelParamsSchema:()=>eN,CosmosTransactionSchema:()=>PA,CoinGeckoMetadataSchema:()=>iN,ChainflipMetadataSchema:()=>AH,BrokerDepositChannelParamsSchema:()=>lA,AssetValueSchema:()=>h,ApproveResponseSchema:()=>UP,ApproveRequestParams:()=>gP,ApprovalTransactionSchema:()=>TH,ApiV2ErrorSchema:()=>cT});module.exports=nA(AL);var d=require("@swapkit/types");var uT={};t(uT,{getMinAmountByChain:()=>FT,AssetValue:()=>Q});var M=require("@swapkit/types"),yN=require("ethers"),tN=require("ts-pattern");var iH={};t(iH,{parseSymbolForAddress:()=>e,isGasAsset:()=>kN,getTokenLogoURI:()=>lH,getCommonAssetInfo:()=>RN,getAssetType:()=>bN,findAssetBy:()=>rH,fetchTokenInfo:()=>vN,assetFromString:()=>K,CommonAssetStrings:()=>yH});var B=require("@swapkit/types"),s=require("ts-pattern");var JH={};t(JH,{RequestClient:()=>G});var nH={};t(nH,{swapKitConfigStore:()=>z,SKConfig:()=>U});var S=require("@swapkit/types"),tA=require("zustand/vanilla");var gH={};t(gH,{WarningCodeEnum:()=>gN,WalletOption:()=>XN,ProviderName:()=>w,NetworkDerivationPath:()=>DH,MemoType:()=>xA,LedgerErrorCode:()=>wA,FeeTypeEnum:()=>UN,FeeOption:()=>EA,ErrorCode:()=>i,ApproveMode:()=>bA});var DN=require("@swapkit/types"),DH=DN.AllChains.reduce((A,H)=>{return A[H]=DN.getChainConfig(H).networkDerivationPath,A},{});var i;((F)=>{F.unknownError="unknownError";F.test_error="test_error";F.providerDetailsError="providerDetailsError";F.blockHeaderNotFound="blockHeaderNotFound";F.blockHashNotFoundAtHeight="blockHashNotFoundAtHeight";F.blockHashNotFoundAtHash="blockHashNotFoundAtHash";F.txHashMissing="txHashMissing";F.assetValueMissingInfo="assetValueMissingInfo";F.invalidAsset="invalidAsset";F.blockIsRequired="blockIsRequired";F.currentBlockHeaderNotFound="currentBlockHeaderNotFound";F.failedToRetrieveBalance="failedToRetrieveBalance";F.failedToRetrieveBlock="failedToRetrieveBlock";F.failedToRetrieveFees="failedToRetrieveFees";F.notImplementedBCH="notImplementedBCH";F.notImplementedDoge="notImplementedDoge";F.noPoolsFound="noPoolsFound";F.noVaultsFound="noVaultsFound";F.noTxFound="noTxFound";F.noInputCoinFound="noInputCoinFound";F.noBlockDataFound="noBlockDataFound";F.multipleCosmosMessages="multipleCosmosMessages";F.heightOrHashNotProvided="heightOrHashNotProvided";F.unknownDenom="unknownDenom";F.invalidBlockHeight="invalidBlockHeight";F.timestampExtrinsicNoArgumentsForBlock="timestampExtrinsicNoArgumentsForBlock";F.timestampExtrinsicNoTimestampForBlock="timestampExtrinsicNoTimestampForBlock";F.noTimestampExtrinsicForHash="noTimestampExtrinsicForHash";F.timestampExtrinsicNoArgumentsForHash="timestampExtrinsicNoArgumentsForHash";F.txMemoUndefined="txMemoUndefined";F.txMemoIncorrect="txMemoIncorrect";F.txTypeNotFound="txTypeNotFound";F.txNoMessage="txNoMessage";F.txNotFound="txNotFound";F.txReceiptNotFound="txReceiptNotFound";F.txParsingError="txParsingError";F.txLogsParsingError="txLogsParsingError";F.blockNotFound="blockNotFound";F.balanceNotFound="balanceNotFound";F.configError="configError";F.synthSwapDisallowed="synthSwapDisallowed";F.providerQuoteTimeout="providerQuoteTimeout";F.noQuoteResponse="noQuoteResponse";F.noPoolAssetsFound="noPoolAssetsFound";F.noThorchainPools="noThorchainPools";F.noMayachainPools="noMayachainPools";F.noThorchainNetworkInfo="noThorchainNetworkInfo";F.invalidAffiliateFee="invalidAffiliateFee";F.invalidBuyAssetAddress="invalidBuyAssetAddress";F.invalidSellAssetAddress="invalidSellAssetAddress";F.invalidSourceAddress="invalidSourceAddress";F.invalidDestinationAddress="invalidDestinationAddress";F.sourceAddressIsSmartContract="sourceAddressIsSmartContract";F.destinationAddressIsSmartContract="destinationAddressIsSmartContract";F.invalidChainId="invalidChainId";F.unsupportedChainId="unsupportedChainId";F.unsupportedEVMChainId="unsupportedEVMChainId";F.unsupportedMethod="unsupportedMethod";F.unsupportedProvider="unsupportedProvider";F.invalidParamsForMethod="invalidParamsForMethod";F.unsupportedAdapter="unsupportedAdapter";F.noWhitelistTokens="noWhitelistTokens";F.failedFetchGasPrice="failedFetchGasPrice";F.failedToCreateDepositChannel="failedToCreateDepositChannel";F.noProviderDetailsFound="noProviderDetailsFound";F.noTokenListsFound="noTokenListsFound";F.tokenNotFound="tokenNotFound";F.tokenPriceNotFound="tokenPriceNotFound";F.tokenPriceFailedToUpdate="tokenPriceFailedToUpdate";F.swapAmountTooSmall="swapAmountTooSmall";F.legsArrayIsEmpty="legsArrayIsEmpty";F.failedToFetchQuoteForLeg="failedToFetchQuoteForLeg";F.noBlockHeaderFound="noBlockHeaderFound";F.failedToSimulateSwap="failedToSimulateSwap";F.addressScreeningFailed="addressScreeningFailed";F.noLiquidtyProvidersFound="noLiquidtyProvidersFound";F.insufficientLiquidity="insufficientLiquidity";F.noInboundDataFound="noInbounDataFound";F.noInboundAddressesFound="noInboundAddressesFound";F.noInboundAddressFoundForChain="noInboundAddressFoundForChain";F.noLastBlocksFound="noLastBlocksFound";F.noVersionFound="noVersionFound";F.noConstantsFound="noConstantsFound";F.noMimirsFound="noMimirsFound";F.noRoutesFound="noRoutesFound";F.quoteNotFound="quoteNotFound";F.ledgerSignFailed="ledgerSignFailed";F.ledgerWrongPayload="ledgerWrongPayload";F.ledgerFetchSwapFailed="ledgerFetchSwapFailed";F.failedToFetchTx="failedToFetchTx";F.failedBuildTransactionDetails="failedBuildTransactionDetails";F.noLegsForRoute="noLegsForRoute";F.noRouterAddressFound="noRouterAddressFound";F.noAggregatorAddressFound="noAggregatorAddressFound";F.noContractInstanceFound="noContractInstanceFound";F.noContractAddressFound="noContractAddressFound";F.invalidAffiliate="invalidAffiliate";F.thornameAffiliate="thornameAffiliate";F.providerNotfound="No provider found";F.noRecordFound="No Record found";F.slippageTooLow="Slippage too low";F.tradingHalted="tradingHalted";F.noWrappedGasAsset="noWrappedGasAsset";F.aggregatorAddressNotFound="aggregatorAddressNotFound";F.routerAddressNotFound="routerAddressNotFound";F.dummyAddressNotFound="dummyAddressNotFound";F.trackerError="trackerError";F.thorchainPoolUnavailable="thorchainPoolUnavailable";F.noOhlcvDataFound="noOhlcvDataFound";F.noTradingPairs="noTradingPairs";F.noLendingAvailability="noLendingAvailability";F.lendingRepayTooSmall="lendingRepayTooSmall";F.missingState="missingState";F.ledgerSwapNotFound="ledgerSwapNotFound";F.ledgerSwapNotReadyForTracking="ledgerSwapNotReadyForTracking";F.errorEstimatingGas="errorEstimatingGas";F.apiKeyInvalid="apiKeyInvalid";F.apiKeyFailedToUpdate="apiKeyFailedToUpdate";F.apiKeyExpired="apiKeyExpired";F.unauthorized="unauthorized";F.failedToCreateMemo="failedToCreateMemo";F.radixIncorrectInstructions="radixIncorrectInstructions";F.radixTxMissedParam="radixTxMissedParam";F.radixTxMissedAccount="radixTxMissedAccount";F.radixManifestParseError="radixManifestParseError";F.radixManifestBuildError="radixManifestBuildError";F.invalidAddressForChain="invalidAddressForChain";F.riskyAddress="riskyAddress";F.noRoutesToProcess="noRoutesToProcess";F.sellAssetAmountTooSmall="sellAssetAmountTooSmall";F.missingPrivateKey="missingPrivateKey";F.noMemoPriceProtection="noMemoPriceProtection"})(i||={});var gN;((T)=>{T.highSlippage="highSlippage";T.highPriceImpact="highPriceImpact"})(gN||={});var w;((n)=>{n.CHAINFLIP="CHAINFLIP";n.CHAINFLIP_STREAMING="CHAINFLIP_STREAMING";n.JUPITER="JUPITER";n.MAYACHAIN="MAYACHAIN";n.MAYACHAIN_STREAMING="MAYACHAIN_STREAMING";n.ONEINCH="ONEINCH";n.PANCAKESWAP="PANCAKESWAP";n.SUSHISWAP_V2="SUSHISWAP_V2";n.THORCHAIN="THORCHAIN";n.THORCHAIN_STREAMING="THORCHAIN_STREAMING";n.TRADERJOE_V2="TRADERJOE_V2";n.UNISWAP_V2="UNISWAP_V2";n.UNISWAP_V3="UNISWAP_V3";n.NEAR="NEAR";n.GARDEN="GARDEN";n.OKX="OKX";n.HARBOR="HARBOR";n.FLASHNET="FLASHNET";n.MAYAN="MAYAN"})(w||={});var UN;((O)=>{O.LIQUIDITY="liquidity";O.NETWORK="network";O.INBOUND="inbound";O.OUTBOUND="outbound";O.AFFILIATE="affiliate";O.TAX="tax";O.PRIORITY="priority";O.SERVICE="service"})(UN||={});var EA;((P)=>{P.Average="average";P.Fast="fast";P.Fastest="fastest"})(EA||={});var bA;((T)=>{T.Approve="approve";T.CheckOnly="checkOnly"})(bA||={});var xA;((_)=>{_.NAME_REGISTER="~";_.BOND="BOND";_.DEPOSIT="+";_.LEAVE="LEAVE";_.UNBOND="UNBOND";_.WITHDRAW="-";_.RUNEPOOL_DEPOSIT="POOL+";_.RUNEPOOL_WITHDRAW="POOL-";_.CLAIM_TCY="tcy";_.STAKE_TCY="tcy+";_.UNSTAKE_TCY="tcy-"})(xA||={});var XN;((Y)=>{Y.BITGET="BITGET";Y.BRAVE="BRAVE";Y.COINBASE_MOBILE="COINBASE_MOBILE";Y.COINBASE_WEB="COINBASE_WEB";Y.COSMOSTATION="COSMOSTATION";Y.CTRL="CTRL";Y.EIP6963="EIP6963";Y.EXODUS="EXODUS";Y.KEEPKEY="KEEPKEY";Y.KEEPKEY_BEX="KEEPKEY_BEX";Y.KEPLR="KEPLR";Y.KEYSTORE="KEYSTORE";Y.LEAP="LEAP";Y.LEDGER="LEDGER";Y.METAMASK="METAMASK";Y.OKX="OKX";Y.OKX_MOBILE="OKX_MOBILE";Y.ONEKEY="ONEKEY";Y.PASSKEYS="PASSKEYS";Y.PASSKEY_WALLET="PASSKEY_WALLET";Y.PETRA="PETRA";Y.PHANTOM="PHANTOM";Y.POLKADOT_JS="POLKADOT_JS";Y.RADIX_WALLET="RADIX_WALLET";Y.TALISMAN="TALISMAN";Y.TREZOR="TREZOR";Y.TRONLINK="TRONLINK";Y.TRUSTWALLET_WEB="TRUSTWALLET_WEB";Y.VULTISIG="VULTISIG";Y.WALLETCONNECT="WALLETCONNECT";Y.WALLET_SELECTOR="WALLET_SELECTOR";Y.XAMAN="XAMAN"})(XN||={});var wA;((P)=>{P[P.NoError=36864]="NoError";P[P.LockedDevice=21781]="LockedDevice";P[P.TC_NotFound=65535]="TC_NotFound"})(wA||={});var UH=S.AllChains.reduce((A,H)=>{if(!A.THOR_STAGENET)A[S.StagenetChain.Maya]=S.StagenetMAYAConfig.rpcUrls,A[S.StagenetChain.THORChain]=S.StagenetTHORConfig.rpcUrls;return A[H]=S.getChainConfig(H).rpcUrls,A},{}),XH={[S.Chain.THORChain]:S.THORConfig.nodeUrl,[S.Chain.Maya]:S.MAYAConfig.nodeUrl,[S.StagenetChain.THORChain]:S.StagenetTHORConfig.nodeUrl,[S.StagenetChain.Maya]:S.StagenetMAYAConfig.nodeUrl},zA={apiKeys:{blockchair:"",keepKey:"",passkeys:"",swapKit:"",walletConnectProjectId:"",xaman:""},chains:S.AllChains,endpoints:{},envs:{apiUrl:"https://api.swapkit.dev",devApiUrl:"https://dev-api.swapkit.dev",isDev:!1,isStagenet:!1},feeMultipliers:void 0,integrations:{radix:{applicationName:"Swapkit Playground",applicationVersion:"0.0.1",dAppDefinitionAddress:"account_rdx128r289p58222hcvev7frs6kue76pl7pdcnw8725aw658v0zggkh9ws",network:{dashboardBase:"https://dashboard.radixdlt.com",networkId:1,networkName:"mainnet"}}},localMode:{enabled:!1,quoteUrl:"http://localhost:3000",swapUrl:"http://localhost:3001"},requestOptions:{retry:{backoffMultiplier:2,baseDelay:300,maxDelay:5000,maxRetries:3},timeoutMs:30000},rpcUrls:UH,thornodeUrls:XH,v3SwapFlow:{enabled:typeof process<"u"&&process.env?.SWAPKIT_V3_SWAP_FLOW==="true"},wallets:Object.values(XN),widgetId:"",widgetKey:""},z=tA.createStore((A)=>({...zA,setApiKey:(H,T)=>A((P)=>({apiKeys:{...P.apiKeys,[H]:T}})),setConfig:(H)=>A((T)=>({apiKeys:{...T.apiKeys,...H?.apiKeys},chains:T.chains.concat(H?.chains||[]),endpoints:{...T.endpoints,...H?.endpoints},envs:{...T.envs,...H?.envs},feeMultipliers:H?.feeMultipliers||T.feeMultipliers,integrations:{...T.integrations,...H?.integrations},localMode:{...T.localMode,...H?.localMode},rpcUrls:{...T.rpcUrls,...H?.rpcUrls},thornodeUrls:{...T.thornodeUrls,...H?.thornodeUrls},v3SwapFlow:{...T.v3SwapFlow,...H?.v3SwapFlow},wallets:T.wallets.concat(H?.wallets||[]),widgetId:H?.widgetId||T.widgetId,widgetKey:H?.widgetKey||T.widgetKey})),setEndpoint:(H,T)=>A((P)=>({endpoints:{...P.endpoints,[H]:T}})),setEnv:(H,T)=>A((P)=>({envs:{...P.envs,[H]:T}})),setFeeMultipliers:(H)=>A(()=>({feeMultipliers:H})),setIntegrationConfig:(H,T)=>A((P)=>({integrations:{...P.integrations,[H]:T}})),setRequestOptions:(H)=>A((T)=>({requestOptions:{retry:{...T.requestOptions.retry,...H.retry},timeoutMs:H.timeoutMs||T.requestOptions.timeoutMs}})),setRpcUrl:(H,T)=>A((P)=>({rpcUrls:{...P.rpcUrls,[H]:T}})),setThornodeUrl:(H,T)=>A((P)=>({thornodeUrls:{...P.thornodeUrls,[H]:T}})),setWidgetId:(H)=>A({widgetId:H}),setWidgetKey:(H)=>A({widgetKey:H})})),U={get:(A)=>z.getState()[A],getState:z.getState,reinitialize:()=>z.setState(zA),set:(A)=>z.getState().setConfig(A),setApiKey:(A,H)=>z.getState().setApiKey(A,H),setEndpoint:(A,H)=>z.getState().setEndpoint(A,H),setEnv:(A,H)=>z.getState().setEnv(A,H),setFeeMultipliers:(A)=>z.getState().setFeeMultipliers(A),setIntegrationConfig:(A,H)=>z.getState().setIntegrationConfig(A,H),setRequestOptions:(A)=>z.getState().setRequestOptions(A),setRpcUrl:(A,H)=>z.getState().setRpcUrl(A,H),setThornodeUrl:(A,H)=>z.getState().setThornodeUrl(A,H),setWidgetId:(A)=>z.getState().setWidgetId(A),setWidgetKey:(A)=>z.getState().setWidgetKey(A)};var EH={};t(EH,{SwapKitError:()=>u});var SH={core_estimated_max_spendable_chain_not_supported:10001,core_extend_error:10002,core_inbound_data_not_found:10003,core_approve_asset_address_or_from_not_found:10004,core_plugin_not_found:10005,core_plugin_swap_not_found:10006,core_approve_asset_target_invalid:10007,core_explorer_unsupported_chain:10008,core_verify_message_not_supported:10009,core_chain_halted:10010,core_wallet_connection_not_found:10101,core_wallet_ctrl_not_installed:10102,core_wallet_evmwallet_not_installed:10103,core_wallet_walletconnect_not_installed:10104,core_wallet_keystore_not_installed:10105,core_wallet_ledger_not_installed:10106,core_wallet_trezor_not_installed:10107,core_wallet_keplr_not_installed:10108,core_wallet_okx_not_installed:10109,core_wallet_keepkey_not_installed:10110,core_wallet_talisman_not_installed:10111,core_wallet_not_keypair_wallet:10112,core_wallet_sign_message_not_supported:10113,core_wallet_connection_failed:10114,core_wallet_create_not_supported:10115,core_wallet_sign_typed_data_not_supported:10116,core_swap_invalid_params:10201,core_swap_route_not_complete:10202,core_swap_asset_not_recognized:10203,core_swap_contract_not_found:10204,core_swap_route_transaction_not_found:10205,core_swap_contract_not_supported:10206,core_swap_transaction_error:10207,core_swap_quote_mode_not_supported:10208,core_transaction_deposit_error:10301,core_transaction_create_liquidity_base_error:10302,core_transaction_create_liquidity_asset_error:10303,core_transaction_create_liquidity_invalid_params:10304,core_transaction_add_liquidity_invalid_params:10305,core_transaction_add_liquidity_base_address:10306,core_transaction_add_liquidity_base_error:10307,core_transaction_add_liquidity_asset_error:10308,core_transaction_withdraw_error:10309,core_transaction_deposit_to_pool_error:10310,core_transaction_deposit_insufficient_funds_error:10311,core_transaction_deposit_gas_error:10312,core_transaction_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,core_transaction_failed:10316,core_transaction_invalid_recipient_address:10317,wallet_connection_rejected_by_user:20001,wallet_missing_api_key:20002,wallet_chain_not_supported:20003,wallet_missing_params:20004,wallet_provider_not_found:20005,wallet_failed_to_add_or_switch_network:20006,wallet_ledger_connection_error:20101,wallet_ledger_connection_claimed:20102,wallet_ledger_get_address_error:20103,wallet_ledger_device_not_found:20104,wallet_ledger_device_locked:20105,wallet_ledger_transport_error:20106,wallet_ledger_public_key_error:20107,wallet_ledger_derivation_path_error:20108,wallet_ledger_signing_error:20109,wallet_ledger_app_not_open:20110,wallet_ledger_invalid_response:20111,wallet_ledger_method_not_supported:20112,wallet_ledger_invalid_params:20113,wallet_ledger_invalid_signature:20114,wallet_ledger_no_provider:20115,wallet_ledger_pubkey_not_found:20116,wallet_ledger_transport_not_defined:20117,wallet_ledger_webusb_not_supported:20118,wallet_ledger_chain_not_supported:20119,wallet_ledger_invalid_asset:20120,wallet_ledger_invalid_account:20121,wallet_ledger_address_not_found:20122,wallet_ledger_failed_to_get_address:20123,wallet_ledger_webhid_not_supported:20124,wallet_phantom_not_found:20201,wallet_ctrl_not_found:20301,wallet_ctrl_send_transaction_no_address:20302,wallet_ctrl_contract_address_not_provided:20303,wallet_ctrl_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_walletconnect_chain_not_supported:20404,wallet_walletconnect_invalid_method:20405,wallet_walletconnect_method_not_supported:20406,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_trezor_transport_error:20504,wallet_trezor_method_not_supported:20505,wallet_trezor_failed_to_get_public_key:20506,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,wallet_polkadot_not_found:20701,wallet_radix_not_found:20801,wallet_radix_transaction_failed:20802,wallet_radix_invalid_manifest:20803,wallet_radix_method_not_supported:20804,wallet_radix_no_account:20805,wallet_keepkey_not_found:20901,wallet_keepkey_asset_not_defined:20902,wallet_keepkey_contract_address_not_provided:20903,wallet_keepkey_send_transaction_no_address:20904,wallet_keepkey_derivation_path_error:20905,wallet_keepkey_signing_error:20906,wallet_keepkey_transport_error:20907,wallet_keepkey_unsupported_chain:20908,wallet_keepkey_invalid_response:20909,wallet_keepkey_chain_not_supported:20910,wallet_keepkey_signer_not_found:20911,wallet_keepkey_no_accounts:20912,wallet_keepkey_method_not_supported:20913,wallet_keepkey_invalid_params:20914,wallet_keepkey_config_not_found:20915,wallet_keepkey_no_provider:20916,wallet_keepkey_account_not_found:20917,wallet_keepkey_failed_to_get_public_key:20918,wallet_bitkeep_not_found:21001,wallet_bitkeep_failed_to_switch_network:21002,wallet_bitkeep_no_accounts:21003,wallet_passkeys_sign_transaction_error:21101,wallet_passkeys_not_found:21102,wallet_passkeys_no_address:21103,wallet_passkeys_request_canceled:21104,wallet_passkeys_signature_canceled:21105,wallet_passkeys_failed_to_switch_network:21106,wallet_passkeys_chain_not_supported:21107,wallet_passkeys_instance_missing:21108,wallet_onekey_not_found:21201,wallet_onekey_sign_transaction_error:21202,wallet_okx_not_found:21301,wallet_okx_chain_not_supported:21302,wallet_okx_failed_to_switch_network:21303,wallet_okx_no_accounts:21304,wallet_keplr_not_found:21401,wallet_keplr_chain_not_supported:21402,wallet_keplr_signer_not_found:21403,wallet_keplr_no_accounts:21404,wallet_cosmostation_not_found:21501,wallet_cosmostation_chain_not_supported:21502,wallet_cosmostation_evm_provider_not_found:21503,wallet_cosmostation_keplr_provider_not_found:21504,wallet_cosmostation_no_accounts:21505,wallet_cosmostation_no_evm_accounts:21506,wallet_cosmostation_no_evm_address:21507,wallet_cosmostation_signer_not_found:21508,wallet_passkey_not_supported:21601,wallet_passkey_connection_failed:21602,wallet_coinbase_not_found:21701,wallet_coinbase_chain_not_supported:21702,wallet_coinbase_method_not_supported:21703,wallet_coinbase_no_accounts:21704,wallet_evm_extensions_failed_to_switch_network:21801,wallet_evm_extensions_no_provider:21802,wallet_evm_extensions_not_found:21803,wallet_keystore_invalid_password:21901,wallet_keystore_unsupported_version:21902,wallet_near_extensions_failed_to_switch_network:22001,wallet_near_extensions_no_provider:22002,wallet_near_extensions_not_found:22003,wallet_near_method_not_supported:22004,wallet_petra_not_found:22201,wallet_vultisig_not_found:22101,wallet_vultisig_contract_address_not_provided:22102,wallet_vultisig_asset_not_defined:22103,wallet_vultisig_send_transaction_no_address:22104,wallet_xaman_not_configured:23001,wallet_xaman_not_connected:23002,wallet_xaman_auth_failed:23003,wallet_xaman_connection_failed:23004,wallet_xaman_transaction_failed:23005,wallet_xaman_monitoring_failed:23006,wallet_tronlink_request_accounts_failed:24001,wallet_tronlink_locked:24002,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30101,chainflip_broker_recipient_error:30102,chainflip_broker_register:30103,chainflip_broker_tx_error:30104,chainflip_broker_withdraw:30105,chainflip_broker_fund_only_flip_supported:30106,chainflip_broker_fund_invalid_address:30107,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_asset_is_not_tcy:40003,thorchain_swapin_router_required:40101,thorchain_swapin_vault_required:40102,thorchain_swapin_memo_required:40103,thorchain_swapin_token_required:40104,thorchain_preferred_asset_payout_required:40105,toolbox_cosmos_account_not_found:50101,toolbox_cosmos_invalid_fee:50102,toolbox_cosmos_invalid_params:50103,toolbox_cosmos_no_signer:50104,toolbox_cosmos_not_supported:50105,toolbox_cosmos_signer_not_defined:50106,toolbox_cosmos_validate_address_prefix_not_found:50107,toolbox_cosmos_verify_signature_no_pubkey:50108,toolbox_evm_error_estimating_gas_limit:50201,toolbox_evm_error_sending_transaction:50202,toolbox_evm_gas_estimation_error:50203,toolbox_evm_invalid_gas_asset_address:50204,toolbox_evm_invalid_params:50205,toolbox_evm_invalid_transaction:50206,toolbox_evm_no_abi_fragment:50207,toolbox_evm_no_contract_address:50208,toolbox_evm_no_fee_data:50209,toolbox_evm_no_from_address:50210,toolbox_evm_no_gas_price:50211,toolbox_evm_no_signer_address:50212,toolbox_evm_no_signer:50213,toolbox_evm_no_to_address:50214,toolbox_evm_not_supported:50215,toolbox_evm_provider_not_eip1193_compatible:50216,toolbox_evm_invalid_eip7702_authorization:50217,toolbox_utxo_api_error:50301,toolbox_utxo_broadcast_failed:50302,toolbox_utxo_insufficient_balance:50303,toolbox_utxo_invalid_address:50304,toolbox_utxo_invalid_params:50305,toolbox_utxo_invalid_transaction:50306,toolbox_utxo_no_signer:50307,toolbox_utxo_not_supported:50308,toolbox_utxo_tx_not_found:50309,toolbox_utxo_rbf_not_supported:50310,toolbox_utxo_tx_not_replaceable:50311,toolbox_utxo_tx_already_confirmed:50312,toolbox_utxo_rbf_fee_too_low:50313,toolbox_utxo_rbf_insufficient_change:50314,toolbox_solana_no_signer:50401,toolbox_substrate_not_supported:50501,toolbox_substrate_transfer_error:50502,toolbox_radix_method_not_supported:50601,toolbox_ripple_get_balance_error:50701,toolbox_ripple_rpc_not_configured:50702,toolbox_ripple_signer_not_found:50703,toolbox_ripple_asset_not_supported:50704,toolbox_ripple_broadcast_error:50705,toolbox_ripple_get_trust_lines_error:50706,toolbox_ripple_invalid_trust_line_limit:50707,toolbox_tron_no_signer:50801,toolbox_tron_invalid_token_identifier:50802,toolbox_tron_token_transfer_failed:50803,toolbox_tron_transaction_creation_failed:50804,toolbox_tron_trongrid_api_error:50805,toolbox_tron_approve_failed:50806,toolbox_tron_invalid_token_contract:50807,toolbox_tron_allowance_check_failed:50808,toolbox_tron_invalid_transaction_integrity:50809,toolbox_tron_broadcast_failed:50810,toolbox_hypercore_no_signer:51001,toolbox_cardano_sign_transaction_failed:50901,toolbox_near_no_signer:90601,toolbox_near_invalid_address:90602,toolbox_near_invalid_amount:90603,toolbox_near_transfer_failed:90604,toolbox_near_access_key_error:90605,toolbox_near_no_rpc_url:90606,toolbox_near_empty_batch:90607,toolbox_near_balance_failed:90608,toolbox_near_invalid_name:90609,toolbox_near_missing_contract_address:90610,toolbox_near_no_account:90611,toolbox_near_invalid_gas_params:90612,toolbox_near_no_public_key_found:90613,toolbox_near_sign_transaction_failed:90614,toolbox_sui_address_required:90701,toolbox_sui_keypair_required:90702,toolbox_sui_balance_error:90703,toolbox_sui_transaction_creation_error:90704,toolbox_sui_signing_error:90705,toolbox_sui_broadcast_error:90706,toolbox_sui_no_signer:90707,toolbox_sui_no_sender:90708,toolbox_sui_missing_coin_type:90709,toolbox_sui_no_coins_found:90710,toolbox_sui_insufficient_balance:90711,toolbox_starknet_no_signer:90801,toolbox_starknet_invalid_address:90802,toolbox_starknet_fee_estimation_failed:90803,toolbox_starknet_account_not_deployed:90804,toolbox_starknet_transaction_failed:90805,toolbox_ton_no_signer:90901,toolbox_ton_invalid_address:90902,toolbox_ton_missing_jetton_address:90903,toolbox_ton_jetton_transfer_failed:90904,toolbox_ton_transaction_failed:90905,toolbox_aptos_address_required:91001,toolbox_aptos_keypair_required:91002,toolbox_aptos_balance_error:91003,toolbox_aptos_transaction_creation_error:91004,toolbox_aptos_signing_error:91005,toolbox_aptos_broadcast_error:91006,toolbox_aptos_no_signer:91007,toolbox_aptos_no_sender:91008,toolbox_aptos_missing_asset_type:91009,toolbox_aptos_insufficient_balance:91010,toolbox_stellar_no_signer:91101,toolbox_stellar_broadcast_error:91102,toolbox_stellar_invalid_address:91103,toolbox_stellar_account_not_found:91104,toolbox_stellar_transaction_failed:91105,toolbox_stellar_balance_error:91106,toolbox_stellar_trustline_asset_invalid:91112,toolbox_aleo_no_signer:91201,toolbox_aleo_invalid_address:91202,toolbox_aleo_balance_error:91203,toolbox_aleo_fee_estimation_failed:91204,toolbox_aleo_broadcast_error:91205,toolbox_aleo_transaction_failed:91206,toolbox_aleo_wasm_init_failed:91207,toolbox_aleo_unsupported_token:91208,toolbox_aleo_token_transfer_rejected:91209,toolbox_aleo_insufficient_fee_balance:91210,toolbox_aleo_no_unspent_records:91211,toolbox_aleo_conflicting_signers:91212,toolbox_aleo_no_rpc_urls:91213,toolbox_not_supported:59901,toolbox_fee_estimation_failed:59902,toolbox_sweep_amount_too_low:59903,plugin_near_invalid_name:41001,plugin_near_no_connection:41002,plugin_near_name_unavailable:41003,plugin_near_registration_failed:41004,plugin_near_transfer_failed:41005,plugin_garden_missing_data:42001,plugin_swapkit_swap_invalid_data:43001,plugin_swapkit_invalid_transaction:43002,plugin_swapkit_stellar_destination_wallet_not_found:43003,api_v2_invalid_response:60001,api_v2_server_error:60002,api_v2_invalid_method_key_hash:60003,helpers_invalid_number_different_decimals:70001,helpers_invalid_number_of_years:70002,helpers_invalid_identifier:70003,helpers_invalid_asset_url:70004,helpers_invalid_asset_identifier:70005,helpers_invalid_memo_type:70006,helpers_failed_to_switch_network:70007,helpers_not_found_provider:70008,helpers_chain_not_supported:70009,helpers_invalid_params:70010,helpers_invalid_response:70011,helpers_chain_no_public_or_set_rpc_url:70012,helpers_chain_rpc_connection_failed:70013,mcp_wallet_not_configured:90001,not_implemented:99999};function VN(A){return JSON.stringify(A,(H,T)=>typeof T==="bigint"?T.toString():T)}class u extends Error{static ErrorCode=SH;errorKey;info;constructor(A,H){let T=typeof A==="string",P=T?A:A.errorKey,L=T?void 0:A.info,I=`${P}${L?`: ${VN(L)}`:""}`;super(I);if(Object.setPrototypeOf(this,u.prototype),this.name="SwapKitError",this.errorKey=P,this.info=L,this.cause=H,H){let R=H instanceof Error?`${H.message}${H.cause?` (${H.cause})`:""}`:VN(H);console.error(`SwapKitError [${P}]: ${R}`)}else if(L)console.error(`SwapKitError [${P}]: ${VN(L)}`)}}var bH=(A)=>new Promise((H)=>setTimeout(H,A)),xH=(A,{baseDelay:H,backoffMultiplier:T,maxDelay:P})=>Math.min(H*T**A,P);function wH(A,H){if(A instanceof Error&&A.name==="AbortError")return!0;if(A instanceof TypeError)return!0;if(H===429)return!0;if(H&&H>=500&&H<600)return!0;return!1}var tH=async(A,H)=>{let T=await fetch(A,H),P;try{P=await T.json()}catch{if(!T.ok)throw new u({errorKey:"helpers_invalid_response",info:{status:T.status,statusText:T.statusText}},{status:T.status,statusText:T.statusText});return{}}if(!T.ok){let I={data:P?.data,error:P?.error,message:P?.message,status:T.status};throw new u({errorKey:P?.error||"helpers_invalid_response",info:I},I)}let L=P?.routes?.length||P?.result||P?.data&&!P?.error;if(P?.error&&!L){let I={data:P.data,error:P.error,message:P.message,status:T.status};throw new u({errorKey:P.error,info:I},I)}if(P?.providerErrors?.length||P?.error&&L)console.warn("[SwapKit] Partial errors in response:",P.providerErrors||P.error);return P};function nN(A,H={}){return async function(P,L={}){let{searchParams:I,json:R,body:$,headers:O,dynamicHeader:g,retry:E,timeoutMs:_,abortController:W,onError:X,onSuccess:V,responseHandler:b,...x}={...H,...L},LN=U.get("requestOptions"),c={...LN.retry,...E},n=!!R||P.endsWith(".json"),MN=QH(P,I),YA=g?await g():{},FN=zH(n,{...O,...YA}),l=n?JSON.stringify(R):$,ZN;for(let _N=0;_N<=c.maxRetries;_N++){let DA=W||new AbortController,gA=setTimeout(()=>DA.abort(),_||LN.timeoutMs);try{let v=await tH(MN,{...x,body:l,headers:FN,method:A,signal:DA.signal});return clearTimeout(gA),V?.(v)||b?.(v)||v}catch(v){clearTimeout(gA),ZN=v;let GH=v?.cause?.status;if(_N>=c.maxRetries||!wH(v,GH))return X?X(v):Promise.reject(v);await bH(xH(_N,c))}}return X?X(ZN):Promise.reject(ZN)}}function zH(A,H){return{...H,...A&&{"Content-Type":"application/json"}}}function QH(A,H){let T=new URL(A);if(H)T.search=new URLSearchParams(H).toString();return T.toString()}var G={extend:(A)=>({extend:(H)=>G.extend({...A,...H}),get:nN("GET",A),post:nN("POST",A)}),get:nN("GET"),post:nN("POST")};var mH={};t(mH,{initializeRPCUrlsWithFallback:()=>KH,getRPCUrlSync:()=>WA,getRPCUrl:()=>o,_rpcCache:()=>EN});var D=require("@swapkit/types"),qN=require("ts-pattern");var qH={};t(qH,{wrapWithThrow:()=>jH,warnOnce:()=>f,getTHORNameCost:()=>ZH,getMAYANameCost:()=>WH,getChainIdentifier:()=>VH});var SN=require("@swapkit/types");function ZH(A){if(A<0)throw new u({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:A}});return 10+A}function WH(A){if(A<0)throw new u({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:A}});return Math.round((10+A*1.0512)*10000000000)/10000000000}function jH(A,H){try{return A()}catch(T){if(H)throw new u(H,T);return}}function VH(A){switch(A){case SN.Chain.THORChain:return`${A}.RUNE`;case SN.Chain.Cosmos:return`${A}.ATOM`;case SN.Chain.BinanceSmartChain:return`${A}`;default:return`${A}.${A}`}}var QA=new Set;function f({condition:A,id:H,warning:T}){if(A){if(QA.has(H))return;console.warn(T),QA.add(H)}}function vH(A){return qN.match(A).with(...D.EVMChains,()=>({id:1,jsonrpc:"2.0",method:"eth_blockNumber",params:[]})).with(...D.UTXOChains,()=>({id:"test",jsonrpc:"1.0",method:"getblockchaininfo",params:[]})).with(...D.CosmosChains,...D.StagenetChains,()=>({id:1,jsonrpc:"2.0",method:"status",params:{}})).with(D.Chain.Polkadot,D.Chain.Chainflip,()=>({id:1,jsonrpc:"2.0",method:"system_health",params:[]})).with(D.Chain.Solana,()=>({id:1,jsonrpc:"2.0",method:"getHealth"})).with(D.Chain.Sui,()=>({id:1,jsonrpc:"2.0",method:"sui_getSystemState",params:[]})).with(D.Chain.Ton,()=>({id:1,jsonrpc:"2.0",method:"getAddressInformation",params:{address:""}})).with(D.Chain.Aleo,D.Chain.Aptos,D.Chain.Tron,D.Chain.Radix,D.Chain.Stellar,()=>"").with(D.Chain.Hype,()=>({type:"meta"})).with(D.Chain.Near,()=>({id:"dontcare",jsonrpc:"2.0",method:"status",params:[]})).with(D.Chain.Ripple,()=>({id:1,jsonrpc:"2.0",method:"ping",params:[{}]})).with(D.Chain.Starknet,()=>({id:1,jsonrpc:"2.0",method:"starknet_chainId",params:[]})).otherwise(()=>{throw new u("helpers_chain_not_supported",{chain:A})})}function JA(A){return qN.match(A).with(D.Chain.Aptos,()=>"/-/healthy").with(D.Chain.Aleo,()=>"/mainnet/block/height/latest").with(D.Chain.Hype,()=>"/info").with(D.Chain.Radix,()=>"/status/network-configuration").with(D.Chain.Stellar,()=>"").with(D.Chain.Tron,()=>"/wallet/getnowblock").otherwise(()=>"")}async function ZA(A,H){try{let T=H.startsWith("wss")?H.replace("wss","https"):H;if(A===D.Chain.Aleo||A===D.Chain.Stellar)return(await fetch(`${T}${JA(A)}`,{cache:"no-store",method:"GET",signal:AbortSignal.timeout(3000)})).ok;return(await fetch(`${T}${JA(A)}`,{body:JSON.stringify(vH(A)),cache:"no-store",headers:{"Content-Type":"application/json"},method:"POST",signal:AbortSignal.timeout(3000)})).ok}catch{return!1}}var EN=new Map,kH=120000;function WA(A){let[H=""]=U.get("rpcUrls")[A];if(!H)throw f({condition:!0,id:"helpers_chain_no_public_or_set_rpc_url",warning:`No public or set RPC URL found for chain. Please ensure you configured rpcUrls for ${A}.`}),new u("helpers_chain_no_public_or_set_rpc_url",{chain:A});let T=EN.get(A);if(T&&Date.now()-T.timestamp<kH)return T.url;return EN.set(A,{timestamp:Date.now(),url:H}),H}async function o(A){let H=WA(A),[,...T]=U.get("rpcUrls")[A];if(await ZA(A,H))return H;for(let L of T)if(await ZA(A,L))return EN.set(A,{timestamp:Date.now(),url:L}),L;throw new u("helpers_chain_rpc_connection_failed",{chain:A,fallbackUrls:T,primaryRpcUrl:H})}function KH(A){f({condition:!0,id:"initializeRPCUrlsWithFallback",warning:"initializeRPCUrlsWithFallback is deprecated. Use static { rpcUrls, fallbackRpcUrls } SwapKit init config or dynamic SKConfig.setRpcUrl/setFallbackRpcUrl to configure RPC endpoints."})}var yH=[`${B.Chain.Maya}.MAYA`,`${B.Chain.Maya}.CACAO`,`${B.Chain.Ethereum}.THOR`,`${B.Chain.Ethereum}.vTHOR`,`${B.Chain.Kujira}.USK`,`${B.Chain.Ethereum}.FLIP`,`${B.Chain.Radix}.XRD`],qA=[B.Chain.Arbitrum,B.Chain.Aurora,B.Chain.Base,B.Chain.Ethereum,B.Chain.Optimism,B.Chain.Robinhood];async function pH(A){let{baseDecimal:H}=B.getChainConfig(B.Chain.Radix);try{let T=await o(B.Chain.Radix),{manager:P}=await G.post(`${T}/state/resource`,{body:JSON.stringify({network:"mainnet",resource_address:A}),headers:{Accept:"*/*","Content-Type":"application/json"}});return P?.divisibility?.value?.divisibility}catch(T){let P=T instanceof Error?T.message:String(T);return console.warn(`Failed to fetch Radix asset decimals for ${A}: ${P}`),H}}async function fH(A){try{let H=await o(B.Chain.Radix);return(await G.post(`${H}/state/entity/details`,{body:JSON.stringify({addresses:[A],opt_ins:{explicit_metadata:["symbol"]}}),headers:{Accept:"*/*","Content-Type":"application/json"}})).items[0]?.explicit_metadata?.items.find((L)=>L.key==="symbol")?.value.typed.value||void 0}catch(H){let T=H instanceof Error?H.message:String(H);return console.warn(`Failed to fetch Radix asset symbol for ${A}: ${T}`),""}}async function vA({chain:A,address:H,methodHex:T,id:P}){let L=await o(A);return G.post(L,{body:JSON.stringify({id:P,jsonrpc:"2.0",method:"eth_call",params:[{data:T,to:H.toLowerCase()},"latest"]}),headers:{accept:"*/*","cache-control":"no-cache","content-type":"application/json"}})}async function oH(A){if(!A||A==="0x")return"UNKNOWN";try{let{AbiCoder:H}=await import("ethers");return H.defaultAbiCoder().decode(["string"],A)[0].trim()}catch(H){return console.warn(`Failed to decode ABI string from ${A}: ${H}`),"UNKNOWN"}}function CH(A,H){if(!A||A==="0x")return H;try{return Number(A)}catch(T){return console.warn(`Failed to decode ABI uint8 from ${A}: ${T}`),H}}async function dH({chain:A,address:H}){let{baseDecimal:T}=B.getChainConfig(A),P=H.toLowerCase();if(H===""||!P.startsWith("0x"))return T;let L=await vA({address:H,chain:A,id:2,methodHex:"0x313ce567"}).catch((R)=>{return console.warn(`Could not fetch decimals for ${H} on ${A}: ${R.message}`),{result:""}});return CH(L.result,T)}async function hH({chain:A,address:H}){let T=H.toLowerCase();if(T===""||!T.startsWith("0x"))return;let P=await vA({address:H,chain:A,id:1,methodHex:"0x95d89b41"}).catch((I)=>{return console.warn(`Could not fetch symbol for ${H} on ${A}: ${I.message}`),{result:""}});return await oH(P.result)}async function jA({rpcUrl:A,contractAddress:H,functionSelector:T}){return(await G.post(`${A}/wallet/triggerconstantcontract`,{body:JSON.stringify({contract_address:H,function_selector:T,owner_address:H,parameter:"",visible:!0}),headers:{accept:"application/json","content-type":"application/json"}}).catch(()=>{return}))?.constant_result?.[0]}function VA(A){let H=A.match(/.{2}/g)?.map((T)=>Number.parseInt(T,16))??[];return new TextDecoder().decode(new Uint8Array(H))}function cH(A){return s.match(A).with(void 0,()=>{return}).when((H)=>H.length>=128,(H)=>{let T=Number.parseInt(H.slice(64,128),16);return VA(H.slice(128,128+T*2))}).when((H)=>H.length===64,(H)=>{let T=H.replace(/0+$/,"");if(T.length>0&&T.length%2===0)return VA(T);return}).otherwise(()=>{return})}function vN({chain:A,address:H}){let{baseDecimal:T}=B.getChainConfig(A),P={decimals:T,ticker:void 0};return s.match(A).with(...B.EVMChains,async()=>{try{let{isAddress:L,getAddress:I}=await import("ethers");if(!L(I(H.replace(/^0X/,"0x"))))return P;let[R,$]=await Promise.all([hH({address:H,chain:A}),dH({address:H,chain:A})]);return{decimals:$,ticker:R}}catch(L){return console.warn(`Failed to fetch token info for ${H} on ${A}: ${L?.code} ${L?.message}`),P}}).with(B.Chain.Solana,async()=>{if(!H)return P;try{let L=await fetch(`https://lite-api.jup.ag/tokens/v2/search?query=${H}`);if(L.ok){let I=await L.json(),R=Array.isArray(I)?I[0]:I;if(R)return{decimals:R.decimals??T,ticker:R.symbol||void 0}}}catch(L){console.warn(`Failed to fetch Solana token info for ${H}: ${L?.code} ${L?.message}`)}return P}).with(B.Chain.Tron,async()=>{if(!H)return P;try{let L=await o(B.Chain.Tron),[I,R]=await Promise.all([jA({contractAddress:H,functionSelector:"symbol()",rpcUrl:L}),jA({contractAddress:H,functionSelector:"decimals()",rpcUrl:L})]),$=cH(I);return{decimals:I!==void 0&&R?Number(BigInt(`0x${R}`)):T,ticker:$}}catch(L){let I=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Tron token info for ${H}: ${I}`),P}}).with(B.Chain.Near,async()=>{if(!H)return P;try{let{JsonRpcProvider:L}=await import("@near-js/providers"),I=await o(B.Chain.Near),$=await new L({url:I}).query({account_id:H,args_base64:Buffer.from("{}").toString("base64"),finality:"final",method_name:"ft_metadata",request_type:"call_function"}),O=JSON.parse(Buffer.from($.result).toString());return{decimals:O?.decimals||T,ticker:O?.symbol}}catch(L){let I=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Near token info for ${H}: ${I}`),P}}).with(B.Chain.Radix,async()=>{if(!H)return P;try{let[L,I]=await Promise.all([fH(H),pH(H)]);return{decimals:I,ticker:L}}catch(L){let I=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Radix token info for ${H}: ${I}`),P}}).otherwise(async()=>P)}function kN({chain:A,symbol:H}){return s.match(A).with(...qA,()=>H==="ETH").with(B.Chain.Avalanche,()=>H==="AVAX").with(B.Chain.Berachain,()=>H==="BERA").with(B.Chain.Hyperevm,()=>H==="HYPE").with(B.Chain.Hype,()=>H==="HYPE").with(B.Chain.Spark,()=>H==="BTC").with(B.Chain.BinanceSmartChain,()=>H==="BNB").with(B.Chain.Gnosis,()=>H==="xDAI"||H==="XDAI").with(B.Chain.Monad,()=>H==="MON").with(B.Chain.XLayer,()=>H==="OKB").with(B.Chain.Maya,()=>H==="CACAO").with(B.Chain.Cosmos,()=>H==="ATOM").with(B.Chain.THORChain,()=>H==="RUNE").with(B.Chain.Tron,()=>H==="TRX").with(B.Chain.Ripple,()=>H==="XRP").with(B.Chain.Radix,()=>`${A}.${H}`===RN(A).identifier).otherwise(()=>H===A)}var RN=(A)=>{let{baseDecimal:H}=B.getChainConfig(A);return s.match(A.toUpperCase()).with(...qA,(P)=>({decimal:H,identifier:`${P}.ETH`})).with(B.Chain.THORChain,(P)=>({decimal:H,identifier:`${P}.RUNE`})).with(B.Chain.Cosmos,(P)=>({decimal:H,identifier:`${P}.ATOM`})).with(B.Chain.Maya,(P)=>({decimal:10,identifier:`${P}.CACAO`})).with(B.Chain.BinanceSmartChain,(P)=>({decimal:H,identifier:`${P}.BNB`})).with(B.Chain.Monad,(P)=>({decimal:H,identifier:`${P}.MON`})).with(B.Chain.Avalanche,(P)=>({decimal:H,identifier:`${P}.AVAX`})).with(B.Chain.Gnosis,(P)=>({decimal:H,identifier:`${P}.xDAI`})).with(B.Chain.XLayer,(P)=>({decimal:H,identifier:`${P}.OKB`})).with(B.Chain.Berachain,(P)=>({decimal:H,identifier:`${P}.BERA`})).with(B.Chain.Hyperevm,(P)=>({decimal:H,identifier:`${P}.HYPE`})).with(B.Chain.Hype,(P)=>({decimal:H,identifier:`${P}.HYPE`})).with(B.Chain.Spark,(P)=>({decimal:H,identifier:`${P}.BTC`})).with(B.Chain.Tron,(P)=>({decimal:H,identifier:`${P}.TRX`})).with(B.Chain.Solana,B.Chain.Chainflip,B.Chain.Kujira,B.Chain.Ripple,B.Chain.Polkadot,B.Chain.Near,...B.UTXOChains,(P)=>({decimal:H,identifier:`${P}.${P}`})).with(B.Chain.Radix,"XRD.XRD",()=>({decimal:H,identifier:"XRD.XRD"})).with(B.Chain.Polygon,"POL.POL",()=>({decimal:H,identifier:"POL.POL"})).with("KUJI.USK",(P)=>({decimal:6,identifier:P})).with("ETH.FLIP",()=>({decimal:B.getChainConfig(B.Chain.Ethereum).baseDecimal,identifier:"ETH.FLIP-0x826180541412D574cf1336d22c0C0a287822678A"})).with("ETH.THOR",()=>({decimal:B.getChainConfig(B.Chain.Ethereum).baseDecimal,identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044"})).with("ETH.vTHOR",()=>({decimal:B.getChainConfig(B.Chain.Ethereum).baseDecimal,identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d"})).with("MAYA.CACAO",(P)=>({decimal:10,identifier:P})).with("MAYA.MAYA",(P)=>({decimal:4,identifier:P})).otherwise(()=>({decimal:H,identifier:A}))};function bN({chain:A,symbol:H}){if(H.includes("/"))return"Synth";if(H.includes("~"))return"Trade";return s.match(A).with(B.Chain.Radix,()=>H===B.Chain.Radix||`${A}.${H}`===RN(A).identifier).with(B.Chain.Arbitrum,B.Chain.Optimism,B.Chain.Base,B.Chain.Aurora,B.Chain.Robinhood,()=>H===B.Chain.Ethereum).with(B.Chain.Cosmos,()=>H==="ATOM").with(B.Chain.BinanceSmartChain,()=>H==="BNB").with(B.Chain.Maya,()=>H==="CACAO").with(B.Chain.Monad,()=>H==="MON").with(B.Chain.THORChain,()=>H==="RUNE").with(B.Chain.Tron,()=>H==="TRX").with(B.Chain.Hyperevm,()=>H==="HYPE").with(B.Chain.Hype,()=>H==="HYPE").with(B.Chain.Spark,()=>H==="BTC").with(B.Chain.XLayer,()=>H==="OKB").otherwise(()=>H===A)?"Native":A}var K=(A)=>{let[H,...T]=A.split("."),P=A.includes("/"),L=T.join("."),I=L?.split("-"),R=I?.length?I.length===1?I[0]:I.slice(0,-1).join("-"):void 0;return{chain:H,symbol:L,synth:P,ticker:R}};function e(A,H){let P=H===B.Chain.Near?A.indexOf("-"):A.lastIndexOf("-");if(P===-1)return{address:void 0,ticker:A};return{address:A.slice(P+1),ticker:A.slice(0,P)}}function lH(A){return`https://storage.googleapis.com/token-list-swapkit-dev/images/${A.toLowerCase()}.png`}async function rH(A){let{loadTokenLists:H}=await Promise.resolve().then(() => (SA(),r)),T=await H(),P=Object.values(T).flatMap((I)=>I.tokens);if("identifier"in A)return P.find((I)=>I.identifier===A.identifier)?.identifier;let L=A.contract.toLowerCase();for(let I of P){let{chain:R,symbol:$}=K(I.identifier);if(R!==A.chain)continue;let{address:O}=e($,R);if(O?.toLowerCase()===L)return I.identifier}return}var eH={};t(eH,{validateTNS:()=>sH,validateIdentifier:()=>KN});var kA=["TERRA",...U.get("chains")];function KN(A=""){let H=A.toUpperCase(),[T]=H.split(".");if(kA.includes(T))return!0;let[P]=H.split("/");if(kA.includes(P))return!0;throw new u({errorKey:"helpers_invalid_identifier",info:{identifier:A,message:`Invalid identifier: ${A}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`}})}function sH(A){if(A.length>30)return!1;let H=/^[a-zA-Z0-9+_-]+$/g;return!!A.match(H)}var HT={};t(HT,{formatBigIntToSafeValue:()=>m,BigIntArithmetics:()=>k});var $N=require("ts-pattern"),a=8,aH=10;function m({value:A,bigIntDecimal:H=a,decimal:T=a}){if(T===0)return A.toString();let P=A<0n,L=A.toString().substring(P?1:0),I=T-(L.length-1);if(I>0)L="0".repeat(I)+L;let R=L.length-T,$=L.slice(-T);if(Number.parseInt($[H]||"0",10)>=5){let g=Number.parseInt($[H-1]||"0",10);$=`${$.substring(0,H-1)}${g+1}`}else $=$.substring(0,H);return`${P?"-":""}${L.slice(0,R)}.${$}`.replace(/\.?0*$/,"")}class k{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(A,H){return new k({decimal:H,value:m({bigIntDecimal:H,decimal:H,value:A})})}static shiftDecimals({value:A,from:H,to:T}){return k.fromBigInt(A.getBaseValue("bigint")*C(T)/C(H),T)}constructor(A){let H=mN(A),T=typeof A==="object";this.decimal=T?A.decimal:void 0,this.decimalMultiplier=T&&"decimalMultiplier"in A?A.decimalMultiplier:C(Math.max(KA(xN(H)),this.decimal||0)),this.#P(H)}set(A){return new this.constructor({decimal:this.decimal,identifier:this.toString?.({includeSynthProtocol:!0}),value:A})}add(...A){return this.#A("add",...A)}sub(...A){return this.#A("sub",...A)}mul(...A){return this.#A("mul",...A)}div(...A){return this.#A("div",...A)}gt(A){return this.#N("gt",A)}gte(A){return this.#N("gte",A)}lt(A){return this.#N("lt",A)}lte(A){return this.#N("lte",A)}eqValue(A){return this.#N("eqValue",A)}getValue(A,H){let T=BN(this.decimalMultiplier),P=H!==void 0?H:this.decimal,L=P!==void 0?P:T;if(P!==void 0&&P<T){if(this.formatBigIntToSafeValue(this.bigIntValue,P)==="0"&&this.bigIntValue!==0n)L=T}let I=this.formatBigIntToSafeValue(this.bigIntValue,L);return $N.match(A).with("number",()=>Number(I)).with("string",()=>I).with("bigint",()=>{return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}).otherwise(()=>I)}getBaseValue(A,H){let T=this.decimalMultiplier/C(H||this.decimal||a),P=AT(this.bigIntValue,T);return $N.match(A).with("number",()=>Number(P)).with("string",()=>P.toString()).otherwise(()=>P)}getBigIntValue(A,H){if(!H&&typeof A==="object")return A.bigIntValue;let T=mN(A),P=xN(T);if(P==="0"||P==="undefined")return 0n;return this.#T(P,H)}toSignificant(A=6){let H=this.getValue("string"),[T="",P=""]=H.split("."),L=Number.parseInt(T,10)>0;if((L?T.length+P.length:P.length)<=A)return H;if(T.length>=A)return T.slice(0,A).padEnd(T.length,"0");if(L)return`${T}.${P.slice(0,A-T.length)}`;let R=P.replace(/^0+/,"")||"0",$=R.slice(0,A),O=P.length-R.length;return`0.${$.padStart(O+$.length,"0")}`}toFixed(A=6){let H=this.getValue("string"),T=H.startsWith("-"),[P="0",L=""]=(T?H.slice(1):H).split("."),I=P==="0"&&Number.parseInt(L.slice(0,A),10)===0,R=T&&!I?"-":"";if(A===0){if(P==="0"&&!L)return"0";return L&&Number.parseInt(L[0]||"0",10)>=5?`${R}${BigInt(P)+1n}.0`:`${R}${P}.0`}if(!L)return`${R}${P}.${"0".repeat(A)}`;let $=L[A];if(!($&&Number.parseInt($,10)>=5))return`${R}${P}.${L.slice(0,A).padEnd(A,"0")}`;let g=BigInt(L.slice(0,A).padEnd(A,"0"))+1n,E=10n**BigInt(A);if(g>=E)return`${R}${BigInt(P)+1n}.${"0".repeat(A)}`;return`${R}${P}.${g.toString().padStart(A,"0")}`}toAbbreviation(A=2){let H=this.getValue("string"),T=Number(H),P=["","K","M","B","T","Q","Qi","S"],L=Math.floor(Math.log10(Math.abs(T))/3);if(L===0||!P[L])return H;return`${(T/10**(L*3)).toFixed(A)}${P[L]}`}toCurrency(A="$",{currencyPosition:H="start",decimal:T=2,decimalSeparator:P=".",thousandSeparator:L=",",trimTrailingZeros:I=!0}={}){let R=this.toFixed(T),$=H==="end",[O="0",g=""]=R.split("."),E=O.replace(/\B(?=(\d{3})+(?!\d))/g,L),_=g&&Number.parseInt(g,10)>0,W=_?`${E}${P}${g}`:E,V=W.length<100&&I&&_?W.replace(/\.?0*$/,""):W;return $?`${V}${A}`:`${A}${V}`}formatBigIntToSafeValue(A,H){let T=H||this.decimal||a,P=Math.max(T,BN(this.decimalMultiplier));return m({bigIntDecimal:T,decimal:P,value:A})}#A(A,...H){let T=this.#H(this,...H),P=BN(this.decimalMultiplier),I=Math.max(T,P)+aH,R=C(I),$=H.reduce((g,E)=>{let _=this.getBigIntValue(E,I);return $N.match(A).with("add",()=>g+_).with("sub",()=>g-_).with("mul",()=>g*_/R).with("div",()=>{if(_===0n)throw RangeError("Division by zero");return g*R/_}).otherwise(()=>g)},this.bigIntValue*R/this.decimalMultiplier),O=m({bigIntDecimal:I,decimal:I,value:$});return new this.constructor({decimal:this.decimal,decimalMultiplier:C(I),identifier:this.toString(),value:O})}#N(A,...H){let T=this.#H(this,...H),P=this.getBigIntValue(H[0]||"0",T),L=this.getBigIntValue(this,T);return $N.match(A).with("gt",()=>L>P).with("gte",()=>L>=P).with("lt",()=>L<P).with("lte",()=>L<=P).with("eqValue",()=>L===P).otherwise(()=>!1)}#P(A){let H=xN(A)||"0";this.bigIntValue=this.#T(H)}#H(...A){let H=A.map((T)=>{return typeof T==="object"?T.decimal||BN(T.decimalMultiplier):KA(xN(T))}).filter(Boolean);return Math.max(...H,a)}#T(A,H){let T=H?C(H):this.decimalMultiplier,P=BN(T),[L="",I=""]=A.split(".");return BigInt(`${L}${I.padEnd(P,"0")}`)}}var NT=Intl.NumberFormat("fullwide",{maximumFractionDigits:20,useGrouping:!1});function xN(A){let T=`${typeof A==="number"?NT.format(A):mN(A)}`.replaceAll(",",".").split(".");return T.length>1?`${T.slice(0,-1).join("")}.${T.at(-1)}`:T[0]||"0"}function KA(A){let H=A.split(".")[1]?.length||0;return Math.max(H,a)}function mN(A){return typeof A==="object"?"getValue"in A?A.getValue("string"):A.value:A}function AT(A,H){if(H===0n)throw Error("Cannot divide by zero");let T=H/2n;return A>=0n&&H>=0n||A<0n&&H<0n?(A+T)/H:(A-T)/H}function C(A){return 10n**BigInt(A)}function BN(A){return Math.log10(Number.parseFloat(A.toString()))}var y=[M.Chain.Hype,M.Chain.Near,M.Chain.Ripple,M.Chain.Solana,M.Chain.Stellar,M.Chain.Sui,M.Chain.Ton,M.Chain.Tron],fN=[M.Chain.THORChain,M.Chain.Maya],NN=new Map,wN=new Map,AN=new Map,TT=3600000;function PT(A){let H=AN.get(A);if(H?.timestamp&&Date.now()-H.timestamp>TT){AN.delete(A);return}return H}function LT(A,H){if(AN.size>1000){let T=AN.keys().next().value;if(T)AN.delete(T)}AN.set(A,{...H,timestamp:Date.now()})}class Q extends k{address;chain;isGasAsset=!1;isSynthetic=!1;isTradeAsset=!1;symbol;tax;ticker;type;chainId;constructor({value:A,decimal:H,tax:T,chain:P,symbol:L,identifier:I}){super(typeof A==="object"?A:{decimal:H,value:A});let R=mA(I||`${P}.${L}`);this.type=bN(R),this.tax=T,this.chain=R.chain,this.ticker=R.ticker,this.symbol=R.symbol,this.address=R.address,this.isSynthetic=R.isSynthetic,this.isTradeAsset=R.isTradeAsset,this.isGasAsset=R.isGasAsset,this.chainId=M.getChainConfig(R.chain).chainId}toString({includeSynthProtocol:A}={}){return(this.isSynthetic||this.isTradeAsset)&&!A?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){if(this.isSynthetic)return`${this.chain}.${this.symbol.replace(/\//g,".")}`;if(this.isTradeAsset)return`${this.chain}.${this.symbol.replace(/~/g,"..")}`;let A=this.symbol.replace(/\./g,"__");return`${this.chain}.${A}`}getIconUrl(){return NN.get(this.toString())?.logoURI}eqAsset({chain:A,symbol:H}){return this.chain===A&&this.symbol===H}eq(A){return this.eqAsset(A)&&this.eqValue(A)}static fromUrl(A,H=0){let T=A.indexOf(".");if(T===-1)throw new u({errorKey:"helpers_invalid_asset_url",info:{urlAsset:A}});let P=A.slice(0,T),L=A.slice(T+1),I=tN.match({chain:P,rest:L}).when(({rest:R})=>R.includes(".."),({chain:R,rest:$})=>`${R}.${$.replace(/\.\./g,"~")}`).when(({chain:R,rest:$})=>fN.includes(R)&&$.includes("."),({chain:R,rest:$})=>`${R}.${$.replace(/\./g,"/")}`).otherwise(({chain:R,rest:$})=>`${R}.${$.replace(/__/g,".")}`);return Q.from({asset:I,value:H})}static from({value:A=0,fromBaseDecimal:H,asyncTokenLookup:T,...P}){let L=A instanceof k?A.getValue("string"):A,I="address"in P&&"chain"in P,R=$T(P);if(R===null&&T&&I){let{chain:FN,address:l}=P;return RT({address:l,chain:FN,fromBaseDecimal:H,parsedValue:L})}let $=I&&!R?`${P.chain}.UNKNOWN-${P.address}`:R,{identifier:O,decimal:g}=RN($),{chain:E,isSynthetic:_,isTradeAsset:W,address:X}=mA(O),{baseDecimal:V}=M.getChainConfig(E),b=NN.get(y.includes(E)?O:O.toUpperCase());if(!b&&T&&!_&&!W)return(async()=>{let{ticker:FN}=K(O),l=await yA({address:X,chain:E,ticker:FN});return pN({decimal:l.decimals,identifier:l.identifier,value:H?HN(BigInt(L),H):L})})();let x=b?.decimal||g;f({condition:!x&&!T,id:`assetValue_static_decimal_not_found_${E}`,warning:`Couldn't find static decimal for one or more tokens on ${E} (Using default ${V} decimal as fallback).
2
2
  This can result in incorrect calculations and mess with amount sent on transactions.
3
3
  You can load static assets by installing @swapkit/tokens package and calling AssetValue.loadStaticAssets()
4
- or by passing asyncTokenLookup: true to the from() function, which will make it async and return a promise.`});let{decimal:LN,identifier:c,tax:X}=b||{decimal:x||V,identifier:O},MN=H?HN(BigInt(L),H):HN(L,LN);return _||W?PT(c,MN):pN({decimal:LN,identifier:c,tax:X,value:MN})}static async loadStaticAssets(A){let{loadTokenLists:H}=await import("@swapkit/tokens"),T=await H(A);for(let{tokens:P}of Object.values(T))for(let L of P){let{identifier:I}=L,{chain:R,symbol:$}=K(I),{address:O}=e($,R),{baseDecimal:g}=M.getChainConfig(R),E=y.includes(R)?I:I.toUpperCase(),_="decimals"in L&&L.decimals!==void 0?L.decimals:g,W="logoURI"in L&&L.logoURI?L.logoURI:`https://storage.googleapis.com/token-list-swapkit-dev/images/${I.toLowerCase()}.png`,n={decimal:_,identifier:I,logoURI:W,tax:"tax"in L?L.tax:void 0};if(NN.set(E,n),O){let V=y.includes(R)?`${R}:${O}`:`${R}:${O.toUpperCase()}`;tN.set(V,I)}}return!0}static setStaticAssets(A){NN.clear(),tN.clear();for(let[H,T]of A.entries()){let{identifier:P}=T,{chain:L,symbol:I}=K(P),{address:R}=e(I,L),{baseDecimal:$}=M.getChainConfig(L),O=T.chain??L,g=T.address??R,E=y.includes(O)?P:P.toUpperCase(),_=T.decimals??T.decimal??$,W=T.logoURI??`https://storage.googleapis.com/token-list-swapkit-dev/images/${P.toLowerCase()}.png`,n={decimal:_,identifier:E,logoURI:W,tax:T.tax};if(NN.set(E,n),g){let V=y.includes(O)?`${O}:${g}`:`${O}:${g.toUpperCase()}`;tN.set(V,P)}}return!0}static get staticAssets(){return NN}}function TT(A){let H=z.from({chain:A});return wN.match(A).with(M.Chain.Bitcoin,M.Chain.Litecoin,M.Chain.BitcoinCash,M.Chain.Dash,()=>H.set(0.00010001)).with(M.Chain.Dogecoin,()=>H.set(1.00000001)).with(M.Chain.Avalanche,M.Chain.Ethereum,M.Chain.Arbitrum,M.Chain.BinanceSmartChain,()=>H.set(0.00000001)).with(M.Chain.THORChain,M.Chain.Maya,()=>H.set(0)).with(M.Chain.Cosmos,M.Chain.Kujira,()=>H.set(0.000001)).otherwise(()=>H.set(0.00000001))}async function yA({chain:A,address:H,ticker:T}){let L=y.includes(A)?`${A}:${H||T}`:`${A}:${H||T}`.toUpperCase(),I=AT(L);if(I)return I;if(!H){let{baseDecimal:O}=M.getChainConfig(A);return{decimals:O,identifier:`${A}.${T||"UNKNOWN"}`}}let R=await vN({address:H,chain:A}),$=`${A}.${R.ticker||T||"UNKNOWN"}-${H}`;return f({condition:!!(!R.ticker&&T),id:`async_token_lookup_failed_${A}_${H}`,warning:`Could not fetch token metadata for ${A}:${H} from chain. Using user-provided ticker (${T}) with baseDecimal (${R.decimals}).`}),R.ticker&&HT(L,{decimals:R.decimals,identifier:$}),{decimals:R.decimals,identifier:$}}function pN({identifier:A,decimal:H,value:T,tax:P}){return KN(A),new z({decimal:H,identifier:A,tax:P,value:HN(T,H)})}function PT(A,H=0){let T=A.includes(".")?A.split(".")?.[0]?.toUpperCase():void 0,P=T?fN.includes(T):!1,L=A.slice(0,14).includes("~")?"~":"/",[I,R]=P?A.split(".").slice(1).join().split(L):A.split(L);if(!(I&&R))throw new u({errorKey:"helpers_invalid_asset_identifier",info:{identifier:A}});return new z({decimal:8,identifier:`${T||M.Chain.THORChain}.${I}${L}${R}`,value:HN(H,8)})}async function LT({address:A,chain:H,fromBaseDecimal:T,parsedValue:P}){let{decimals:L,identifier:I}=await yA({address:A,chain:H}),R=T?HN(BigInt(P),T):P;return pN({decimal:L,identifier:I,value:R})}function HN(A,H){return typeof A==="bigint"?m({bigIntDecimal:H,decimal:H,value:A}):A}function FT(A){let H=wN.match(A).when((T)=>("chain"in T)&&T.chain!==void 0,({chain:T})=>T).otherwise((T)=>{let P=K(T.asset);return P.synth?M.Chain.THORChain:P.chain});if(!M.AllChains.includes(H.toUpperCase())){let T="asset"in A?A.asset:H;throw new u({errorKey:"helpers_invalid_asset_identifier",info:{identifier:T,message:`Unsupported chain "${H}" - use the AssetValue constructor directly`}})}}function IT(A){if(FT(A),"chain"in A){let{chain:L,address:I}=A;if(I){let R=y.includes(L)?`${L}:${I}`:`${L}:${I.toUpperCase()}`,$=tN.get(R);if($)return $;return null}return L}let{chain:H,symbol:T}=K(A.asset);return bN({chain:H,symbol:T})==="Native"?H:A.asset}function RT(A,H,T){let P=A.split("."),L=P[0]?.toUpperCase(),I=fN.includes(L),R=T?"~":"/",[$,O=""]=I?P.slice(1).join(".").split(R):A.split(R);if(!($&&O))throw new u({errorKey:"helpers_invalid_asset_identifier",info:{identifier:A}});let{ticker:g,address:E}=pA({chain:$,symbol:O}),_=`${$}${R}${O}`;return{address:E,chain:L,isGasAsset:!1,isSynthetic:H,isTradeAsset:T,symbol:_,ticker:g}}function BT(A){let H=A.indexOf("."),T=(H===-1?A:A.slice(0,H)).toUpperCase(),P=H===-1?A:A.slice(H+1),{address:L,ticker:I}=pA({chain:T,symbol:P}),R;try{R=L&&M.EVMChains.includes(T)&&yN.getAddress(L)?yN.getAddress(L):L}catch{R=L}let $=R?`${I}-${R}`:P;return{address:R,chain:T,isGasAsset:kN({chain:T,symbol:P}),isSynthetic:!1,isTradeAsset:!1,symbol:$,ticker:I}}function mA(A){let H=A.slice(0,14),T=H.includes("/"),P=H.includes("~");if(T||P)return RT(A,T,P);return BT(A)}function pA({symbol:A,chain:H}){let{ticker:T,address:P}=e(A,H);return{address:P&&!y.includes(H)?P.toLowerCase():P,ticker:T}}var OT={};w(OT,{SwapKitNumber:()=>ON});class ON extends k{eq(A){return this.eqValue(A)}static fromBigInt(A,H){return new ON({decimal:H,value:m({bigIntDecimal:H,decimal:H,value:A})})}}function fA(A=!0){return A?"https://gateway.liquify.com/chain/thorchain_midgard":"https://midgard.mayachain.info"}function GT(A=!0){let H=fA(A);return A?`${H}/v2/thorname`:`${H}/v2/mayaname`}function uT(A){return function(T){let P=T?`?status=${T}`:"";return G.get(`${A}/v2/pools${P}`)}}function MT(A){return function(T){return G.get(`${A}/v2/pool/${T}`)}}function _T(A){return function(T,P){let L=P?`?period=${P}`:"";return G.get(`${A}/v2/pool/${T}/stats${L}`)}}function YT(A){return function(T,P){let L=new URLSearchParams;if(P?.interval)L.append("interval",P.interval);if(P?.count)L.append("count",P.count.toString());if(P?.from)L.append("from",P.from.toString());if(P?.to)L.append("to",P.to.toString());let I=L.toString()?`?${L.toString()}`:"";return G.get(`${A}/v2/history/depths/${T}${I}`)}}function DT(A){return function(){return G.get(`${A}/v2/network`)}}function gT(A){return function(){return G.get(`${A}/v2/health`)}}function UT(A){return function(){return G.get(`${A}/v2/nodes`)}}function nT(A){return function(T){return G.get(`${A}/v2/node/${T}`)}}function XT(A){return function(){return G.get(`${A}/v2/mimir/votes`)}}function ST(A){return function(){return G.get(`${A}/v2/mimir`)}}function ET(A){return function(){return G.get(`${A}/v2/constants`)}}function bT(A){return function(){return G.get(`${A}/v2/stats`)}}function xT(A){return function(T){let P=new URLSearchParams;if(T?.interval)P.append("interval",T.interval);if(T?.count)P.append("count",T.count.toString());if(T?.from)P.append("from",T.from.toString());if(T?.to)P.append("to",T.to.toString());let L=P.toString()?`?${P.toString()}`:"";return G.get(`${A}/v2/history/earnings${L}`)}}function tT(A){return function(T,P){let L=new URLSearchParams;if(P?.interval)L.append("interval",P.interval);if(P?.count)L.append("count",P.count.toString());if(P?.from)L.append("from",P.from.toString());if(P?.to)L.append("to",P.to.toString());let I=L.toString()?`?${L.toString()}`:"",R=T?`/swaps/${T}`:"/swaps";return G.get(`${A}/v2/history${R}${I}`)}}function wT(A){return function(T){let P=new URLSearchParams;if(T?.interval)P.append("interval",T.interval);if(T?.count)P.append("count",T.count.toString());if(T?.from)P.append("from",T.from.toString());if(T?.to)P.append("to",T.to.toString());let L=P.toString()?`?${P.toString()}`:"";return G.get(`${A}/v2/history/tvl${L}`)}}function QT(A){if(!A)return"";let H=new URLSearchParams,T=(P,L)=>{if(L!==void 0)H.append(P,typeof L==="number"?L.toString():L)};return T("address",A.address),T("txid",A.txid),T("asset",A.asset),T("type",A.type),T("affiliate",A.affiliate),T("limit",A.limit),T("offset",A.offset),H.toString()?`?${H.toString()}`:""}function zT(A){return function(T){let P=QT(T);return G.get(`${A}/v2/actions${P}`)}}function JT(A){return function(T){return G.get(`${A}/v2/member/${T}`)}}function ZT(A){return function(T){let P=T?`/${T}`:"";return G.get(`${A}/v2/members${P}`)}}function WT(A){return function(T,P){let L=P?`&asset=${P}`:"";return G.get(`${A}/v2/saver/${T}${L?`?${L.substring(1)}`:""}`)}}function jT(A){return function(T){return G.get(`${A}/v2/savers/${T}`)}}function VT(A){return function(T,P){let L=new URLSearchParams;if(P?.interval)L.append("interval",P.interval);if(P?.count)L.append("count",P.count.toString());if(P?.from)L.append("from",P.from.toString());if(P?.to)L.append("to",P.to.toString());let I=L.toString()?`?${L.toString()}`:"",R=T?`/savers/${T}`:"/savers";return G.get(`${A}/v2/history${R}${I}`)}}function qT(A){return function(T){return G.get(`${A}/v2/balance/${T}`)}}function vT(A){return async function(T){let P=(L)=>{if(L?.cause?.status===404)return;throw L};return await G.get(`${A}/lookup/${T}`,{onError:P,retry:{maxRetries:1}})}}function kT(A){return async function(T){let P=(L)=>{if(L?.cause?.status===404)return[];throw L};return await G.get(`${A}/rlookup/${T}`,{onError:P,retry:{maxRetries:1}})}}function KT(A){return async function(T){let P=(L)=>{if(L?.cause?.status===404)return[];throw L};return await G.get(`${A}/owner/${T}`,{onError:P,retry:{maxRetries:1}})}}function TN({asset:A,value:H}){return z.from({asset:A,fromBaseDecimal:d.getChainConfig(d.Chain.THORChain).baseDecimal,value:H})}function mT({liquidityPositionGetter:A,isThorchain:H}){return async function(P){let L=await A(P),I=H?"rune":"cacao";return L.pools.map((R)=>({[`${I}Pending`]:TN({asset:"THOR.RUNE",value:R.runePending}),[`${I}RegisteredAddress`]:R.runeAddress,[`${I}Withdrawn`]:TN({asset:"THOR.RUNE",value:R.runeWithdrawn}),[I]:TN({asset:"THOR.RUNE",value:R.runeAdded}),asset:TN({asset:R.pool,value:R.assetAdded}),assetPending:TN({asset:R.pool,value:R.assetPending}),assetRegisteredAddress:R.assetAddress,assetWithdrawn:TN({asset:R.pool,value:R.assetWithdrawn}),dateFirstAdded:R.dateFirstAdded,dateLastAdded:R.dateLastAdded,poolShare:new ON(R.liquidityUnits).div(R.pool)}))}}function oA(A){let H=A===d.Chain.THORChain,T=fA(H),P=GT(H),L=JT(T);return{getActions:zT(T),getBalance:qT(T),getConstants:ET(T),getEarningsHistory:xT(T),getHealth:gT(T),getLiquidityPosition:mT({isThorchain:H,liquidityPositionGetter:L}),getLiquidityPositionRaw:L,getMembers:ZT(T),getMimir:ST(T),getMimirVotes:XT(T),getNameDetails:vT(P),getNamesByAddress:kT(P),getNamesByOwner:KT(P),getNetworkInfo:DT(T),getNode:nT(T),getNodes:UT(T),getPool:MT(T),getPoolDepthHistory:YT(T),getPoolStats:_T(T),getPools:uT(T),getSaverDetails:WT(T),getSavers:jT(T),getSaversHistory:VT(T),getStats:bT(T),getSwapHistory:tT(T),getTVLHistory:wT(T)}}var CA=oA(d.Chain.THORChain),dA=oA(d.Chain.Maya);var MA={};w(MA,{getTrackerDetails:()=>EP,getTokenListProviders:()=>QP,getTokenList:()=>zP,getTokenApproval:()=>wP,getSwapTo:()=>KP,getSwapQuote:()=>bP,getRouteWithTx:()=>xP,getPrice:()=>JP,getNearDepositChannel:()=>jP,getGasRate:()=>ZP,getChainflipDepositChannel:()=>WP,getChainBalance:()=>tP,SKRequestClient:()=>Z});var JN=require("@swapkit/types"),p=require("ts-pattern");var yT={};w(yT,{signWidgetRequest:()=>oN});async function oN(A,H,T,P){let L=`${H}:${T}:${P}`,I=new TextEncoder,R=await crypto.subtle.importKey("raw",I.encode(A),{hash:"SHA-256",name:"HMAC"},!1,["sign"]),$=await crypto.subtle.sign("HMAC",R,I.encode(L));return Array.from(new Uint8Array($)).map((O)=>O.toString(16).padStart(2,"0")).join("")}var q=require("@swapkit/types"),N=require("zod");var dN;((P)=>{P.CHEAPEST="CHEAPEST";P.FASTEST="FASTEST";P.RECOMMENDED="RECOMMENDED"})(dN||={});var GN;(($)=>{$.PSBT="PSBT";$.EVM="EVM";$.COSMOS="COSMOS";$.RADIX="RADIX";$.NEAR="NEAR";$.TON="TON";$.TRON="TRON"})(GN||={});var hN;((x)=>{x.approve="approve";x.claim="claim";x.deposit="deposit";x.donate="donate";x.lending="lending";x.lp_action="lp_action";x.native_contract_call="native_contract_call";x.native_send="native_send";x.stake="stake";x.streaming_swap="streaming_swap";x.swap="swap";x.thorname_action="thorname_action";x.token_contract_call="token_contract_call";x.token_transfer="token_transfer";x.unknown="unknown";x.unstake="unstake"})(hN||={});var cN;((n)=>{n.swap="swap";n.aggregation="aggregation";n.addLiquidity="addLiquidity";n.withdrawLiquidity="withdrawLiquidity";n.addSavers="addSavers";n.withdrawSavers="withdrawSavers";n.borrow="borrow";n.repay="repay";n.name="name";n.donate="donate";n.claim="claim";n.stake="stake";n.unstake="unstake"})(cN||={});var lN;(($)=>{$.unknown="unknown";$.not_started="not_started";$.pending="pending";$.swapping="swapping";$.completed="completed";$.refunded="refunded";$.failed="failed"})(lN||={});var rN;((b)=>{b.not_started="not_started";b.starting="starting";b.broadcasted="broadcasted";b.mempool="mempool";b.inbound="inbound";b.outbound="outbound";b.swapping="swapping";b.completed="completed";b.refunded="refunded";b.partially_refunded="partially_refunded";b.dropped="dropped";b.reverted="reverted";b.replaced="replaced";b.retries_exceeded="retries_exceeded";b.parsing_error="parsing_error"})(rN||={});var pT=N.object({address:N.optional(N.string()),chain:N.z.enum(q.Chain).optional(),chainId:N.z.enum(q.ChainId),coingeckoId:N.optional(N.string()),decimals:N.coerce.number(),extensions:N.optional(N.z.looseObject({})),identifier:N.string(),logoURI:N.optional(N.string()),name:N.optional(N.string()),shortCode:N.optional(N.string()),symbol:N.optional(N.string()),ticker:N.string()}),fT=N.z.object({block:N.z.optional(N.z.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:N.z.optional(N.z.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:N.z.optional(N.z.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:N.z.optional(N.z.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((A)=>A.hash&&A.chainId||A.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),oT=N.z.object({forceUpdate:N.z.string().toLowerCase().transform((A)=>A==="true").pipe(N.z.boolean()).optional()}),CT=N.object({error:N.string(),message:N.string()}),h=N.object({address:N.optional(N.string()),chain:N.z.enum(q.Chain),decimal:N.optional(N.number()),isGasAsset:N.boolean(),isSynthetic:N.boolean(),symbol:N.string(),tax:N.optional(N.object({buy:N.number(),sell:N.number()})),ticker:N.string()}),iN=N.object({id:N.string(),market_cap:N.number(),name:N.string(),price_change_24h_usd:N.number(),price_change_percentage_24h_usd:N.number(),sparkline_in_7d:N.array(N.number()),timestamp:N.string(),total_volume:N.number()}).partial(),dT=N.object({cg:N.optional(iN),identifier:N.string(),price_usd:N.number(),provider:N.string(),timestamp:N.number()}),sN=N.array(N.object({cg:N.optional(iN),identifier:N.string(),price_usd:N.number(),provider:N.string(),timestamp:N.number()}).partial()),hT=N.object({affiliate:N.optional(N.string().describe("Affiliate thorname")),affiliateFee:N.optional(N.number().describe("Affiliate fee in basis points").refine((A)=>A===Math.floor(A)&&A>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:N.optional(N.boolean().describe("Allow smart contract as recipient")),allowSmartContractSender:N.optional(N.boolean().describe("Allow smart contract as sender")),buyAsset:N.string().describe("Asset to buy"),cfBoost:N.optional(N.boolean().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:N.optional(N.string().describe("Address to send asset to")),disableSecurityChecks:N.optional(N.boolean().describe("Disable security checks")),includeTx:N.optional(N.boolean().describe("Set to true to include an transaction object (EVM only)")),providers:N.optional(N.array(N.string().describe("List of providers to use").refine((A)=>t[A]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:N.optional(N.string().describe("Referrer address (referral program)")),sellAmount:N.string().describe("Amount of asset to sell").refine((A)=>+A>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:N.string().describe("Asset to sell"),slippage:N.optional(N.number().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:N.optional(N.string().describe("Address to send asset from"))}).refine((A)=>A.sellAsset!==A.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),cT=N.object({metadata:N.boolean(),tokens:N.array(N.object({identifier:N.string()}))}),eN=N.object({destinationAddress:N.string()}),lA=eN.extend({affiliateFees:N.array(N.object({brokerAddress:N.string(),feeBps:N.number()})).optional(),brokerCommissionBps:N.number().optional(),buyAsset:N.object({asset:N.string(),chain:N.string()}),channelMetadata:N.object({cfParameters:N.string().optional(),gasBudget:N.string().optional(),message:N.string().optional()}).optional(),dcaParameters:N.object({chunkInterval:N.number().optional(),numberOfChunks:N.number().optional()}).optional(),maxBoostFeeBps:N.number().optional(),refundParameters:N.object({minPrice:N.string().optional(),refundAddress:N.string().optional(),retryDuration:N.number().optional()}).optional(),sellAsset:N.object({asset:N.string(),chain:N.string()})}),aN=N.object({channelId:N.string(),depositAddress:N.string()}),CN=eN.extend({affiliateFees:N.object({feeBps:N.number(),nearId:N.string()}).optional(),buyAsset:N.string(),sellAmount:N.string(),sellAsset:N.string(),slippage:N.coerce.number(),sourceAddress:N.string()}),hA=N.object({amountIn:N.string(),amountInFormatted:N.string(),amountInUsd:N.string(),amountOut:N.string(),amountOutFormatted:N.string(),amountOutUsd:N.string(),deadline:N.string().optional(),minAmountIn:N.string(),minAmountOut:N.string(),timeEstimate:N.number().optional(),timeWhenInactive:N.string().optional()}),lT=hA.extend({depositAddress:N.string(),quote:hA,signature:N.string(),timestamp:N.string(),tx:N.unknown()}),NA=N.object({buyAsset:N.string(),buyAssetAmount:N.string(),buyAssetAmountMaxSlippage:N.string(),deadline:N.string().optional(),depositAddress:N.string(),depositAmount:N.string(),depositAsset:N.string(),tx:N.unknown()}),rT=N.object({evmCalldata:N.z.optional(N.z.string()),intentHash:N.z.optional(N.z.string()),logs:N.z.optional(N.z.unknown()),manifest:N.z.optional(N.z.unknown()),memo:N.z.optional(N.z.string()),spender:N.z.optional(N.z.string()),thorname:N.z.optional(N.z.string())}),iT=N.object({currentStage:N.string(),inboundConfirmation:N.number(),inboundObservation:N.number(),outboundDelay:N.number(),outboundObservation:N.number(),streamingSwap:N.number()}),sT=N.object({count:N.optional(N.number()),interval:N.optional(N.number()),quantity:N.optional(N.number()),subSwapsMap:N.optional(N.array(N.number()))}),eT=N.z.object({currentLegIndex:N.z.optional(N.z.number()),estimatedTimeToComplete:N.z.number(),estimates:N.z.optional(iT),providerDetails:N.z.optional(N.z.object({streamingDetails:N.z.optional(sT)}))}),aT=N.object({affiliate:N.optional(h),liquidity:N.optional(h),network:N.optional(h),protocol:N.optional(h),tax:N.optional(h)}),NP=N.object({affiliate:N.string(),bps:N.string(),isReferrer:N.boolean()}),AP=N.object({affiliate:N.optional(N.string()),affiliateFees:N.optional(N.array(NP)),broadcastedAt:N.optional(N.number()),explorerUrl:N.optional(N.string()),fees:N.optional(aT),images:N.optional(N.object({chain:N.optional(N.string()),from:N.optional(N.string()),provider:N.optional(N.string()),to:N.optional(N.string())})),provider:N.optional(N.z.enum(t)),providerAction:N.z.optional(N.z.enum(cN)),quoteId:N.optional(N.string()),wallet:N.optional(N.string())}),PN=N.z.object({block:N.z.number(),chainId:N.z.enum(q.ChainId),finalAddress:N.z.optional(N.z.string()),finalAsset:N.z.optional(h),finalisedAt:N.z.number(),fromAddress:N.z.string(),fromAmount:N.z.string(),fromAsset:N.z.string(),hash:N.z.string(),meta:N.z.optional(AP),payload:N.z.optional(rT),status:N.z.enum(lN),toAddress:N.z.string(),toAmount:N.z.string(),toAsset:N.z.string(),trackingStatus:N.z.optional(N.z.enum(rN)),transient:N.z.optional(eT),type:N.z.enum(hN)}),AA=PN.extend({legs:N.z.array(PN)}),HP=PN.extend({legs:N.array(PN)}),TP=PN.extend({legs:N.array(PN)}),QN=N.array(N.object({amount:N.string(),asset:N.string(),chain:N.string(),protocol:N.z.enum(t),type:N.z.enum(UN)})),zN=N.z.object({inbound:N.z.optional(N.z.number().describe("Time to receive inbound asset in seconds")),outbound:N.z.optional(N.z.number().describe("Time to receive outbound asset in seconds")),swap:N.z.optional(N.z.number().describe("Time to swap assets in seconds")),total:N.z.number().describe("Total time in seconds")}),PP=/^(?:0x[0-9a-fA-F]+|[0-9]+)$/;function rA(A){return A===""||PP.test(A)}function LP(A){return A?BigInt(A):0n}function FP(A){let H=typeof A==="bigint"?A:BigInt(A);return H>0n?`0x${H.toString(16)}`:"0x0"}var uN=N.string().refine(rA,{message:"Value must be a base-10 integer string or 0x-prefixed hex integer string"}).describe("Value to send in base units as a base-10 integer string or 0x-prefixed hex integer string"),HA=N.object({data:N.string().describe("Data to send"),from:N.string().describe("Address of the sender"),to:N.string().describe("Address of the recipient"),value:uN}),TA=N.z.object({data:N.z.string().optional(),raw_data:N.z.object({contract:N.z.any(),data:N.z.string().optional(),expiration:N.z.number(),fee_limit:N.z.number().optional(),ref_block_bytes:N.z.string(),ref_block_hash:N.z.string(),timestamp:N.z.number()}).passthrough(),raw_data_hex:N.z.string(),txID:N.z.string(),value:uN.optional(),visible:N.z.boolean()}),iA=N.array(N.union([N.string(),N.number(),N.array(N.string()),N.object({from:N.string(),value:uN}).describe("Parameters to pass to the contract method")])),IP=N.object({approvalSpender:N.optional(N.string().describe("Address of the spender to approve")),approvalToken:N.optional(N.string().describe("Address of the token to approve spending of")),contractAddress:N.string().describe("Address of the contract to interact with"),contractMethod:N.string().describe("Name of the method to call"),contractParamNames:N.array(N.string().describe("Names of the parameters to pass to the contract method")),contractParams:iA}),RP=N.object({typeUrl:N.string("/types.MsgDeposit"),value:N.object({coins:N.array(N.object({amount:N.string(),asset:N.object({chain:N.string(),symbol:N.string(),synth:N.boolean(),ticker:N.string()})})),memo:N.string(),signer:N.string()})}),BP=N.object({typeUrl:N.string("/types.MsgSend"),value:N.object({amount:N.array(N.object({amount:N.string(),denom:N.string()})),fromAddress:N.string(),toAddress:N.string()})}),$P=N.object({typeUrl:N.string(),value:BP.shape.value.or(RP.shape.value)}),OP=N.object({amount:N.array(N.object({amount:N.string(),denom:N.string()})),gas:N.string()}),PA=N.object({accountNumber:N.number(),chainId:N.z.enum(q.ChainId),fee:OP,memo:N.string(),msgs:N.array($P),sequence:N.number()}),sA=N.z.array(N.z.object({calldata:N.z.array(N.z.string()),contractAddress:N.z.string(),entrypoint:N.z.string()})),eA=N.z.object({address:N.z.string().describe("Destination address in friendly format"),amount:N.z.string().describe("Amount in nanotons"),payload:N.z.string().optional().describe("Base64 BOC of body cell"),stateInit:N.z.string().optional().describe("Base64 BOC of state init")}),LA=N.z.object({messages:N.z.array(eA),sendMode:N.z.number().describe("TON wallet send mode for the whole transfer")}),aA=N.object({affiliate:N.string().describe("Affiliate address").optional(),affiliateFee:N.number().describe("Affiliate fee").optional(),buyAsset:N.string().describe("Asset to buy"),destinationAddress:N.string().describe("Destination address"),estimatedTime:zN.optional(),provider:N.z.enum(t),sellAsset:N.string().describe("Asset to sell"),slipPercentage:N.number().describe("Slippage as a percentage"),sourceAddress:N.string().describe("Source address")}),GP=aA.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),NH=N.object({asset:N.string().describe("Asset name"),image:N.string().describe("Asset image"),price:N.number().describe("Price in USD")}),AH=lA,FA=N.object({assets:N.optional(N.array(NH)),maxStreamingQuantity:N.number().optional(),referrer:N.string().optional(),streamingInterval:N.number().optional(),tags:N.array(N.z.enum(dN))}),IA=FA.extend({affiliate:N.optional(N.string()),affiliateFee:N.optional(N.string()),approvalAddress:N.optional(N.string().describe("Approval address for swap")),chainflip:AH.optional(),garden:CN.optional(),near:CN.optional(),priceImpact:N.optional(N.number().describe("Price impact")),referrer:N.optional(N.string()),txType:N.optional(N.z.enum(GN))}),RA=N.array(N.object({code:N.z.enum(gN),display:N.string(),tooltip:N.string().optional()})),uP=N.object({buyAmount:N.string().describe("Buy amount"),buyAmountMaxSlippage:N.string().describe("Buy amount max slippage"),buyAsset:N.string().describe("Asset to buy"),fees:N.optional(QN),provider:N.z.enum(t),sellAmount:N.string().describe("Sell amount"),sellAsset:N.string().describe("Asset to sell")}),HH=N.object({buyAsset:N.string().describe("Asset to buy"),destinationAddress:N.optional(N.string().describe("Destination address")),estimatedTime:N.optional(zN),expectedBuyAmount:N.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:N.string().describe("Expected Buy amount max slippage"),expiration:N.optional(N.string().describe("Expiration")),fees:QN,inboundAddress:N.optional(N.string().describe("Inbound address")),legs:N.array(uP),memo:N.optional(N.string().describe("Memo")),meta:IA,providers:N.array(N.z.enum(t)),routeId:N.string().describe("Route ID"),sellAmount:N.string().describe("Sell amount"),sellAsset:N.string().describe("Asset to sell"),sourceAddress:N.optional(N.string().describe("Source address")),targetAddress:N.optional(N.string().describe("Target address")),totalSlippageBps:N.number().describe("Total slippage in bps"),tx:N.optional(N.union([HA,PA,TA,sA,LA,N.string()])),txType:N.optional(N.z.enum(GN)),warnings:RA}),BA=N.object({error:N.optional(N.string().describe("Error message")),providerErrors:N.optional(N.array(N.object({errorCode:N.optional(N.z.enum(i)),message:N.optional(N.string()),provider:N.z.enum(t).optional()}))),quoteId:N.string().describe("Quote ID"),routes:N.array(HH)}),$A=N.z.object({chainId:N.z.enum(q.ChainId),createdAt:N.z.date(),id:N.z.number(),unit:N.z.string(),value:N.z.string()}),MP=N.z.array($A),OA=N.z.union([$A,MP]),jL=N.array(N.object({chain:N.z.enum(q.Chain),decimal:N.number(),identifier:N.string(),symbol:N.string(),ticker:N.string(),value:N.string()})),_P=N.z.union([N.z.object({amount:N.z.string(),spender:N.z.string(),tokenIdentifier:N.z.string(),userWalletAddress:N.z.string()}),N.z.object({amount:N.z.string(),chainId:N.z.enum(q.ChainId),spender:N.z.string(),tokenContractAddress:N.z.string(),userWalletAddress:N.z.string()}),N.z.object({routeId:N.z.string()})]),YP=N.z.object({approvalTransaction:N.z.optional(N.z.object({data:N.z.string(),from:N.z.string(),gasLimit:N.z.optional(N.z.string()),gasPrice:N.z.optional(N.z.string()),to:N.z.string(),value:uN})),approvedAmount:N.z.string(),isApproved:N.z.boolean()}),TH=N.z.object({data:N.z.string().describe("Encoded approval call data"),from:N.z.string().describe("User wallet address"),gasLimit:N.z.string().optional().describe("Estimated gas limit"),gasPrice:N.z.string().optional().describe("Current gas price"),to:N.z.string().describe("Token contract address"),value:uN.describe("ETH value (always '0' for approvals)")}),cA=N.z.object({buyAmount:N.z.string().describe("Buy amount").optional(),buyAmountMaxSlippage:N.z.string().describe("Buy amount max slippage").optional(),buyAsset:N.z.string().describe("Asset to buy"),expectedBuyAmount:N.z.string().describe("Expected Buy amount").optional(),expectedBuyAmountMaxSlippage:N.z.string().describe("Expected Buy amount max slippage").optional(),fees:QN,provider:N.z.enum(t),sellAmount:N.z.string().describe("Sell amount"),sellAsset:N.z.string().describe("Asset to sell")}),PH=cA.extend({estimatedTime:N.z.optional(zN),expiration:N.z.optional(N.z.string().describe("Expiration")),legs:N.z.array(cA),providers:N.z.array(N.z.enum(t)),routeId:N.z.string().describe("Route ID"),totalSlippageBps:N.z.number().describe("Total slippage in bps"),warnings:RA}).omit({provider:!0}),DP=N.z.object({method:N.z.string(),payload:N.z.optional(N.z.unknown()),url:N.z.string()}),gP=PH.extend({meta:FA,nextActions:N.z.optional(N.z.array(DP))}),UP=N.z.object({error:N.z.optional(N.z.string().describe("Error message")),providerErrors:N.z.optional(N.z.array(N.z.object({errorCode:N.z.optional(N.z.enum(i)),message:N.z.optional(N.z.string()),provider:N.z.enum(t).optional()}))),quoteId:N.z.string().describe("Quote ID"),routes:N.z.array(gP)}),nP=N.z.object({providers:N.z.array(N.z.enum(t)).optional().describe("Optional list of providers to query for trading pairs"),sellAsset:N.z.string().describe("Asset identifier to sell (e.g., 'BTC.BTC' or 'ETH.ETH')")}),LH=N.z.object({chain:N.z.enum(q.Chain).describe("Chain the asset is on"),identifier:N.z.string().describe("Asset identifier (e.g., 'ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48')"),providers:N.z.array(N.z.enum(t)).describe("Providers that support this trading pair"),symbol:N.z.string().describe("Asset symbol"),ticker:N.z.string().describe("Asset ticker")}),XP=N.z.object({buyAssets:N.z.array(LH).describe("List of assets that can be swapped to"),sellAsset:N.z.string().describe("The input sell asset identifier")}),GA=PH.extend({destinationAddress:N.z.string().describe("Destination address"),inboundAddress:N.z.optional(N.z.string().describe("Inbound address")),memo:N.z.optional(N.z.string().describe("Memo to include in the transaction")),meta:IA,sourceAddress:N.z.string().describe("Source address"),targetAddress:N.z.optional(N.z.string().describe("Target address")),tx:N.optional(N.union([HA,PA,TA,LA,N.string()])),txType:N.z.optional(N.z.enum(GN))}),FH=N.z.object({data:N.z.optional(N.z.record(N.z.string(),N.z.string().optional())),errorCode:N.z.enum(i),message:N.z.string().optional(),provider:N.z.enum(t).optional()}),SP=N.z.object({error:N.z.optional(N.z.string().describe("Error message")),providerErrors:N.z.optional(N.z.array(FH)),quoteId:N.z.string().describe("Quote ID"),routes:N.z.array(GA)}),uA=GA.extend({approvalTx:TH.optional().describe("Optional approval transaction if ERC-20 approval is required before swap"),swapId:N.z.string().describe("The unique swap ID for tracking")});var Z=G.extend({dynamicHeader:async()=>{let A=U.get("widgetId"),H=U.get("widgetKey");if(A&&H&&typeof window<"u"){let P=Math.floor(Date.now()/1000),L=window.location.origin,I=await oN(H,A,L,P);return{Origin:L,"X-Signature":I,"X-Timestamp":P.toString(),"x-widget-id":A}}let{swapKit:T}=U.get("apiKeys");return T?{"x-api-key":T}:{}}});async function EP(A){let H=await Z.post(J("/track"),{json:A});try{let T=AA.safeParse(H);if(!T.success)throw new u("api_v2_invalid_response",T.error);return T.data}catch(T){return H}}async function bP(A){let{getQuote:H}=U.get("endpoints");if(H)return H(A);let P=U.get("v3SwapFlow")?.enabled?"/v3/quote":"/quote",L=await Z.post(J(P),{json:A});if(L.error)throw new u("api_v2_server_error",{message:L.error});try{let I=BA.safeParse(L);if(!I.success)throw new u("api_v2_invalid_response",I.error);return I.data}catch{return L}}async function xP(A){let{getRouteWithTx:H}=U.get("endpoints");if(H)return H(A);let P=U.get("v3SwapFlow")?.enabled?"/v3/swap":"/swap",L=await Z.post(J(P),{json:A});try{let I=uA.safeParse(L);if(!I.success)throw new u("api_v2_invalid_response",I.error);return I.data}catch(I){return console.error(new u("api_v2_invalid_response",I)),L}}async function tP({chain:A,address:H,scamFilter:T=!0}){let{getBalance:P}=U.get("endpoints");if(P)return P({address:H,chain:A});let L=J(`/balance?chain=${A}&address=${H}`),I=await Z.get(L),R=Array.isArray(I)?I:[];return T?kP(R):R}function wP(A){let H=p.match(A).with({routeId:p.P.string,spender:p.P.string},({routeId:T,spender:P})=>J(`/approve?routeId=${T}&sourceAddress=${P}`)).with({assetValue:p.P.instanceOf(z),spender:p.P.string,userWallet:p.P.string},({spender:T,userWallet:P,assetValue:L})=>J(`/approve?tokenIdentifier=${L.toString()}&userWalletAddress=${P}&spender=${T}&amount=${L.getValue("string")}`)).exhaustive();return Z.get(H)}function QP(){let A=J("/providers");return Z.get(A)}function zP(A){let H=J(`/tokens?provider=${A}`);return Z.get(H)}async function JP(A){let H=J("/price"),T=await Z.post(H,{json:A});try{let P=sN.safeParse(T);if(!P.success)throw new u("api_v2_invalid_response",P.error);return P.data}catch(P){throw new u("api_v2_invalid_response",P)}}async function ZP(){let A=J("/gas"),H=await Z.get(A);try{let T=OA.safeParse(H);if(!T.success)throw new u("api_v2_invalid_response",T.error);return Array.isArray(T)?T:[T]}catch(T){throw new u("api_v2_invalid_response",T)}}async function WP(A){let{destinationAddress:H}=A;if(!H)throw new u("chainflip_broker_invalid_params");let T=U.get("integrations").chainflip?.brokerUrl||J("/chainflip/broker/channel"),P=await Z.post(T,{json:A});try{let L=aN.safeParse(P);if(!L.success)throw new u("api_v2_invalid_response",L.error);return L.data}catch(L){throw new u("api_v2_invalid_response",L)}}async function jP(A){let{destinationAddress:H}=A;if(!H)throw new u("chainflip_broker_invalid_params");let T=J("/near/channel"),P=await Z.post(T,{json:A});try{let L=NA.safeParse(P);if(!L.success)throw new u("api_v2_invalid_response",L.error);return L.data}catch(L){throw new u("api_v2_invalid_response",L)}}function J(A){let{isDev:H,apiUrl:T,devApiUrl:P}=U.get("envs"),{enabled:L,quoteUrl:I,swapUrl:R}=U.get("localMode");if(L&&A){let[O]=A.split("?");if(O==="/quote"||O==="/v3/quote")return`${I}${A}`;if(O==="/swap"||O==="/v3/swap")return`${R}${A}`}return`${H?P:T}${A}`}function VP(A){try{return z.from({asset:A.identifier})}catch{return}}var qP=new Set(["OP.OP"]),vP=/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/im;function kP(A){return A.filter((H)=>{let T=VP(H);if(!T)return!1;if(qP.has(T.toString().toUpperCase()))return!0;return(!JN.EVMChains.includes(T.chain)||T.isGasAsset||!!T.address)&&!vP.test(T.ticker)})}async function KP(A){let{getSwapTo:H}=U.get("endpoints");if(H)return H(A);let T=new URLSearchParams({sellAsset:A.sellAsset});if(A.providers?.length)for(let R of A.providers)T.append("providers",R);let P=J(`/swapTo?${T.toString()}`),L=await Z.get(P);if(!Array.isArray(L))return{buyAssets:[],sellAsset:A.sellAsset};let I=[];for(let R of L)try{let $=z.from({asset:R});I.push({chain:$.chain,identifier:$.toString(),providers:[],symbol:$.symbol,ticker:$.ticker})}catch{}return{buyAssets:I,sellAsset:A.sellAsset}}var _A={};w(_A,{getThorchainQueue:()=>pP,getTcyStakers:()=>rP,getTcyStaker:()=>lP,getTcyClaimers:()=>sP,getTcyClaimer:()=>iP,getTNSPreferredAsset:()=>dP,getTHORNodeTNSDetails:()=>RH,getRunePoolProviderInfo:()=>cP,getRunePoolInfo:()=>hP,getNodes:()=>fP,getMimirInfo:()=>oP,getLastBlock:()=>yP,getInboundAddresses:()=>CP});var IH=require("ts-pattern");function j(A){let{isStagenet:H}=U.get("envs"),T=U.get("thornodeUrls");return`${IH.match({isStagenet:H,type:A}).with({type:"mayachain"},({isStagenet:L})=>L?T.MAYA_STAGENET:T.MAYA).otherwise(({isStagenet:L})=>L?T.THOR_STAGENET:T.THOR)}/${A??"thorchain"}`}function mP(A){let H=A==="mayachain"?"mayaname":"thorname";return`${j(A)}/${H}`}function yP(A="thorchain"){return G.get(`${j(A)}/lastblock`)}function pP(A){return G.get(`${j(A)}/queue`)}function fP(A){return G.get(`${j(A)}/nodes`)}function oP(A){return G.get(`${j(A)}/mimir`)}function CP(A){return G.get(`${j(A)}/inbound_addresses`)}async function RH({type:A,name:H}){try{return await G.get(`${mP(A)}/${H}`)}catch{return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:H,owner:"",preferred_asset:""}}}async function dP({type:A,tns:H}){let T=await RH({name:H,type:A});if(!T.preferred_asset||T.preferred_asset===".")return;return z.from({asset:T.preferred_asset,asyncTokenLookup:!0})}function hP(A){return G.get(`${j(A)}/runepool`)}function cP({type:A,thorAddress:H}){return G.get(`${j(A)}/rune_provider/${H}`)}function lP({type:A,address:H}){return G.get(`${j(A)}/tcy_staker/${H}`)}function rP(A){return G.get(`${j(A)}/tcy_stakers`)}function iP({type:A,address:H}){return G.get(`${j(A)}/tcy_claimer/${H}`)}function sP(A){return G.get(`${j(A)}/tcy_claimers`)}var eP={...MA,mayachainMidgard:dA,thorchainMidgard:CA,thornode:_A};
4
+ or by passing asyncTokenLookup: true to the from() function, which will make it async and return a promise.`});let{decimal:LN,identifier:c,tax:n}=b||{decimal:x||V,identifier:O},MN=H?HN(BigInt(L),H):HN(L,LN);return _||W?IT(c,MN):pN({decimal:LN,identifier:c,tax:n,value:MN})}static async loadStaticAssets(A){let{loadTokenLists:H}=await import("@swapkit/tokens"),T=await H(A);for(let{tokens:P}of Object.values(T))for(let L of P){let{identifier:I}=L,{chain:R,symbol:$}=K(I),{address:O}=e($,R),{baseDecimal:g}=M.getChainConfig(R),E=y.includes(R)?I:I.toUpperCase(),_="decimals"in L&&L.decimals!==void 0?L.decimals:g,W="logoURI"in L&&L.logoURI?L.logoURI:`https://storage.googleapis.com/token-list-swapkit-dev/images/${I.toLowerCase()}.png`,X={decimal:_,identifier:I,logoURI:W,tax:"tax"in L?L.tax:void 0};if(NN.set(E,X),O){let V=y.includes(R)?`${R}:${O}`:`${R}:${O.toUpperCase()}`;wN.set(V,I)}}return!0}static setStaticAssets(A){NN.clear(),wN.clear();for(let[H,T]of A.entries()){let{identifier:P}=T,{chain:L,symbol:I}=K(P),{address:R}=e(I,L),{baseDecimal:$}=M.getChainConfig(L),O=T.chain??L,g=T.address??R,E=y.includes(O)?P:P.toUpperCase(),_=T.decimals??T.decimal??$,W=T.logoURI??`https://storage.googleapis.com/token-list-swapkit-dev/images/${P.toLowerCase()}.png`,X={decimal:_,identifier:E,logoURI:W,tax:T.tax};if(NN.set(E,X),g){let V=y.includes(O)?`${O}:${g}`:`${O}:${g.toUpperCase()}`;wN.set(V,P)}}return!0}static get staticAssets(){return NN}}function FT(A){let H=Q.from({chain:A});return tN.match(A).with(M.Chain.Bitcoin,M.Chain.Litecoin,M.Chain.BitcoinCash,M.Chain.Dash,()=>H.set(0.00010001)).with(M.Chain.Dogecoin,()=>H.set(1.00000001)).with(M.Chain.Avalanche,M.Chain.Ethereum,M.Chain.Arbitrum,M.Chain.BinanceSmartChain,()=>H.set(0.00000001)).with(M.Chain.THORChain,M.Chain.Maya,()=>H.set(0)).with(M.Chain.Cosmos,M.Chain.Kujira,()=>H.set(0.000001)).otherwise(()=>H.set(0.00000001))}async function yA({chain:A,address:H,ticker:T}){let L=y.includes(A)?`${A}:${H||T}`:`${A}:${H||T}`.toUpperCase(),I=PT(L);if(I)return I;if(!H){let{baseDecimal:O}=M.getChainConfig(A);return{decimals:O,identifier:`${A}.${T||"UNKNOWN"}`}}let R=await vN({address:H,chain:A}),$=`${A}.${R.ticker||T||"UNKNOWN"}-${H}`;return f({condition:!!(!R.ticker&&T),id:`async_token_lookup_failed_${A}_${H}`,warning:`Could not fetch token metadata for ${A}:${H} from chain. Using user-provided ticker (${T}) with baseDecimal (${R.decimals}).`}),R.ticker&&LT(L,{decimals:R.decimals,identifier:$}),{decimals:R.decimals,identifier:$}}function pN({identifier:A,decimal:H,value:T,tax:P}){return KN(A),new Q({decimal:H,identifier:A,tax:P,value:HN(T,H)})}function IT(A,H=0){let T=A.includes(".")?A.split(".")?.[0]?.toUpperCase():void 0,P=T?fN.includes(T):!1,L=A.slice(0,14).includes("~")?"~":"/",[I,R]=P?A.split(".").slice(1).join().split(L):A.split(L);if(!(I&&R))throw new u({errorKey:"helpers_invalid_asset_identifier",info:{identifier:A}});return new Q({decimal:8,identifier:`${T||M.Chain.THORChain}.${I}${L}${R}`,value:HN(H,8)})}async function RT({address:A,chain:H,fromBaseDecimal:T,parsedValue:P}){let{decimals:L,identifier:I}=await yA({address:A,chain:H}),R=T?HN(BigInt(P),T):P;return pN({decimal:L,identifier:I,value:R})}function HN(A,H){return typeof A==="bigint"?m({bigIntDecimal:H,decimal:H,value:A}):A}function BT(A){let H=tN.match(A).when((T)=>("chain"in T)&&T.chain!==void 0,({chain:T})=>T).otherwise((T)=>{let P=K(T.asset);return P.synth?M.Chain.THORChain:P.chain});if(!M.AllChains.includes(H.toUpperCase())){let T="asset"in A?A.asset:H;throw new u({errorKey:"helpers_invalid_asset_identifier",info:{identifier:T,message:`Unsupported chain "${H}" - use the AssetValue constructor directly`}})}}function $T(A){if(BT(A),"chain"in A){let{chain:L,address:I}=A;if(I){let R=y.includes(L)?`${L}:${I}`:`${L}:${I.toUpperCase()}`,$=wN.get(R);if($)return $;return null}return L}let{chain:H,symbol:T}=K(A.asset);return bN({chain:H,symbol:T})==="Native"?H:A.asset}function OT(A,H,T){let P=A.split("."),L=P[0]?.toUpperCase(),I=fN.includes(L),R=T?"~":"/",[$,O=""]=I?P.slice(1).join(".").split(R):A.split(R);if(!($&&O))throw new u({errorKey:"helpers_invalid_asset_identifier",info:{identifier:A}});let{ticker:g,address:E}=pA({chain:$,symbol:O}),_=`${$}${R}${O}`;return{address:E,chain:L,isGasAsset:!1,isSynthetic:H,isTradeAsset:T,symbol:_,ticker:g}}function GT(A){let H=A.indexOf("."),T=(H===-1?A:A.slice(0,H)).toUpperCase(),P=H===-1?A:A.slice(H+1),{address:L,ticker:I}=pA({chain:T,symbol:P}),R;try{R=L&&M.EVMChains.includes(T)&&yN.getAddress(L)?yN.getAddress(L):L}catch{R=L}let $=R?`${I}-${R}`:P;return{address:R,chain:T,isGasAsset:kN({chain:T,symbol:P}),isSynthetic:!1,isTradeAsset:!1,symbol:$,ticker:I}}function mA(A){let H=A.slice(0,14),T=H.includes("/"),P=H.includes("~");if(T||P)return OT(A,T,P);return GT(A)}function pA({symbol:A,chain:H}){let{ticker:T,address:P}=e(A,H);return{address:P&&!y.includes(H)?P.toLowerCase():P,ticker:T}}var MT={};t(MT,{SwapKitNumber:()=>ON});class ON extends k{eq(A){return this.eqValue(A)}static fromBigInt(A,H){return new ON({decimal:H,value:m({bigIntDecimal:H,decimal:H,value:A})})}}function fA(A=!0){return A?"https://gateway.liquify.com/chain/thorchain_midgard":"https://midgard.mayachain.info"}function _T(A=!0){let H=fA(A);return A?`${H}/v2/thorname`:`${H}/v2/mayaname`}function YT(A){return function(T){let P=T?`?status=${T}`:"";return G.get(`${A}/v2/pools${P}`)}}function DT(A){return function(T){return G.get(`${A}/v2/pool/${T}`)}}function gT(A){return function(T,P){let L=P?`?period=${P}`:"";return G.get(`${A}/v2/pool/${T}/stats${L}`)}}function UT(A){return function(T,P){let L=new URLSearchParams;if(P?.interval)L.append("interval",P.interval);if(P?.count)L.append("count",P.count.toString());if(P?.from)L.append("from",P.from.toString());if(P?.to)L.append("to",P.to.toString());let I=L.toString()?`?${L.toString()}`:"";return G.get(`${A}/v2/history/depths/${T}${I}`)}}function XT(A){return function(){return G.get(`${A}/v2/network`)}}function nT(A){return function(){return G.get(`${A}/v2/health`)}}function ST(A){return function(){return G.get(`${A}/v2/nodes`)}}function ET(A){return function(T){return G.get(`${A}/v2/node/${T}`)}}function bT(A){return function(){return G.get(`${A}/v2/mimir/votes`)}}function xT(A){return function(){return G.get(`${A}/v2/mimir`)}}function wT(A){return function(){return G.get(`${A}/v2/constants`)}}function tT(A){return function(){return G.get(`${A}/v2/stats`)}}function zT(A){return function(T){let P=new URLSearchParams;if(T?.interval)P.append("interval",T.interval);if(T?.count)P.append("count",T.count.toString());if(T?.from)P.append("from",T.from.toString());if(T?.to)P.append("to",T.to.toString());let L=P.toString()?`?${P.toString()}`:"";return G.get(`${A}/v2/history/earnings${L}`)}}function QT(A){return function(T,P){let L=new URLSearchParams;if(P?.interval)L.append("interval",P.interval);if(P?.count)L.append("count",P.count.toString());if(P?.from)L.append("from",P.from.toString());if(P?.to)L.append("to",P.to.toString());let I=L.toString()?`?${L.toString()}`:"",R=T?`/swaps/${T}`:"/swaps";return G.get(`${A}/v2/history${R}${I}`)}}function JT(A){return function(T){let P=new URLSearchParams;if(T?.interval)P.append("interval",T.interval);if(T?.count)P.append("count",T.count.toString());if(T?.from)P.append("from",T.from.toString());if(T?.to)P.append("to",T.to.toString());let L=P.toString()?`?${P.toString()}`:"";return G.get(`${A}/v2/history/tvl${L}`)}}function ZT(A){if(!A)return"";let H=new URLSearchParams,T=(P,L)=>{if(L!==void 0)H.append(P,typeof L==="number"?L.toString():L)};return T("address",A.address),T("txid",A.txid),T("asset",A.asset),T("type",A.type),T("affiliate",A.affiliate),T("limit",A.limit),T("offset",A.offset),H.toString()?`?${H.toString()}`:""}function WT(A){return function(T){let P=ZT(T);return G.get(`${A}/v2/actions${P}`)}}function jT(A){return function(T){return G.get(`${A}/v2/member/${T}`)}}function VT(A){return function(T){let P=T?`/${T}`:"";return G.get(`${A}/v2/members${P}`)}}function qT(A){return function(T,P){let L=P?`&asset=${P}`:"";return G.get(`${A}/v2/saver/${T}${L?`?${L.substring(1)}`:""}`)}}function vT(A){return function(T){return G.get(`${A}/v2/savers/${T}`)}}function kT(A){return function(T,P){let L=new URLSearchParams;if(P?.interval)L.append("interval",P.interval);if(P?.count)L.append("count",P.count.toString());if(P?.from)L.append("from",P.from.toString());if(P?.to)L.append("to",P.to.toString());let I=L.toString()?`?${L.toString()}`:"",R=T?`/savers/${T}`:"/savers";return G.get(`${A}/v2/history${R}${I}`)}}function KT(A){return function(T){return G.get(`${A}/v2/balance/${T}`)}}function mT(A){return async function(T){let P=(L)=>{if(L?.cause?.status===404)return;throw L};return await G.get(`${A}/lookup/${T}`,{onError:P,retry:{maxRetries:1}})}}function yT(A){return async function(T){let P=(L)=>{if(L?.cause?.status===404)return[];throw L};return await G.get(`${A}/rlookup/${T}`,{onError:P,retry:{maxRetries:1}})}}function pT(A){return async function(T){let P=(L)=>{if(L?.cause?.status===404)return[];throw L};return await G.get(`${A}/owner/${T}`,{onError:P,retry:{maxRetries:1}})}}function TN({asset:A,value:H}){return Q.from({asset:A,fromBaseDecimal:d.getChainConfig(d.Chain.THORChain).baseDecimal,value:H})}function fT({liquidityPositionGetter:A,isThorchain:H}){return async function(P){let L=await A(P),I=H?"rune":"cacao";return L.pools.map((R)=>({[`${I}Pending`]:TN({asset:"THOR.RUNE",value:R.runePending}),[`${I}RegisteredAddress`]:R.runeAddress,[`${I}Withdrawn`]:TN({asset:"THOR.RUNE",value:R.runeWithdrawn}),[I]:TN({asset:"THOR.RUNE",value:R.runeAdded}),asset:TN({asset:R.pool,value:R.assetAdded}),assetPending:TN({asset:R.pool,value:R.assetPending}),assetRegisteredAddress:R.assetAddress,assetWithdrawn:TN({asset:R.pool,value:R.assetWithdrawn}),dateFirstAdded:R.dateFirstAdded,dateLastAdded:R.dateLastAdded,poolShare:new ON(R.liquidityUnits).div(R.pool)}))}}function oA(A){let H=A===d.Chain.THORChain,T=fA(H),P=_T(H),L=jT(T);return{getActions:WT(T),getBalance:KT(T),getConstants:wT(T),getEarningsHistory:zT(T),getHealth:nT(T),getLiquidityPosition:fT({isThorchain:H,liquidityPositionGetter:L}),getLiquidityPositionRaw:L,getMembers:VT(T),getMimir:xT(T),getMimirVotes:bT(T),getNameDetails:mT(P),getNamesByAddress:yT(P),getNamesByOwner:pT(P),getNetworkInfo:XT(T),getNode:ET(T),getNodes:ST(T),getPool:DT(T),getPoolDepthHistory:UT(T),getPoolStats:gT(T),getPools:YT(T),getSaverDetails:qT(T),getSavers:vT(T),getSaversHistory:kT(T),getStats:tT(T),getSwapHistory:QT(T),getTVLHistory:JT(T)}}var CA=oA(d.Chain.THORChain),dA=oA(d.Chain.Maya);var MA={};t(MA,{getTrackerDetails:()=>xP,getTokenListProviders:()=>JP,getTokenList:()=>ZP,getTokenApproval:()=>QP,getSwapTo:()=>yP,getSwapQuote:()=>wP,getRouteWithTx:()=>tP,getPrice:()=>WP,getNearDepositChannel:()=>qP,getGasRate:()=>jP,getChainflipDepositChannel:()=>VP,getChainBalance:()=>zP,SKRequestClient:()=>Z});var JN=require("@swapkit/types"),p=require("ts-pattern");var oT={};t(oT,{signWidgetRequest:()=>oN});async function oN(A,H,T,P){let L=`${H}:${T}:${P}`,I=new TextEncoder,R=await crypto.subtle.importKey("raw",I.encode(A),{hash:"SHA-256",name:"HMAC"},!1,["sign"]),$=await crypto.subtle.sign("HMAC",R,I.encode(L));return Array.from(new Uint8Array($)).map((O)=>O.toString(16).padStart(2,"0")).join("")}var q=require("@swapkit/types"),N=require("zod");var dN;((P)=>{P.CHEAPEST="CHEAPEST";P.FASTEST="FASTEST";P.RECOMMENDED="RECOMMENDED"})(dN||={});var GN;((O)=>{O.PSBT="PSBT";O.EVM="EVM";O.COSMOS="COSMOS";O.RADIX="RADIX";O.NEAR="NEAR";O.STELLAR="STELLAR";O.TON="TON";O.TRON="TRON"})(GN||={});var hN;((x)=>{x.approve="approve";x.claim="claim";x.deposit="deposit";x.donate="donate";x.lending="lending";x.lp_action="lp_action";x.native_contract_call="native_contract_call";x.native_send="native_send";x.stake="stake";x.streaming_swap="streaming_swap";x.swap="swap";x.thorname_action="thorname_action";x.token_contract_call="token_contract_call";x.token_transfer="token_transfer";x.unknown="unknown";x.unstake="unstake"})(hN||={});var cN;((X)=>{X.swap="swap";X.aggregation="aggregation";X.addLiquidity="addLiquidity";X.withdrawLiquidity="withdrawLiquidity";X.addSavers="addSavers";X.withdrawSavers="withdrawSavers";X.borrow="borrow";X.repay="repay";X.name="name";X.donate="donate";X.claim="claim";X.stake="stake";X.unstake="unstake"})(cN||={});var lN;(($)=>{$.unknown="unknown";$.not_started="not_started";$.pending="pending";$.swapping="swapping";$.completed="completed";$.refunded="refunded";$.failed="failed"})(lN||={});var rN;((b)=>{b.not_started="not_started";b.starting="starting";b.broadcasted="broadcasted";b.mempool="mempool";b.inbound="inbound";b.outbound="outbound";b.swapping="swapping";b.completed="completed";b.refunded="refunded";b.partially_refunded="partially_refunded";b.dropped="dropped";b.reverted="reverted";b.replaced="replaced";b.retries_exceeded="retries_exceeded";b.parsing_error="parsing_error"})(rN||={});var CT=N.object({address:N.optional(N.string()),chain:N.z.enum(q.Chain).optional(),chainId:N.z.enum(q.ChainId),coingeckoId:N.optional(N.string()),decimals:N.coerce.number(),extensions:N.optional(N.z.looseObject({})),identifier:N.string(),logoURI:N.optional(N.string()),name:N.optional(N.string()),shortCode:N.optional(N.string()),symbol:N.optional(N.string()),ticker:N.string()}),dT=N.z.object({block:N.z.optional(N.z.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:N.z.optional(N.z.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:N.z.optional(N.z.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:N.z.optional(N.z.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((A)=>A.hash&&A.chainId||A.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),hT=N.z.object({forceUpdate:N.z.string().toLowerCase().transform((A)=>A==="true").pipe(N.z.boolean()).optional()}),cT=N.object({error:N.string(),message:N.string()}),h=N.object({address:N.optional(N.string()),chain:N.z.enum(q.Chain),decimal:N.optional(N.number()),isGasAsset:N.boolean(),isSynthetic:N.boolean(),symbol:N.string(),tax:N.optional(N.object({buy:N.number(),sell:N.number()})),ticker:N.string()}),iN=N.object({id:N.string(),market_cap:N.number(),name:N.string(),price_change_24h_usd:N.number(),price_change_percentage_24h_usd:N.number(),sparkline_in_7d:N.array(N.number()),timestamp:N.string(),total_volume:N.number()}).partial(),lT=N.object({cg:N.optional(iN),identifier:N.string(),price_usd:N.number(),provider:N.string(),timestamp:N.number()}),sN=N.array(N.object({cg:N.optional(iN),identifier:N.string(),price_usd:N.number(),provider:N.string(),timestamp:N.number()}).partial()),rT=N.object({affiliate:N.optional(N.string().describe("Affiliate thorname")),affiliateFee:N.optional(N.number().describe("Affiliate fee in basis points").refine((A)=>A===Math.floor(A)&&A>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:N.optional(N.boolean().describe("Allow smart contract as recipient")),allowSmartContractSender:N.optional(N.boolean().describe("Allow smart contract as sender")),buyAsset:N.string().describe("Asset to buy"),cfBoost:N.optional(N.boolean().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:N.optional(N.string().describe("Address to send asset to")),disableSecurityChecks:N.optional(N.boolean().describe("Disable security checks")),includeTx:N.optional(N.boolean().describe("Set to true to include an transaction object (EVM only)")),providers:N.optional(N.array(N.string().describe("List of providers to use").refine((A)=>w[A]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:N.optional(N.string().describe("Referrer address (referral program)")),sellAmount:N.string().describe("Amount of asset to sell").refine((A)=>+A>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:N.string().describe("Asset to sell"),slippage:N.optional(N.number().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:N.optional(N.string().describe("Address to send asset from"))}).refine((A)=>A.sellAsset!==A.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),iT=N.object({metadata:N.boolean(),tokens:N.array(N.object({identifier:N.string()}))}),eN=N.object({destinationAddress:N.string()}),lA=eN.extend({affiliateFees:N.array(N.object({brokerAddress:N.string(),feeBps:N.number()})).optional(),brokerCommissionBps:N.number().optional(),buyAsset:N.object({asset:N.string(),chain:N.string()}),channelMetadata:N.object({cfParameters:N.string().optional(),gasBudget:N.string().optional(),message:N.string().optional()}).optional(),dcaParameters:N.object({chunkInterval:N.number().optional(),numberOfChunks:N.number().optional()}).optional(),maxBoostFeeBps:N.number().optional(),refundParameters:N.object({minPrice:N.string().optional(),refundAddress:N.string().optional(),retryDuration:N.number().optional()}).optional(),sellAsset:N.object({asset:N.string(),chain:N.string()})}),aN=N.object({channelId:N.string(),depositAddress:N.string()}),CN=eN.extend({affiliateFees:N.object({feeBps:N.number(),nearId:N.string()}).optional(),buyAsset:N.string(),sellAmount:N.string(),sellAsset:N.string(),slippage:N.coerce.number(),sourceAddress:N.string()}),hA=N.object({amountIn:N.string(),amountInFormatted:N.string(),amountInUsd:N.string(),amountOut:N.string(),amountOutFormatted:N.string(),amountOutUsd:N.string(),deadline:N.string().optional(),minAmountIn:N.string(),minAmountOut:N.string(),timeEstimate:N.number().optional(),timeWhenInactive:N.string().optional()}),sT=hA.extend({depositAddress:N.string(),quote:hA,signature:N.string(),timestamp:N.string(),tx:N.unknown()}),NA=N.object({buyAsset:N.string(),buyAssetAmount:N.string(),buyAssetAmountMaxSlippage:N.string(),deadline:N.string().optional(),depositAddress:N.string(),depositAmount:N.string(),depositAsset:N.string(),tx:N.unknown()}),eT=N.object({evmCalldata:N.z.optional(N.z.string()),intentHash:N.z.optional(N.z.string()),logs:N.z.optional(N.z.unknown()),manifest:N.z.optional(N.z.unknown()),memo:N.z.optional(N.z.string()),spender:N.z.optional(N.z.string()),thorname:N.z.optional(N.z.string())}),aT=N.object({currentStage:N.string(),inboundConfirmation:N.number(),inboundObservation:N.number(),outboundDelay:N.number(),outboundObservation:N.number(),streamingSwap:N.number()}),NP=N.object({count:N.optional(N.number()),interval:N.optional(N.number()),quantity:N.optional(N.number()),subSwapsMap:N.optional(N.array(N.number()))}),AP=N.z.object({currentLegIndex:N.z.optional(N.z.number()),estimatedTimeToComplete:N.z.number(),estimates:N.z.optional(aT),providerDetails:N.z.optional(N.z.object({streamingDetails:N.z.optional(NP)}))}),HP=N.object({affiliate:N.optional(h),liquidity:N.optional(h),network:N.optional(h),protocol:N.optional(h),tax:N.optional(h)}),TP=N.object({affiliate:N.string(),bps:N.string(),isReferrer:N.boolean()}),PP=N.object({affiliate:N.optional(N.string()),affiliateFees:N.optional(N.array(TP)),broadcastedAt:N.optional(N.number()),explorerUrl:N.optional(N.string()),fees:N.optional(HP),images:N.optional(N.object({chain:N.optional(N.string()),from:N.optional(N.string()),provider:N.optional(N.string()),to:N.optional(N.string())})),provider:N.optional(N.z.enum(w)),providerAction:N.z.optional(N.z.enum(cN)),quoteId:N.optional(N.string()),wallet:N.optional(N.string())}),PN=N.z.object({block:N.z.number(),chainId:N.z.enum(q.ChainId),finalAddress:N.z.optional(N.z.string()),finalAsset:N.z.optional(h),finalisedAt:N.z.number(),fromAddress:N.z.string(),fromAmount:N.z.string(),fromAsset:N.z.string(),hash:N.z.string(),meta:N.z.optional(PP),payload:N.z.optional(eT),status:N.z.enum(lN),toAddress:N.z.string(),toAmount:N.z.string(),toAsset:N.z.string(),trackingStatus:N.z.optional(N.z.enum(rN)),transient:N.z.optional(AP),type:N.z.enum(hN)}),AA=PN.extend({legs:N.z.array(PN)}),LP=PN.extend({legs:N.array(PN)}),FP=PN.extend({legs:N.array(PN)}),zN=N.array(N.object({amount:N.string(),asset:N.string(),chain:N.string(),protocol:N.z.enum(w),type:N.z.enum(UN)})),QN=N.z.object({inbound:N.z.optional(N.z.number().describe("Time to receive inbound asset in seconds")),outbound:N.z.optional(N.z.number().describe("Time to receive outbound asset in seconds")),swap:N.z.optional(N.z.number().describe("Time to swap assets in seconds")),total:N.z.number().describe("Total time in seconds")}),IP=/^(?:0x[0-9a-fA-F]+|[0-9]+)$/;function rA(A){return A===""||IP.test(A)}function RP(A){return A?BigInt(A):0n}function BP(A){let H=typeof A==="bigint"?A:BigInt(A);return H>0n?`0x${H.toString(16)}`:"0x0"}var uN=N.string().refine(rA,{message:"Value must be a base-10 integer string or 0x-prefixed hex integer string"}).describe("Value to send in base units as a base-10 integer string or 0x-prefixed hex integer string"),HA=N.object({data:N.string().describe("Data to send"),from:N.string().describe("Address of the sender"),to:N.string().describe("Address of the recipient"),value:uN}),TA=N.z.object({data:N.z.string().optional(),raw_data:N.z.object({contract:N.z.any(),data:N.z.string().optional(),expiration:N.z.number(),fee_limit:N.z.number().optional(),ref_block_bytes:N.z.string(),ref_block_hash:N.z.string(),timestamp:N.z.number()}).passthrough(),raw_data_hex:N.z.string(),txID:N.z.string(),value:uN.optional(),visible:N.z.boolean()}),iA=N.array(N.union([N.string(),N.number(),N.array(N.string()),N.object({from:N.string(),value:uN}).describe("Parameters to pass to the contract method")])),$P=N.object({approvalSpender:N.optional(N.string().describe("Address of the spender to approve")),approvalToken:N.optional(N.string().describe("Address of the token to approve spending of")),contractAddress:N.string().describe("Address of the contract to interact with"),contractMethod:N.string().describe("Name of the method to call"),contractParamNames:N.array(N.string().describe("Names of the parameters to pass to the contract method")),contractParams:iA}),OP=N.object({typeUrl:N.string("/types.MsgDeposit"),value:N.object({coins:N.array(N.object({amount:N.string(),asset:N.object({chain:N.string(),symbol:N.string(),synth:N.boolean(),ticker:N.string()})})),memo:N.string(),signer:N.string()})}),GP=N.object({typeUrl:N.string("/types.MsgSend"),value:N.object({amount:N.array(N.object({amount:N.string(),denom:N.string()})),fromAddress:N.string(),toAddress:N.string()})}),uP=N.object({typeUrl:N.string(),value:GP.shape.value.or(OP.shape.value)}),MP=N.object({amount:N.array(N.object({amount:N.string(),denom:N.string()})),gas:N.string()}),PA=N.object({accountNumber:N.number(),chainId:N.z.enum(q.ChainId),fee:MP,memo:N.string(),msgs:N.array(uP),sequence:N.number()}),sA=N.z.array(N.z.object({calldata:N.z.array(N.z.string()),contractAddress:N.z.string(),entrypoint:N.z.string()})),eA=N.z.object({address:N.z.string().describe("Destination address in friendly format"),amount:N.z.string().describe("Amount in nanotons"),payload:N.z.string().optional().describe("Base64 BOC of body cell"),stateInit:N.z.string().optional().describe("Base64 BOC of state init")}),LA=N.z.object({messages:N.z.array(eA),sendMode:N.z.number().describe("TON wallet send mode for the whole transfer")}),aA=N.object({affiliate:N.string().describe("Affiliate address").optional(),affiliateFee:N.number().describe("Affiliate fee").optional(),buyAsset:N.string().describe("Asset to buy"),destinationAddress:N.string().describe("Destination address"),estimatedTime:QN.optional(),provider:N.z.enum(w),sellAsset:N.string().describe("Asset to sell"),slipPercentage:N.number().describe("Slippage as a percentage"),sourceAddress:N.string().describe("Source address")}),_P=aA.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),NH=N.object({asset:N.string().describe("Asset name"),image:N.string().describe("Asset image"),price:N.number().describe("Price in USD")}),AH=lA,FA=N.object({assets:N.optional(N.array(NH)),maxStreamingQuantity:N.number().optional(),referrer:N.string().optional(),streamingInterval:N.number().optional(),tags:N.array(N.z.enum(dN))}),IA=FA.extend({affiliate:N.optional(N.string()),affiliateFee:N.optional(N.string()),approvalAddress:N.optional(N.string().describe("Approval address for swap")),chainflip:AH.optional(),garden:CN.optional(),near:CN.optional(),priceImpact:N.optional(N.number().describe("Price impact")),referrer:N.optional(N.string()),txType:N.optional(N.z.enum(GN))}),RA=N.array(N.object({code:N.z.enum(gN),display:N.string(),tooltip:N.string().optional()})),YP=N.object({buyAmount:N.string().describe("Buy amount"),buyAmountMaxSlippage:N.string().describe("Buy amount max slippage"),buyAsset:N.string().describe("Asset to buy"),fees:N.optional(zN),provider:N.z.enum(w),sellAmount:N.string().describe("Sell amount"),sellAsset:N.string().describe("Asset to sell")}),HH=N.object({buyAsset:N.string().describe("Asset to buy"),destinationAddress:N.optional(N.string().describe("Destination address")),estimatedTime:N.optional(QN),expectedBuyAmount:N.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:N.string().describe("Expected Buy amount max slippage"),expiration:N.optional(N.string().describe("Expiration")),fees:zN,inboundAddress:N.optional(N.string().describe("Inbound address")),legs:N.array(YP),memo:N.optional(N.string().describe("Memo")),meta:IA,providers:N.array(N.z.enum(w)),routeId:N.string().describe("Route ID"),sellAmount:N.string().describe("Sell amount"),sellAsset:N.string().describe("Asset to sell"),sourceAddress:N.optional(N.string().describe("Source address")),targetAddress:N.optional(N.string().describe("Target address")),totalSlippageBps:N.number().describe("Total slippage in bps"),tx:N.optional(N.union([HA,PA,TA,sA,LA,N.string()])),txType:N.optional(N.z.enum(GN)),warnings:RA}),BA=N.object({error:N.optional(N.string().describe("Error message")),providerErrors:N.optional(N.array(N.object({errorCode:N.optional(N.z.enum(i)),message:N.optional(N.string()),provider:N.z.enum(w).optional()}))),quoteId:N.string().describe("Quote ID"),routes:N.array(HH)}),$A=N.z.object({chainId:N.z.enum(q.ChainId),createdAt:N.z.date(),id:N.z.number(),unit:N.z.string(),value:N.z.string()}),DP=N.z.array($A),OA=N.z.union([$A,DP]),qL=N.array(N.object({chain:N.z.enum(q.Chain),decimal:N.number(),identifier:N.string(),symbol:N.string(),ticker:N.string(),value:N.string()})),gP=N.z.union([N.z.object({amount:N.z.string(),spender:N.z.string(),tokenIdentifier:N.z.string(),userWalletAddress:N.z.string()}),N.z.object({amount:N.z.string(),chainId:N.z.enum(q.ChainId),spender:N.z.string(),tokenContractAddress:N.z.string(),userWalletAddress:N.z.string()}),N.z.object({routeId:N.z.string()})]),UP=N.z.object({approvalTransaction:N.z.optional(N.z.object({data:N.z.string(),from:N.z.string(),gasLimit:N.z.optional(N.z.string()),gasPrice:N.z.optional(N.z.string()),to:N.z.string(),value:uN})),approvedAmount:N.z.string(),isApproved:N.z.boolean()}),TH=N.z.object({data:N.z.string().describe("Encoded approval call data"),from:N.z.string().describe("User wallet address"),gasLimit:N.z.string().optional().describe("Estimated gas limit"),gasPrice:N.z.string().optional().describe("Current gas price"),to:N.z.string().describe("Token contract address"),value:uN.describe("ETH value (always '0' for approvals)")}),PH=N.z.object({tx:N.z.string(),txType:N.z.literal("STELLAR")}),LH=N.z.union([TH,PH]),cA=N.z.object({buyAmount:N.z.string().describe("Buy amount").optional(),buyAmountMaxSlippage:N.z.string().describe("Buy amount max slippage").optional(),buyAsset:N.z.string().describe("Asset to buy"),expectedBuyAmount:N.z.string().describe("Expected Buy amount").optional(),expectedBuyAmountMaxSlippage:N.z.string().describe("Expected Buy amount max slippage").optional(),fees:zN,provider:N.z.enum(w),sellAmount:N.z.string().describe("Sell amount"),sellAsset:N.z.string().describe("Asset to sell")}),FH=cA.extend({estimatedTime:N.z.optional(QN),expiration:N.z.optional(N.z.string().describe("Expiration")),legs:N.z.array(cA),providers:N.z.array(N.z.enum(w)),routeId:N.z.string().describe("Route ID"),totalSlippageBps:N.z.number().describe("Total slippage in bps"),warnings:RA}).omit({provider:!0}),IH=N.z.object({method:N.z.string(),payload:N.z.optional(N.z.unknown()),url:N.z.string()}),XP=FH.extend({meta:FA,nextActions:N.z.optional(N.z.array(IH))}),nP=N.z.object({error:N.z.optional(N.z.string().describe("Error message")),providerErrors:N.z.optional(N.z.array(N.z.object({errorCode:N.z.optional(N.z.enum(i)),message:N.z.optional(N.z.string()),provider:N.z.enum(w).optional()}))),quoteId:N.z.string().describe("Quote ID"),routes:N.z.array(XP)}),SP=N.z.object({providers:N.z.array(N.z.enum(w)).optional().describe("Optional list of providers to query for trading pairs"),sellAsset:N.z.string().describe("Asset identifier to sell (e.g., 'BTC.BTC' or 'ETH.ETH')")}),RH=N.z.object({chain:N.z.enum(q.Chain).describe("Chain the asset is on"),identifier:N.z.string().describe("Asset identifier (e.g., 'ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48')"),providers:N.z.array(N.z.enum(w)).describe("Providers that support this trading pair"),symbol:N.z.string().describe("Asset symbol"),ticker:N.z.string().describe("Asset ticker")}),EP=N.z.object({buyAssets:N.z.array(RH).describe("List of assets that can be swapped to"),sellAsset:N.z.string().describe("The input sell asset identifier")}),GA=FH.extend({destinationAddress:N.z.string().describe("Destination address"),inboundAddress:N.z.optional(N.z.string().describe("Inbound address")),memo:N.z.optional(N.z.string().describe("Memo to include in the transaction")),meta:IA,sourceAddress:N.z.string().describe("Source address"),targetAddress:N.z.optional(N.z.string().describe("Target address")),tx:N.optional(N.union([HA,PA,TA,LA,N.string()])),txType:N.z.optional(N.z.enum(GN))}),BH=N.z.object({data:N.z.optional(N.z.record(N.z.string(),N.z.string().optional())),errorCode:N.z.enum(i),message:N.z.string().optional(),provider:N.z.enum(w).optional()}),bP=N.z.object({error:N.z.optional(N.z.string().describe("Error message")),providerErrors:N.z.optional(N.z.array(BH)),quoteId:N.z.string().describe("Quote ID"),routes:N.z.array(GA)}),uA=GA.extend({approvalTx:LH.optional().describe("Optional approval transaction required before swap execution"),nextActions:N.z.optional(N.z.array(IH)),swapId:N.z.string().describe("The unique swap ID for tracking")});var Z=G.extend({dynamicHeader:async()=>{let A=U.get("widgetId"),H=U.get("widgetKey");if(A&&H&&typeof window<"u"){let P=Math.floor(Date.now()/1000),L=window.location.origin,I=await oN(H,A,L,P);return{Origin:L,"X-Signature":I,"X-Timestamp":P.toString(),"x-widget-id":A}}let{swapKit:T}=U.get("apiKeys");return T?{"x-api-key":T}:{}}});async function xP(A){let H=await Z.post(J("/track"),{json:A});try{let T=AA.safeParse(H);if(!T.success)throw new u("api_v2_invalid_response",T.error);return T.data}catch(T){return H}}async function wP(A){let{getQuote:H}=U.get("endpoints");if(H)return H(A);let P=U.get("v3SwapFlow")?.enabled?"/v3/quote":"/quote",L=await Z.post(J(P),{json:A});if(L.error)throw new u("api_v2_server_error",{message:L.error});try{let I=BA.safeParse(L);if(!I.success)throw new u("api_v2_invalid_response",I.error);return I.data}catch{return L}}async function tP(A){let{getRouteWithTx:H}=U.get("endpoints");if(H)return H(A);let P=U.get("v3SwapFlow")?.enabled?"/v3/swap":"/swap",L=await Z.post(J(P),{json:A});try{let I=uA.safeParse(L);if(!I.success)throw new u("api_v2_invalid_response",I.error);return I.data}catch(I){return console.error(new u("api_v2_invalid_response",I)),L}}async function zP({chain:A,address:H,scamFilter:T=!0}){let{getBalance:P}=U.get("endpoints");if(P)return P({address:H,chain:A});let L=J(`/balance?chain=${A}&address=${H}`),I=await Z.get(L),R=Array.isArray(I)?I:[];return T?mP(R):R}function QP(A){let H=p.match(A).with({routeId:p.P.string,spender:p.P.string},({routeId:T,spender:P})=>J(`/approve?routeId=${T}&sourceAddress=${P}`)).with({assetValue:p.P.instanceOf(Q),spender:p.P.string,userWallet:p.P.string},({spender:T,userWallet:P,assetValue:L})=>J(`/approve?tokenIdentifier=${L.toString()}&userWalletAddress=${P}&spender=${T}&amount=${L.getValue("string")}`)).exhaustive();return Z.get(H)}function JP(){let A=J("/providers");return Z.get(A)}function ZP(A){let H=J(`/tokens?provider=${A}`);return Z.get(H)}async function WP(A){let H=J("/price"),T=await Z.post(H,{json:A});try{let P=sN.safeParse(T);if(!P.success)throw new u("api_v2_invalid_response",P.error);return P.data}catch(P){throw new u("api_v2_invalid_response",P)}}async function jP(){let A=J("/gas"),H=await Z.get(A);try{let T=OA.safeParse(H);if(!T.success)throw new u("api_v2_invalid_response",T.error);return Array.isArray(T)?T:[T]}catch(T){throw new u("api_v2_invalid_response",T)}}async function VP(A){let{destinationAddress:H}=A;if(!H)throw new u("chainflip_broker_invalid_params");let T=U.get("integrations").chainflip?.brokerUrl||J("/chainflip/broker/channel"),P=await Z.post(T,{json:A});try{let L=aN.safeParse(P);if(!L.success)throw new u("api_v2_invalid_response",L.error);return L.data}catch(L){throw new u("api_v2_invalid_response",L)}}async function qP(A){let{destinationAddress:H}=A;if(!H)throw new u("chainflip_broker_invalid_params");let T=J("/near/channel"),P=await Z.post(T,{json:A});try{let L=NA.safeParse(P);if(!L.success)throw new u("api_v2_invalid_response",L.error);return L.data}catch(L){throw new u("api_v2_invalid_response",L)}}function J(A){let{isDev:H,apiUrl:T,devApiUrl:P}=U.get("envs"),{enabled:L,quoteUrl:I,swapUrl:R}=U.get("localMode");if(L&&A){let[O]=A.split("?");if(O==="/quote"||O==="/v3/quote")return`${I}${A}`;if(O==="/swap"||O==="/v3/swap")return`${R}${A}`}return`${H?P:T}${A}`}function vP(A){try{return Q.from({asset:A.identifier})}catch{return}}var kP=new Set(["OP.OP"]),KP=/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/im;function mP(A){return A.filter((H)=>{let T=vP(H);if(!T)return!1;if(kP.has(T.toString().toUpperCase()))return!0;return(!JN.EVMChains.includes(T.chain)||T.isGasAsset||!!T.address)&&!KP.test(T.ticker)})}async function yP(A){let{getSwapTo:H}=U.get("endpoints");if(H)return H(A);let T=new URLSearchParams({sellAsset:A.sellAsset});if(A.providers?.length)for(let R of A.providers)T.append("providers",R);let P=J(`/swapTo?${T.toString()}`),L=await Z.get(P);if(!Array.isArray(L))return{buyAssets:[],sellAsset:A.sellAsset};let I=[];for(let R of L)try{let $=Q.from({asset:R});I.push({chain:$.chain,identifier:$.toString(),providers:[],symbol:$.symbol,ticker:$.ticker})}catch{}return{buyAssets:I,sellAsset:A.sellAsset}}var _A={};t(_A,{getThorchainQueue:()=>oP,getTcyStakers:()=>sP,getTcyStaker:()=>iP,getTcyClaimers:()=>aP,getTcyClaimer:()=>eP,getTNSPreferredAsset:()=>cP,getTHORNodeTNSDetails:()=>OH,getRunePoolProviderInfo:()=>rP,getRunePoolInfo:()=>lP,getNodes:()=>CP,getMimirInfo:()=>dP,getLastBlock:()=>fP,getInboundAddresses:()=>hP});var $H=require("ts-pattern");function j(A){let{isStagenet:H}=U.get("envs"),T=U.get("thornodeUrls");return`${$H.match({isStagenet:H,type:A}).with({type:"mayachain"},({isStagenet:L})=>L?T.MAYA_STAGENET:T.MAYA).otherwise(({isStagenet:L})=>L?T.THOR_STAGENET:T.THOR)}/${A??"thorchain"}`}function pP(A){let H=A==="mayachain"?"mayaname":"thorname";return`${j(A)}/${H}`}function fP(A="thorchain"){return G.get(`${j(A)}/lastblock`)}function oP(A){return G.get(`${j(A)}/queue`)}function CP(A){return G.get(`${j(A)}/nodes`)}function dP(A){return G.get(`${j(A)}/mimir`)}function hP(A){return G.get(`${j(A)}/inbound_addresses`)}async function OH({type:A,name:H}){try{return await G.get(`${pP(A)}/${H}`)}catch{return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:H,owner:"",preferred_asset:""}}}async function cP({type:A,tns:H}){let T=await OH({name:H,type:A});if(!T.preferred_asset||T.preferred_asset===".")return;return Q.from({asset:T.preferred_asset,asyncTokenLookup:!0})}function lP(A){return G.get(`${j(A)}/runepool`)}function rP({type:A,thorAddress:H}){return G.get(`${j(A)}/rune_provider/${H}`)}function iP({type:A,address:H}){return G.get(`${j(A)}/tcy_staker/${H}`)}function sP(A){return G.get(`${j(A)}/tcy_stakers`)}function eP({type:A,address:H}){return G.get(`${j(A)}/tcy_claimer/${H}`)}function aP(A){return G.get(`${j(A)}/tcy_claimers`)}var NL={...MA,mayachainMidgard:dA,thorchainMidgard:CA,thornode:_A};
package/dist/api/index.js CHANGED
@@ -1 +1 @@
1
- import{$ as n,Aa as O,Ba as P,Ca as Q,Da as R,Ea as S,Fa as T,Ga as U,Ha as V,Ia as W,Ja as X,Ka as Y,La as Z,Ma as _,Na as $,O as a,Oa as aa,P as b,Pa as ba,Q as c,Qa as ca,R as d,Ra as da,S as e,Sa as ea,T as f,Ta as fa,U as g,Ua as ga,V as h,W as i,X as j,Y as k,Z as l,_ as m,aa as o,ba as p,ca as q,da as r,ea as s,fa as t,ga as u,ha as v,ia as w,ja as x,ka as y,la as z,ma as A,na as B,oa as C,pa as D,qa as E,ra as F,sa as G,ta as H,ua as I,va as J,wa as K,xa as L,ya as M,za as N}from"../chunk-ayz6dzrw.js";export{D as toHexTransactionValue,C as parseTransactionValue,B as isTransactionValue,c as TxnType,e as TxnStatus,F as TronTransactionSchema,x as TransactionSchema,y as TransactionDTOSchema,f as TrackingStatus,h as TrackingRequestSchema,i as TrackingRequestQuerySchema,w as TrackerResponseSchema,g as TokenSchema,m as TokenDetailsMetadataSchema,L as TONTransactionSchema,K as TONTransactionMessageSchema,ba as SwapToResponseSchema,$ as SwapToRequestSchema,aa as SwapToAssetSchema,fa as SwapRouteV2ResponseSchema,ga as SwapKitApi,J as StarknetTransactionSchema,S as RouteQuoteWarningSchema,b as RouteQuoteTxType,da as RouteQuoteProviderErrorSchema,R as RouteQuoteMetadataV2Schema,Q as RouteQuoteMetadataSchema,O as RouteQuoteMetadataAssetSchema,N as RouteLegWithoutAddressesSchema,M as RouteLegSchema,_ as QuoteV3ResponseSchema,ea as QuoteV2ResponseSchema,ca as QuoteRouteV2Response,U as QuoteResponseSchema,T as QuoteResponseRouteItem,o as QuoteRequestSchema,d as ProviderAction,a as PriorityLabel,n as PriceResponseSchema,p as PriceRequestSchema,v as NearSwapResponseSchema,u as NearDepositChannelResultSchema,t as NearDepositChannelParamsSchema,V as GasSchema,W as GasResponseSchema,z as FeesSchema,A as EstimatedTimeSchema,E as EVMTransactionSchema,H as EVMTransactionDetailsSchema,G as EVMTransactionDetailsParamsSchema,s as DepositChannelResponseSchema,q as DepositChannelParamsSchema,I as CosmosTransactionSchema,l as CoinGeckoMetadataSchema,P as ChainflipMetadataSchema,r as BrokerDepositChannelParamsSchema,k as AssetValueSchema,Y as ApproveResponseSchema,X as ApproveRequestParams,Z as ApprovalTransactionSchema,j as ApiV2ErrorSchema};
1
+ import{$ as n,Aa as O,Ba as P,Ca as Q,Da as R,Ea as S,Fa as T,Ga as U,Ha as V,Ia as W,Ja as X,Ka as Y,La as Z,Ma as _,Na as $,O as a,Oa as aa,P as b,Pa as ba,Q as c,Qa as ca,R as d,Ra as da,S as e,Sa as ea,T as f,Ta as fa,U as g,Ua as ga,V as h,Va as ha,W as i,Wa as ia,X as j,Y as k,Z as l,_ as m,aa as o,ba as p,ca as q,da as r,ea as s,fa as t,ga as u,ha as v,ia as w,ja as x,ka as y,la as z,ma as A,na as B,oa as C,pa as D,qa as E,ra as F,sa as G,ta as H,ua as I,va as J,wa as K,xa as L,ya as M,za as N}from"../chunk-5avavg94.js";export{D as toHexTransactionValue,C as parseTransactionValue,B as isTransactionValue,c as TxnType,e as TxnStatus,F as TronTransactionSchema,x as TransactionSchema,y as TransactionDTOSchema,f as TrackingStatus,h as TrackingRequestSchema,i as TrackingRequestQuerySchema,w as TrackerResponseSchema,g as TokenSchema,m as TokenDetailsMetadataSchema,L as TONTransactionSchema,K as TONTransactionMessageSchema,da as SwapToResponseSchema,ba as SwapToRequestSchema,ca as SwapToAssetSchema,ha as SwapRouteV2ResponseSchema,ia as SwapKitApi,$ as SwapApprovalTransactionSchema,_ as StellarApprovalTransactionSchema,J as StarknetTransactionSchema,S as RouteQuoteWarningSchema,b as RouteQuoteTxType,fa as RouteQuoteProviderErrorSchema,R as RouteQuoteMetadataV2Schema,Q as RouteQuoteMetadataSchema,O as RouteQuoteMetadataAssetSchema,N as RouteLegWithoutAddressesSchema,M as RouteLegSchema,aa as QuoteV3ResponseSchema,ga as QuoteV2ResponseSchema,ea as QuoteRouteV2Response,U as QuoteResponseSchema,T as QuoteResponseRouteItem,o as QuoteRequestSchema,d as ProviderAction,a as PriorityLabel,n as PriceResponseSchema,p as PriceRequestSchema,v as NearSwapResponseSchema,u as NearDepositChannelResultSchema,t as NearDepositChannelParamsSchema,V as GasSchema,W as GasResponseSchema,z as FeesSchema,A as EstimatedTimeSchema,E as EVMTransactionSchema,H as EVMTransactionDetailsSchema,G as EVMTransactionDetailsParamsSchema,s as DepositChannelResponseSchema,q as DepositChannelParamsSchema,I as CosmosTransactionSchema,l as CoinGeckoMetadataSchema,P as ChainflipMetadataSchema,r as BrokerDepositChannelParamsSchema,k as AssetValueSchema,Y as ApproveResponseSchema,X as ApproveRequestParams,Z as ApprovalTransactionSchema,j as ApiV2ErrorSchema};