@swapkit/helpers 4.13.0 → 4.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.js +1 -1
- package/dist/chunk-0mec23vm.js +4 -0
- package/dist/chunk-3tnapk6k.js +5 -0
- package/dist/index.js +1 -1
- package/dist/types/modules/assetValue.d.ts +1 -1
- package/dist/types/modules/assetValue.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-1ec8cv2m.js +0 -5
- package/dist/chunk-mj7cdbzs.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetValue.d.ts","sourceRoot":"","sources":["../../../src/modules/assetValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAa,KAAK,EAAE,KAAK,OAAO,EAA4C,MAAM,gBAAgB,CAAC;AAG1G,OAAO,EAEL,KAAK,iBAAiB,EAEtB,YAAY,EAIb,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA2CxD,KAAK,2BAA2B,CAAC,CAAC,SAAS;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,GAC3G,OAAO,CAAC,UAAU,CAAC,GACnB,UAAU,CAAC;AAEf,KAAK,eAAe,GAChB;IAAE,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAAA;CAAE,GACzC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,KAAK,oBAAoB,GAAG,eAAe,GAAG;IAC5C,KAAK,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,qBAAa,UAAW,SAAQ,iBAAiB;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,UAAS;IACnB,WAAW,UAAS;IACpB,YAAY,UAAS;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;gBAEL,EACV,KAAK,EACL,OAAO,EACP,GAAG,EACH,KAAK,EACL,MAAM,EACN,UAAU,GACX,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,CAC9D;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GACpD;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAA;KAAE,CACxD;IAiBD,QAAQ,CAAC,EAAE,oBAAoB,EAAE,GAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAO;IAM1E,KAAK;IAaL,UAAU;IAKV,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAI3D,EAAE,CAAC,UAAU,EAAE,UAAU;IAIzB,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAoB;IAwB5D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,EACxB,KAAS,EACT,eAAe,EACf,gBAAgB,EAChB,GAAG,gBAAgB,EACpB,EAAE,CAAC,GAAG,oBAAoB,GAAG,2BAA2B,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"assetValue.d.ts","sourceRoot":"","sources":["../../../src/modules/assetValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAa,KAAK,EAAE,KAAK,OAAO,EAA4C,MAAM,gBAAgB,CAAC;AAG1G,OAAO,EAEL,KAAK,iBAAiB,EAEtB,YAAY,EAIb,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA2CxD,KAAK,2BAA2B,CAAC,CAAC,SAAS;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,IAAI,GAC3G,OAAO,CAAC,UAAU,CAAC,GACnB,UAAU,CAAC;AAEf,KAAK,eAAe,GAChB;IAAE,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAAA;CAAE,GACzC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,KAAK,oBAAoB,GAAG,eAAe,GAAG;IAC5C,KAAK,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,qBAAa,UAAW,SAAQ,iBAAiB;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,UAAS;IACnB,WAAW,UAAS;IACpB,YAAY,UAAS;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;gBAEL,EACV,KAAK,EACL,OAAO,EACP,GAAG,EACH,KAAK,EACL,MAAM,EACN,UAAU,GACX,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,gBAAgB,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,CAC9D;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GACpD;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAA;KAAE,CACxD;IAiBD,QAAQ,CAAC,EAAE,oBAAoB,EAAE,GAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAO;IAM1E,KAAK;IAaL,UAAU;IAKV,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAI3D,EAAE,CAAC,UAAU,EAAE,UAAU;IAIzB,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAoB;IAwB5D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,EACxB,KAAS,EACT,eAAe,EACf,gBAAgB,EAChB,GAAG,gBAAgB,EACpB,EAAE,CAAC,GAAG,oBAAoB,GAAG,2BAA2B,CAAC,CAAC,CAAC;WAoE/C,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE;IAwCzD,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,GAAG,CACX,MAAM,EACN;QACE,GAAG,CAAC,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CACF;IAkCH,MAAM,KAAK,YAAY;cAzSf,QAAQ;iBAAW,MAAM;oBAAc,MAAM;kBAAY,MAAM;OA2StE;CACF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,cAU/C"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"dependencies": {
|
|
4
4
|
"@near-js/providers": "~2.5.0",
|
|
5
5
|
"@swapkit/contracts": "4.1.3",
|
|
6
|
-
"@swapkit/tokens": "4.2.
|
|
6
|
+
"@swapkit/tokens": "4.2.6",
|
|
7
7
|
"@swapkit/types": "0.7.3",
|
|
8
8
|
"ethers": "^6.14.0",
|
|
9
9
|
"ts-pattern": "^5.9.0",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"zustand": "5.0.8"
|
|
12
12
|
},
|
|
13
13
|
"description": "SwapKit - Helpers",
|
|
14
|
-
"devDependencies": { "@near-js/providers": "2.5.0", "@swapkit/toolboxes": "4.
|
|
14
|
+
"devDependencies": { "@near-js/providers": "2.5.0", "@swapkit/toolboxes": "4.15.1", "ethers": "6.16.0" },
|
|
15
15
|
"exports": {
|
|
16
16
|
".": { "default": "./dist/index.js", "require": "./dist/index.cjs", "types": "./dist/types/index.d.ts" },
|
|
17
17
|
"./api": {
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"type-check:go": "tsgo"
|
|
42
42
|
},
|
|
43
43
|
"type": "module",
|
|
44
|
-
"version": "4.13.
|
|
44
|
+
"version": "4.13.1"
|
|
45
45
|
}
|
package/dist/chunk-1ec8cv2m.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var dA=Object.defineProperty;var cA=(N)=>N;function lA(N,A){this[N]=cA.bind(null,A)}var hN=(N,A)=>{for(var T in A)dA(N,T,{get:A[T],enumerable:!0,configurable:!0,set:lA.bind(A,T)})};var PN=((N)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(N,{get:(A,T)=>(typeof require<"u"?require:A)[T]}):N)(function(N){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+N+'" is not supported')});import{Chain as SN,getChainConfig as CT}from"@swapkit/types";import{AllChains as WT,Chain as X,EVMChains as jT,getChainConfig as FN}from"@swapkit/types";import{getAddress as nA}from"ethers";import{match as vN}from"ts-pattern";import{Chain as I,EVMChains as UT,getChainConfig as y,UTXOChains as ST}from"@swapkit/types";import{match as nN}from"ts-pattern";import{AllChains as cN,getChainConfig as AT,StagenetChain as dN,StagenetMAYAConfig as TT,StagenetTHORConfig as HT}from"@swapkit/types";import{createStore as PT}from"zustand/vanilla";import{AllChains as rA,getChainConfig as iA}from"@swapkit/types";var wP=rA.reduce((N,A)=>{return N[A]=iA(A).networkDerivationPath,N},{});var LN;((R)=>{R.unknownError="unknownError";R.test_error="test_error";R.providerDetailsError="providerDetailsError";R.blockHeaderNotFound="blockHeaderNotFound";R.blockHashNotFoundAtHeight="blockHashNotFoundAtHeight";R.blockHashNotFoundAtHash="blockHashNotFoundAtHash";R.txHashMissing="txHashMissing";R.assetValueMissingInfo="assetValueMissingInfo";R.invalidAsset="invalidAsset";R.blockIsRequired="blockIsRequired";R.currentBlockHeaderNotFound="currentBlockHeaderNotFound";R.failedToRetrieveBalance="failedToRetrieveBalance";R.failedToRetrieveBlock="failedToRetrieveBlock";R.failedToRetrieveFees="failedToRetrieveFees";R.notImplementedBCH="notImplementedBCH";R.notImplementedDoge="notImplementedDoge";R.noPoolsFound="noPoolsFound";R.noVaultsFound="noVaultsFound";R.noTxFound="noTxFound";R.noInputCoinFound="noInputCoinFound";R.noBlockDataFound="noBlockDataFound";R.multipleCosmosMessages="multipleCosmosMessages";R.heightOrHashNotProvided="heightOrHashNotProvided";R.unknownDenom="unknownDenom";R.invalidBlockHeight="invalidBlockHeight";R.timestampExtrinsicNoArgumentsForBlock="timestampExtrinsicNoArgumentsForBlock";R.timestampExtrinsicNoTimestampForBlock="timestampExtrinsicNoTimestampForBlock";R.noTimestampExtrinsicForHash="noTimestampExtrinsicForHash";R.timestampExtrinsicNoArgumentsForHash="timestampExtrinsicNoArgumentsForHash";R.txMemoUndefined="txMemoUndefined";R.txMemoIncorrect="txMemoIncorrect";R.txTypeNotFound="txTypeNotFound";R.txNoMessage="txNoMessage";R.txNotFound="txNotFound";R.txReceiptNotFound="txReceiptNotFound";R.txParsingError="txParsingError";R.txLogsParsingError="txLogsParsingError";R.blockNotFound="blockNotFound";R.balanceNotFound="balanceNotFound";R.configError="configError";R.synthSwapDisallowed="synthSwapDisallowed";R.providerQuoteTimeout="providerQuoteTimeout";R.noQuoteResponse="noQuoteResponse";R.noPoolAssetsFound="noPoolAssetsFound";R.noThorchainPools="noThorchainPools";R.noMayachainPools="noMayachainPools";R.noThorchainNetworkInfo="noThorchainNetworkInfo";R.invalidAffiliateFee="invalidAffiliateFee";R.invalidBuyAssetAddress="invalidBuyAssetAddress";R.invalidSellAssetAddress="invalidSellAssetAddress";R.invalidSourceAddress="invalidSourceAddress";R.invalidDestinationAddress="invalidDestinationAddress";R.sourceAddressIsSmartContract="sourceAddressIsSmartContract";R.destinationAddressIsSmartContract="destinationAddressIsSmartContract";R.invalidChainId="invalidChainId";R.unsupportedChainId="unsupportedChainId";R.unsupportedEVMChainId="unsupportedEVMChainId";R.unsupportedMethod="unsupportedMethod";R.unsupportedProvider="unsupportedProvider";R.invalidParamsForMethod="invalidParamsForMethod";R.unsupportedAdapter="unsupportedAdapter";R.noWhitelistTokens="noWhitelistTokens";R.failedFetchGasPrice="failedFetchGasPrice";R.failedToCreateDepositChannel="failedToCreateDepositChannel";R.noProviderDetailsFound="noProviderDetailsFound";R.noTokenListsFound="noTokenListsFound";R.tokenNotFound="tokenNotFound";R.tokenPriceNotFound="tokenPriceNotFound";R.tokenPriceFailedToUpdate="tokenPriceFailedToUpdate";R.swapAmountTooSmall="swapAmountTooSmall";R.legsArrayIsEmpty="legsArrayIsEmpty";R.failedToFetchQuoteForLeg="failedToFetchQuoteForLeg";R.noBlockHeaderFound="noBlockHeaderFound";R.failedToSimulateSwap="failedToSimulateSwap";R.addressScreeningFailed="addressScreeningFailed";R.noLiquidtyProvidersFound="noLiquidtyProvidersFound";R.insufficientLiquidity="insufficientLiquidity";R.noInboundDataFound="noInbounDataFound";R.noInboundAddressesFound="noInboundAddressesFound";R.noInboundAddressFoundForChain="noInboundAddressFoundForChain";R.noLastBlocksFound="noLastBlocksFound";R.noVersionFound="noVersionFound";R.noConstantsFound="noConstantsFound";R.noMimirsFound="noMimirsFound";R.noRoutesFound="noRoutesFound";R.quoteNotFound="quoteNotFound";R.ledgerSignFailed="ledgerSignFailed";R.ledgerWrongPayload="ledgerWrongPayload";R.ledgerFetchSwapFailed="ledgerFetchSwapFailed";R.failedToFetchTx="failedToFetchTx";R.failedBuildTransactionDetails="failedBuildTransactionDetails";R.noLegsForRoute="noLegsForRoute";R.noRouterAddressFound="noRouterAddressFound";R.noAggregatorAddressFound="noAggregatorAddressFound";R.noContractInstanceFound="noContractInstanceFound";R.noContractAddressFound="noContractAddressFound";R.invalidAffiliate="invalidAffiliate";R.thornameAffiliate="thornameAffiliate";R.providerNotfound="No provider found";R.noRecordFound="No Record found";R.slippageTooLow="Slippage too low";R.tradingHalted="tradingHalted";R.noWrappedGasAsset="noWrappedGasAsset";R.aggregatorAddressNotFound="aggregatorAddressNotFound";R.routerAddressNotFound="routerAddressNotFound";R.dummyAddressNotFound="dummyAddressNotFound";R.trackerError="trackerError";R.thorchainPoolUnavailable="thorchainPoolUnavailable";R.noOhlcvDataFound="noOhlcvDataFound";R.noTradingPairs="noTradingPairs";R.noLendingAvailability="noLendingAvailability";R.lendingRepayTooSmall="lendingRepayTooSmall";R.missingState="missingState";R.ledgerSwapNotFound="ledgerSwapNotFound";R.ledgerSwapNotReadyForTracking="ledgerSwapNotReadyForTracking";R.errorEstimatingGas="errorEstimatingGas";R.apiKeyInvalid="apiKeyInvalid";R.apiKeyFailedToUpdate="apiKeyFailedToUpdate";R.apiKeyExpired="apiKeyExpired";R.unauthorized="unauthorized";R.failedToCreateMemo="failedToCreateMemo";R.radixIncorrectInstructions="radixIncorrectInstructions";R.radixTxMissedParam="radixTxMissedParam";R.radixTxMissedAccount="radixTxMissedAccount";R.radixManifestParseError="radixManifestParseError";R.radixManifestBuildError="radixManifestBuildError";R.invalidAddressForChain="invalidAddressForChain";R.riskyAddress="riskyAddress";R.noRoutesToProcess="noRoutesToProcess";R.sellAssetAmountTooSmall="sellAssetAmountTooSmall";R.missingPrivateKey="missingPrivateKey";R.noMemoPriceProtection="noMemoPriceProtection"})(LN||={});var wN;((T)=>{T.highSlippage="highSlippage";T.highPriceImpact="highPriceImpact"})(wN||={});var J;((S)=>{S.CHAINFLIP="CHAINFLIP";S.CHAINFLIP_STREAMING="CHAINFLIP_STREAMING";S.JUPITER="JUPITER";S.MAYACHAIN="MAYACHAIN";S.MAYACHAIN_STREAMING="MAYACHAIN_STREAMING";S.ONEINCH="ONEINCH";S.PANCAKESWAP="PANCAKESWAP";S.SUSHISWAP_V2="SUSHISWAP_V2";S.THORCHAIN="THORCHAIN";S.THORCHAIN_STREAMING="THORCHAIN_STREAMING";S.TRADERJOE_V2="TRADERJOE_V2";S.UNISWAP_V2="UNISWAP_V2";S.UNISWAP_V3="UNISWAP_V3";S.NEAR="NEAR";S.GARDEN="GARDEN";S.OKX="OKX";S.HARBOR="HARBOR";S.FLASHNET="FLASHNET"})(J||={});var xN;(($)=>{$.LIQUIDITY="liquidity";$.NETWORK="network";$.INBOUND="inbound";$.OUTBOUND="outbound";$.AFFILIATE="affiliate";$.TAX="tax";$.PRIORITY="priority";$.SERVICE="service"})(xN||={});var sA;((H)=>{H.Average="average";H.Fast="fast";H.Fastest="fastest"})(sA||={});var eA;((T)=>{T.Approve="approve";T.CheckOnly="checkOnly"})(eA||={});var aA;((_)=>{_.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-"})(aA||={});var bN;((D)=>{D.BITGET="BITGET";D.BRAVE="BRAVE";D.COINBASE_MOBILE="COINBASE_MOBILE";D.COINBASE_WEB="COINBASE_WEB";D.COSMOSTATION="COSMOSTATION";D.CTRL="CTRL";D.EIP6963="EIP6963";D.EXODUS="EXODUS";D.KEEPKEY="KEEPKEY";D.KEEPKEY_BEX="KEEPKEY_BEX";D.KEPLR="KEPLR";D.KEYSTORE="KEYSTORE";D.LEAP="LEAP";D.LEDGER="LEDGER";D.METAMASK="METAMASK";D.OKX="OKX";D.OKX_MOBILE="OKX_MOBILE";D.ONEKEY="ONEKEY";D.PASSKEYS="PASSKEYS";D.PETRA="PETRA";D.PHANTOM="PHANTOM";D.POLKADOT_JS="POLKADOT_JS";D.RADIX_WALLET="RADIX_WALLET";D.TALISMAN="TALISMAN";D.TREZOR="TREZOR";D.TRONLINK="TRONLINK";D.TRUSTWALLET_WEB="TRUSTWALLET_WEB";D.VULTISIG="VULTISIG";D.WALLETCONNECT="WALLETCONNECT";D.WALLET_SELECTOR="WALLET_SELECTOR";D.XAMAN="XAMAN"})(bN||={});var NT;((H)=>{H[H.NoError=36864]="NoError";H[H.LockedDevice=21781]="LockedDevice";H[H.TC_NotFound=65535]="TC_NotFound"})(NT||={});var LT=cN.reduce((N,A)=>{if(!N.THOR_STAGENET)N[dN.Maya]=TT.rpcUrls,N[dN.THORChain]=HT.rpcUrls;return N[A]=AT(A).rpcUrls,N},{}),lN={apiKeys:{blockchair:"",keepKey:"",passkeys:"",swapKit:"",walletConnectProjectId:"",xaman:""},chains:cN,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"}}},requestOptions:{retry:{backoffMultiplier:2,baseDelay:300,maxDelay:5000,maxRetries:3},timeoutMs:30000},rpcUrls:LT,v3SwapFlow:{enabled:typeof process<"u"&&process.env?.SWAPKIT_V3_SWAP_FLOW==="true"},wallets:Object.values(bN),widgetKey:""},j=PT((N)=>({...lN,setApiKey:(A,T)=>N((H)=>({apiKeys:{...H.apiKeys,[A]:T}})),setConfig:(A)=>N((T)=>({apiKeys:{...T.apiKeys,...A?.apiKeys},chains:T.chains.concat(A?.chains||[]),endpoints:{...T.endpoints,...A?.endpoints},envs:{...T.envs,...A?.envs},feeMultipliers:A?.feeMultipliers||T.feeMultipliers,integrations:{...T.integrations,...A?.integrations},rpcUrls:{...T.rpcUrls,...A?.rpcUrls},v3SwapFlow:{...T.v3SwapFlow,...A?.v3SwapFlow},wallets:T.wallets.concat(A?.wallets||[]),widgetKey:A?.widgetKey||T.widgetKey})),setEndpoint:(A,T)=>N((H)=>({endpoints:{...H.endpoints,[A]:T}})),setEnv:(A,T)=>N((H)=>({envs:{...H.envs,[A]:T}})),setFeeMultipliers:(A)=>N(()=>({feeMultipliers:A})),setIntegrationConfig:(A,T)=>N((H)=>({integrations:{...H.integrations,[A]:T}})),setRequestOptions:(A)=>N((T)=>({requestOptions:{retry:{...T.requestOptions.retry,...A.retry},timeoutMs:A.timeoutMs||T.requestOptions.timeoutMs}})),setRpcUrl:(A,T)=>N((H)=>({rpcUrls:{...H.rpcUrls,[A]:T}})),setWidgetKey:(A)=>N({widgetKey:A})})),Q={get:(N)=>j.getState()[N],getState:j.getState,reinitialize:()=>j.setState(lN),set:(N)=>j.getState().setConfig(N),setApiKey:(N,A)=>j.getState().setApiKey(N,A),setEndpoint:(N,A)=>j.getState().setEndpoint(N,A),setEnv:(N,A)=>j.getState().setEnv(N,A),setFeeMultipliers:(N)=>j.getState().setFeeMultipliers(N),setIntegrationConfig:(N,A)=>j.getState().setIntegrationConfig(N,A),setRequestOptions:(N)=>j.getState().setRequestOptions(N),setRpcUrl:(N,A)=>j.getState().setRpcUrl(N,A),setWidgetKey:(N)=>j.getState().setWidgetKey(N)};var nT={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_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_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,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 zN(N){return JSON.stringify(N,(A,T)=>typeof T==="bigint"?T.toString():T)}class M extends Error{static ErrorCode=nT;errorKey;info;constructor(N,A){let T=typeof N==="string",H=T?N:N.errorKey,P=T?void 0:N.info,u=`${H}${P?`: ${zN(P)}`:""}`;super(u);if(Object.setPrototypeOf(this,M.prototype),this.name="SwapKitError",this.errorKey=H,this.info=P,this.cause=A,A){let F=A instanceof Error?`${A.message}${A.cause?` (${A.cause})`:""}`:zN(A);console.error(`SwapKitError [${H}]: ${F}`)}else if(P)console.error(`SwapKitError [${H}]: ${zN(P)}`)}}var RT=(N)=>new Promise((A)=>setTimeout(A,N)),uT=(N,{baseDelay:A,backoffMultiplier:T,maxDelay:H})=>Math.min(A*T**N,H);function FT(N,A){if(N instanceof Error&&N.name==="AbortError")return!0;if(N instanceof TypeError)return!0;if(A===429)return!0;if(A&&A>=500&&A<600)return!0;return!1}var IT=async(N,A)=>{let T=await fetch(N,A),H;try{H=await T.json()}catch{if(!T.ok)throw new M({errorKey:"helpers_invalid_response",info:{status:T.status,statusText:T.statusText}},{status:T.status,statusText:T.statusText});return{}}if(!T.ok){let u={data:H?.data,error:H?.error,message:H?.message,status:T.status};throw new M({errorKey:H?.error||"helpers_invalid_response",info:u},u)}let P=H?.routes?.length||H?.result||H?.data&&!H?.error;if(H?.error&&!P){let u={data:H.data,error:H.error,message:H.message,status:T.status};throw new M({errorKey:H.error,info:u},u)}if(H?.providerErrors?.length||H?.error&&P)console.warn("[SwapKit] Partial errors in response:",H.providerErrors||H.error);return H};function $N(N,A={}){return async function(H,P={}){let{searchParams:u,json:F,body:B,headers:$,dynamicHeader:Y,retry:w,timeoutMs:_,abortController:W,onError:U,onSuccess:m,responseHandler:x,...b}={...A,...P},TN=Q.get("requestOptions"),S={...TN.retry,...w},BN=!!F||H.endsWith(".json"),gN=BT(H,u),yN=Y?await Y():{},HN=OT(BN,{...$,...yN}),d=BN?JSON.stringify(F):B,QN;for(let tN=0;tN<=S.maxRetries;tN++){let fN=W||new AbortController,CN=setTimeout(()=>fN.abort(),_||TN.timeoutMs);try{let K=await IT(gN,{...b,body:d,headers:HN,method:N,signal:fN.signal});return clearTimeout(CN),m?.(K)||x?.(K)||K}catch(K){clearTimeout(CN),QN=K;let hA=K?.cause?.status;if(tN>=S.maxRetries||!FT(K,hA))return U?U(K):Promise.reject(K);await RT(uT(tN,S))}}return U?U(QN):Promise.reject(QN)}}function OT(N,A){return{...A,...N&&{"Content-Type":"application/json"}}}function BT(N,A){let T=new URL(N);if(A)T.search=new URLSearchParams(A).toString();return T.toString()}var t={extend:(N)=>({extend:(A)=>t.extend({...N,...A}),get:$N("GET",N),post:$N("POST",N)}),get:$N("GET"),post:$N("POST")};import{Chain as z,CosmosChains as gT,EVMChains as tT,StagenetChains as $T,UTXOChains as GT}from"@swapkit/types";import{match as sN}from"ts-pattern";import{Chain as JN}from"@swapkit/types";function cP(N){if(N<0)throw new M({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:N}});return 10+N}function lP(N){if(N<0)throw new M({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:N}});return Math.round((10+N*1.0512)*10000000000)/10000000000}function rP(N,A){try{return N()}catch(T){if(A)throw new M(A,T);return}}function iP(N){switch(N){case JN.THORChain:return`${N}.RUNE`;case JN.Cosmos:return`${N}.ATOM`;case JN.BinanceSmartChain:return`${N}`;default:return`${N}.${N}`}}var rN=new Set;function c({condition:N,id:A,warning:T}){if(N){if(rN.has(A))return;console.warn(T),rN.add(A)}}function MT(N){return sN(N).with(...tT,()=>({id:1,jsonrpc:"2.0",method:"eth_blockNumber",params:[]})).with(...GT,()=>({id:"test",jsonrpc:"1.0",method:"getblockchaininfo",params:[]})).with(...gT,...$T,()=>({id:1,jsonrpc:"2.0",method:"status",params:{}})).with(z.Polkadot,z.Chainflip,()=>({id:1,jsonrpc:"2.0",method:"system_health",params:[]})).with(z.Solana,()=>({id:1,jsonrpc:"2.0",method:"getHealth"})).with(z.Sui,()=>({id:1,jsonrpc:"2.0",method:"sui_getSystemState",params:[]})).with(z.Ton,()=>({id:1,jsonrpc:"2.0",method:"getAddressInformation",params:{address:""}})).with(z.Aptos,z.Tron,z.Radix,z.Stellar,()=>"").with(z.HyperCore,()=>({type:"meta"})).with(z.Near,()=>({id:"dontcare",jsonrpc:"2.0",method:"status",params:[]})).with(z.Ripple,()=>({id:1,jsonrpc:"2.0",method:"ping",params:[{}]})).with(z.Starknet,()=>({id:1,jsonrpc:"2.0",method:"starknet_chainId",params:[]})).otherwise(()=>{throw new M("helpers_chain_not_supported",{chain:N})})}function _T(N){return sN(N).with(z.Aptos,()=>"/-/healthy").with(z.HyperCore,()=>"/info").with(z.Radix,()=>"/status/network-configuration").with(z.Stellar,()=>"").with(z.Tron,()=>"/wallet/getnowblock").otherwise(()=>"")}async function iN(N,A){try{let T=A.startsWith("wss")?A.replace("wss","https"):A;return(await fetch(`${T}${_T(N)}`,{body:JSON.stringify(MT(N)),cache:"no-store",headers:{"Content-Type":"application/json"},method:"POST",signal:AbortSignal.timeout(3000)})).ok}catch{return!1}}var ZN=new Map,DT=120000;function YT(N){let[A=""]=Q.get("rpcUrls")[N];if(!A)throw c({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 ${N}.`}),new M("helpers_chain_no_public_or_set_rpc_url",{chain:N});let T=ZN.get(N);if(T&&Date.now()-T.timestamp<DT)return T.url;return ZN.set(N,{timestamp:Date.now(),url:A}),A}async function l(N){let A=YT(N),[,...T]=Q.get("rpcUrls")[N];if(await iN(N,A))return A;for(let P of T)if(await iN(N,P))return ZN.set(N,{timestamp:Date.now(),url:P}),P;throw new M("helpers_chain_rpc_connection_failed",{chain:N,fallbackUrls:T,primaryRpcUrl:A})}function HL(N){c({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 FL=[`${I.Maya}.MAYA`,`${I.Maya}.CACAO`,`${I.Ethereum}.THOR`,`${I.Ethereum}.vTHOR`,`${I.Kujira}.USK`,`${I.Ethereum}.FLIP`,`${I.Radix}.XRD`],NA=[I.Arbitrum,I.Aurora,I.Base,I.Ethereum,I.Optimism];async function XT(N){let{baseDecimal:A}=y(I.Radix);try{let T=await l(I.Radix),{manager:H}=await t.post(`${T}/state/resource`,{body:JSON.stringify({network:"mainnet",resource_address:N}),headers:{Accept:"*/*","Content-Type":"application/json"}});return H?.divisibility?.value?.divisibility}catch(T){let H=T instanceof Error?T.message:String(T);return console.warn(`Failed to fetch Radix asset decimals for ${N}: ${H}`),A}}async function ET(N){try{let A=await l(I.Radix);return(await t.post(`${A}/state/entity/details`,{body:JSON.stringify({addresses:[N],opt_ins:{explicit_metadata:["symbol"]}}),headers:{Accept:"*/*","Content-Type":"application/json"}})).items[0]?.explicit_metadata?.items.find((P)=>P.key==="symbol")?.value.typed.value||void 0}catch(A){let T=A instanceof Error?A.message:String(A);return console.warn(`Failed to fetch Radix asset symbol for ${N}: ${T}`),""}}async function AA({chain:N,address:A,methodHex:T,id:H}){let P=await l(N);return t.post(P,{body:JSON.stringify({id:H,jsonrpc:"2.0",method:"eth_call",params:[{data:T,to:A.toLowerCase()},"latest"]}),headers:{accept:"*/*","cache-control":"no-cache","content-type":"application/json"}})}async function QT(N){if(!N||N==="0x")return"UNKNOWN";try{let{AbiCoder:A}=await import("ethers");return A.defaultAbiCoder().decode(["string"],N)[0].trim()}catch(A){return console.warn(`Failed to decode ABI string from ${N}: ${A}`),"UNKNOWN"}}function wT(N,A){if(!N||N==="0x")return A;try{return Number(N)}catch(T){return console.warn(`Failed to decode ABI uint8 from ${N}: ${T}`),A}}async function xT({chain:N,address:A}){let{baseDecimal:T}=y(N),H=A.toLowerCase();if(A===""||!H.startsWith("0x"))return T;let P=await AA({address:A,chain:N,id:2,methodHex:"0x313ce567"}).catch((F)=>{return console.warn(`Could not fetch decimals for ${A} on ${N}: ${F.message}`),{result:""}});return wT(P.result,T)}async function bT({chain:N,address:A}){let T=A.toLowerCase();if(T===""||!T.startsWith("0x"))return;let H=await AA({address:A,chain:N,id:1,methodHex:"0x95d89b41"}).catch((u)=>{return console.warn(`Could not fetch symbol for ${A} on ${N}: ${u.message}`),{result:""}});return await QT(H.result)}async function eN({rpcUrl:N,contractAddress:A,functionSelector:T}){return(await t.post(`${N}/wallet/triggerconstantcontract`,{body:JSON.stringify({contract_address:A,function_selector:T,owner_address:A,parameter:"",visible:!0}),headers:{accept:"application/json","content-type":"application/json"}}).catch(()=>{return}))?.constant_result?.[0]}function aN(N){let A=N.match(/.{2}/g)?.map((T)=>Number.parseInt(T,16))??[];return new TextDecoder().decode(new Uint8Array(A))}function zT(N){return nN(N).with(void 0,()=>{return}).when((A)=>A.length>=128,(A)=>{let T=Number.parseInt(A.slice(64,128),16);return aN(A.slice(128,128+T*2))}).when((A)=>A.length===64,(A)=>{let T=A.replace(/0+$/,"");if(T.length>0&&T.length%2===0)return aN(T);return}).otherwise(()=>{return})}function TA({chain:N,address:A}){let{baseDecimal:T}=y(N),H={decimals:T,ticker:void 0};return nN(N).with(...UT,async()=>{try{let{isAddress:P,getAddress:u}=await import("ethers");if(!P(u(A.replace(/^0X/,"0x"))))return H;let[F,B]=await Promise.all([bT({address:A,chain:N}),xT({address:A,chain:N})]);return{decimals:B,ticker:F}}catch(P){return console.warn(`Failed to fetch token info for ${A} on ${N}: ${P?.code} ${P?.message}`),H}}).with(I.Solana,async()=>{if(!A)return H;try{let P=await fetch(`https://lite-api.jup.ag/tokens/v2/search?query=${A}`);if(P.ok){let u=await P.json(),F=Array.isArray(u)?u[0]:u;if(F)return{decimals:F.decimals??T,ticker:F.symbol||void 0}}}catch(P){console.warn(`Failed to fetch Solana token info for ${A}: ${P?.code} ${P?.message}`)}return H}).with(I.Tron,async()=>{if(!A)return H;try{let P=await l(I.Tron),[u,F]=await Promise.all([eN({contractAddress:A,functionSelector:"symbol()",rpcUrl:P}),eN({contractAddress:A,functionSelector:"decimals()",rpcUrl:P})]),B=zT(u);return{decimals:u!==void 0&&F?Number(BigInt(`0x${F}`)):T,ticker:B}}catch(P){let u=P instanceof Error?P.message:String(P);return console.warn(`Failed to fetch Tron token info for ${A}: ${u}`),H}}).with(I.Near,async()=>{if(!A)return H;try{let{JsonRpcProvider:P}=await import("@near-js/providers"),u=await l(I.Near),B=await new P({url:u}).query({account_id:A,args_base64:Buffer.from("{}").toString("base64"),finality:"final",method_name:"ft_metadata",request_type:"call_function"}),$=JSON.parse(Buffer.from(B.result).toString());return{decimals:$?.decimals||T,ticker:$?.symbol}}catch(P){let u=P instanceof Error?P.message:String(P);return console.warn(`Failed to fetch Near token info for ${A}: ${u}`),H}}).with(I.Radix,async()=>{if(!A)return H;try{let[P,u]=await Promise.all([ET(A),XT(A)]);return{decimals:u,ticker:P}}catch(P){let u=P instanceof Error?P.message:String(P);return console.warn(`Failed to fetch Radix token info for ${A}: ${u}`),H}}).otherwise(async()=>H)}function GN({chain:N,symbol:A}){return nN(N).with(...NA,()=>A==="ETH").with(I.Avalanche,()=>A==="AVAX").with(I.Berachain,()=>A==="BERA").with(I.Hyperevm,()=>A==="HYPE").with(I.HyperCore,()=>A==="HYPE").with(I.BinanceSmartChain,()=>A==="BNB").with(I.Gnosis,()=>A==="xDAI"||A==="XDAI").with(I.Monad,()=>A==="MON").with(I.XLayer,()=>A==="OKB").with(I.Maya,()=>A==="CACAO").with(I.Cosmos,()=>A==="ATOM").with(I.THORChain,()=>A==="RUNE").with(I.Tron,()=>A==="TRX").with(I.Ripple,()=>A==="XRP").with(I.Radix,()=>`${N}.${A}`===MN(N).identifier).otherwise(()=>A===N)}var MN=(N)=>{let{baseDecimal:A}=y(N);return nN(N.toUpperCase()).with(...NA,(H)=>({decimal:A,identifier:`${H}.ETH`})).with(I.THORChain,(H)=>({decimal:A,identifier:`${H}.RUNE`})).with(I.Cosmos,(H)=>({decimal:A,identifier:`${H}.ATOM`})).with(I.Maya,(H)=>({decimal:10,identifier:`${H}.CACAO`})).with(I.BinanceSmartChain,(H)=>({decimal:A,identifier:`${H}.BNB`})).with(I.Monad,(H)=>({decimal:A,identifier:`${H}.MON`})).with(I.Avalanche,(H)=>({decimal:A,identifier:`${H}.AVAX`})).with(I.Gnosis,(H)=>({decimal:A,identifier:`${H}.xDAI`})).with(I.XLayer,(H)=>({decimal:A,identifier:`${H}.OKB`})).with(I.Berachain,(H)=>({decimal:A,identifier:`${H}.BERA`})).with(I.Hyperevm,(H)=>({decimal:A,identifier:`${H}.HYPE`})).with(I.HyperCore,(H)=>({decimal:A,identifier:`${H}.HYPE`})).with(I.Tron,(H)=>({decimal:A,identifier:`${H}.TRX`})).with(I.Solana,I.Chainflip,I.Kujira,I.Ripple,I.Polkadot,I.Near,...ST,(H)=>({decimal:A,identifier:`${H}.${H}`})).with(I.Radix,"XRD.XRD",()=>({decimal:A,identifier:"XRD.XRD"})).with(I.Polygon,"POL.POL",()=>({decimal:A,identifier:"POL.POL"})).with("KUJI.USK",(H)=>({decimal:6,identifier:H})).with("ETH.FLIP",()=>({decimal:y(I.Ethereum).baseDecimal,identifier:"ETH.FLIP-0x826180541412D574cf1336d22c0C0a287822678A"})).with("ETH.THOR",()=>({decimal:y(I.Ethereum).baseDecimal,identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044"})).with("ETH.vTHOR",()=>({decimal:y(I.Ethereum).baseDecimal,identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d"})).with("MAYA.CACAO",(H)=>({decimal:10,identifier:H})).with("MAYA.MAYA",(H)=>({decimal:4,identifier:H})).otherwise(()=>({decimal:A,identifier:N}))};function VN({chain:N,symbol:A}){if(A.includes("/"))return"Synth";if(A.includes("~"))return"Trade";return nN(N).with(I.Radix,()=>A===I.Radix||`${N}.${A}`===MN(N).identifier).with(I.Arbitrum,I.Optimism,I.Base,I.Aurora,()=>A===I.Ethereum).with(I.Cosmos,()=>A==="ATOM").with(I.BinanceSmartChain,()=>A==="BNB").with(I.Maya,()=>A==="CACAO").with(I.Monad,()=>A==="MON").with(I.THORChain,()=>A==="RUNE").with(I.Tron,()=>A==="TRX").with(I.Hyperevm,()=>A==="HYPE").with(I.HyperCore,()=>A==="HYPE").with(I.XLayer,()=>A==="OKB").otherwise(()=>A===N)?"Native":N}var f=(N)=>{let[A,...T]=N.split("."),H=N.includes("/"),P=T.join("."),u=P?.split("-"),F=u?.length?u.length===1?u[0]:u.slice(0,-1).join("-"):void 0;return{chain:A,symbol:P,synth:H,ticker:F}};function RN(N,A){let H=A===I.Near?N.indexOf("-"):N.lastIndexOf("-");if(H===-1)return{address:void 0,ticker:N};return{address:N.slice(H+1),ticker:N.slice(0,H)}}function IL(N){return`https://storage.googleapis.com/token-list-swapkit-dev/images/${N.toLowerCase()}.png`}async function OL(N){let{loadTokenLists:A}=await import("./tokens.js"),T=await A(),H=Object.values(T).flatMap((u)=>u.tokens);if("identifier"in N)return H.find((u)=>u.identifier===N.identifier)?.identifier;let P=N.contract.toLowerCase();for(let u of H){let{chain:F,symbol:B}=f(u.identifier);if(F!==N.chain)continue;let{address:$}=RN(B,F);if($?.toLowerCase()===P)return u.identifier}return}var HA=["TERRA",...Q.get("chains")];function PA(N=""){let A=N.toUpperCase(),[T]=A.split(".");if(HA.includes(T))return!0;let[H]=A.split("/");if(HA.includes(H))return!0;throw new M({errorKey:"helpers_invalid_identifier",info:{identifier:N,message:`Invalid identifier: ${N}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`}})}function $L(N){if(N.length>30)return!1;let A=/^[a-zA-Z0-9+_-]+$/g;return!!N.match(A)}import{match as _N}from"ts-pattern";var r=8,JT=10;function h({value:N,bigIntDecimal:A=r,decimal:T=r}){if(T===0)return N.toString();let H=N<0n,P=N.toString().substring(H?1:0),u=T-(P.length-1);if(u>0)P="0".repeat(u)+P;let F=P.length-T,B=P.slice(-T);if(Number.parseInt(B[A]||"0",10)>=5){let Y=Number.parseInt(B[A-1]||"0",10);B=`${B.substring(0,A-1)}${Y+1}`}else B=B.substring(0,A);return`${H?"-":""}${P.slice(0,F)}.${B}`.replace(/\.?0*$/,"")}class p{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(N,A){return new p({decimal:A,value:h({bigIntDecimal:A,decimal:A,value:N})})}static shiftDecimals({value:N,from:A,to:T}){return p.fromBigInt(N.getBaseValue("bigint")*C(T)/C(A),T)}constructor(N){let A=WN(N),T=typeof N==="object";this.decimal=T?N.decimal:void 0,this.decimalMultiplier=T&&"decimalMultiplier"in N?N.decimalMultiplier:C(Math.max(LA(DN(A)),this.decimal||0)),this.#P(A)}set(N){return new this.constructor({decimal:this.decimal,identifier:this.toString?.({includeSynthProtocol:!0}),value:N})}add(...N){return this.#A("add",...N)}sub(...N){return this.#A("sub",...N)}mul(...N){return this.#A("mul",...N)}div(...N){return this.#A("div",...N)}gt(N){return this.#N("gt",N)}gte(N){return this.#N("gte",N)}lt(N){return this.#N("lt",N)}lte(N){return this.#N("lte",N)}eqValue(N){return this.#N("eqValue",N)}getValue(N,A){let T=uN(this.decimalMultiplier),H=A!==void 0?A:this.decimal,P=H!==void 0?H:T;if(H!==void 0&&H<T){if(this.formatBigIntToSafeValue(this.bigIntValue,H)==="0"&&this.bigIntValue!==0n)P=T}let u=this.formatBigIntToSafeValue(this.bigIntValue,P);return _N(N).with("number",()=>Number(u)).with("string",()=>u).with("bigint",()=>{return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}).otherwise(()=>u)}getBaseValue(N,A){let T=this.decimalMultiplier/C(A||this.decimal||r),H=VT(this.bigIntValue,T);return _N(N).with("number",()=>Number(H)).with("string",()=>H.toString()).otherwise(()=>H)}getBigIntValue(N,A){if(!A&&typeof N==="object")return N.bigIntValue;let T=WN(N),H=DN(T);if(H==="0"||H==="undefined")return 0n;return this.#H(H,A)}toSignificant(N=6){let A=this.getValue("string"),[T="",H=""]=A.split("."),P=Number.parseInt(T,10)>0;if((P?T.length+H.length:H.length)<=N)return A;if(T.length>=N)return T.slice(0,N).padEnd(T.length,"0");if(P)return`${T}.${H.slice(0,N-T.length)}`;let F=Number.parseInt(H,10).toString(),B=F.slice(0,N),$=H.length-F.length;return`0.${B.padStart($+B.length,"0")}`}toFixed(N=6){let A=this.getValue("string"),T=A.startsWith("-"),[H="0",P=""]=(T?A.slice(1):A).split("."),u=H==="0"&&Number.parseInt(P.slice(0,N),10)===0,F=T&&!u?"-":"";if(N===0){if(H==="0"&&!P)return"0";return P&&Number.parseInt(P[0]||"0",10)>=5?`${F}${BigInt(H)+1n}.0`:`${F}${H}.0`}if(!P)return`${F}${H}.${"0".repeat(N)}`;let B=P[N];if(!(B&&Number.parseInt(B,10)>=5))return`${F}${H}.${P.slice(0,N).padEnd(N,"0")}`;let Y=BigInt(P.slice(0,N).padEnd(N,"0"))+1n,w=10n**BigInt(N);if(Y>=w)return`${F}${BigInt(H)+1n}.${"0".repeat(N)}`;return`${F}${H}.${Y.toString().padStart(N,"0")}`}toAbbreviation(N=2){let A=this.getValue("string"),T=Number(A),H=["","K","M","B","T","Q","Qi","S"],P=Math.floor(Math.log10(Math.abs(T))/3);if(P===0||!H[P])return A;return`${(T/10**(P*3)).toFixed(N)}${H[P]}`}toCurrency(N="$",{currencyPosition:A="start",decimal:T=2,decimalSeparator:H=".",thousandSeparator:P=",",trimTrailingZeros:u=!0}={}){let F=this.toFixed(T),B=A==="end",[$="0",Y=""]=F.split("."),w=$.replace(/\B(?=(\d{3})+(?!\d))/g,P),_=Y&&Number.parseInt(Y,10)>0,W=_?`${w}${H}${Y}`:w,m=W.length<100&&u&&_?W.replace(/\.?0*$/,""):W;return B?`${m}${N}`:`${N}${m}`}formatBigIntToSafeValue(N,A){let T=A||this.decimal||r,H=Math.max(T,uN(this.decimalMultiplier));return h({bigIntDecimal:T,decimal:H,value:N})}#A(N,...A){let T=this.#T(this,...A),H=uN(this.decimalMultiplier),u=Math.max(T,H)+JT,F=C(u),B=A.reduce((Y,w)=>{let _=this.getBigIntValue(w,u);return _N(N).with("add",()=>Y+_).with("sub",()=>Y-_).with("mul",()=>Y*_/F).with("div",()=>{if(_===0n)throw RangeError("Division by zero");return Y*F/_}).otherwise(()=>Y)},this.bigIntValue*F/this.decimalMultiplier),$=h({bigIntDecimal:u,decimal:u,value:B});return new this.constructor({decimal:this.decimal,decimalMultiplier:C(u),identifier:this.toString(),value:$})}#N(N,...A){let T=this.#T(this,...A),H=this.getBigIntValue(A[0]||"0",T),P=this.getBigIntValue(this,T);return _N(N).with("gt",()=>P>H).with("gte",()=>P>=H).with("lt",()=>P<H).with("lte",()=>P<=H).with("eqValue",()=>P===H).otherwise(()=>!1)}#P(N){let A=DN(N)||"0";this.bigIntValue=this.#H(A)}#T(...N){let A=N.map((T)=>{return typeof T==="object"?T.decimal||uN(T.decimalMultiplier):LA(DN(T))}).filter(Boolean);return Math.max(...A,r)}#H(N,A){let T=A?C(A):this.decimalMultiplier,H=uN(T),[P="",u=""]=N.split(".");return BigInt(`${P}${u.padEnd(H,"0")}`)}}var ZT=Intl.NumberFormat("fullwide",{maximumFractionDigits:20,useGrouping:!1});function DN(N){let T=`${typeof N==="number"?ZT.format(N):WN(N)}`.replaceAll(",",".").split(".");return T.length>1?`${T.slice(0,-1).join("")}.${T.at(-1)}`:T[0]||"0"}function LA(N){let A=N.split(".")[1]?.length||0;return Math.max(A,r)}function WN(N){return typeof N==="object"?"getValue"in N?N.getValue("string"):N.value:N}function VT(N,A){if(A===0n)throw Error("Cannot divide by zero");let T=A/2n;return N>=0n&&A>=0n||N<0n&&A<0n?(N+T)/A:(N-T)/A}function C(N){return 10n**BigInt(N)}function uN(N){return Math.log10(Number.parseFloat(N.toString()))}var o=[X.HyperCore,X.Near,X.Ripple,X.Solana,X.Sui,X.Ton,X.Tron],qN=[X.THORChain,X.Maya],i=new Map,YN=new Map,s=new Map,vT=3600000;function qT(N){let A=s.get(N);if(A?.timestamp&&Date.now()-A.timestamp>vT){s.delete(N);return}return A}function mT(N,A){if(s.size>1000){let T=s.keys().next().value;if(T)s.delete(T)}s.set(N,{...A,timestamp:Date.now()})}class v extends p{address;chain;isGasAsset=!1;isSynthetic=!1;isTradeAsset=!1;symbol;tax;ticker;type;chainId;constructor({value:N,decimal:A,tax:T,chain:H,symbol:P,identifier:u}){super(typeof N==="object"?N:{decimal:A,value:N});let F=RA(u||`${H}.${P}`);this.type=VN(F),this.tax=T,this.chain=F.chain,this.ticker=F.ticker,this.symbol=F.symbol,this.address=F.address,this.isSynthetic=F.isSynthetic,this.isTradeAsset=F.isTradeAsset,this.isGasAsset=F.isGasAsset,this.chainId=FN(F.chain).chainId}toString({includeSynthProtocol:N}={}){return(this.isSynthetic||this.isTradeAsset)&&!N?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 N=this.symbol.replace(/\./g,"__");return`${this.chain}.${N}`}getIconUrl(){return i.get(this.toString())?.logoURI}eqAsset({chain:N,symbol:A}){return this.chain===N&&this.symbol===A}eq(N){return this.eqAsset(N)&&this.eqValue(N)}static fromUrl(N,A=0){let T=N.indexOf(".");if(T===-1)throw new M({errorKey:"helpers_invalid_asset_url",info:{urlAsset:N}});let H=N.slice(0,T),P=N.slice(T+1),u=vN({chain:H,rest:P}).when(({rest:F})=>F.includes(".."),({chain:F,rest:B})=>`${F}.${B.replace(/\.\./g,"~")}`).when(({chain:F,rest:B})=>qN.includes(F)&&B.includes("."),({chain:F,rest:B})=>`${F}.${B.replace(/\./g,"/")}`).otherwise(({chain:F,rest:B})=>`${F}.${B.replace(/__/g,".")}`);return v.from({asset:u,value:A})}static from({value:N=0,fromBaseDecimal:A,asyncTokenLookup:T,...H}){let P=N instanceof p?N.getValue("string"):N,u=oT(H),F=!u.startsWith(X.Sui)&&u.includes(":");if(T&&F){let[HN,d]=u.split(":");return KT({address:d,chain:HN,fromBaseDecimal:A,parsedValue:P})}let B=F?u.split(":").join(".UNKNOWN-"):u,{identifier:$,decimal:Y}=MN(B),{chain:w,isSynthetic:_,isTradeAsset:W,address:U}=RA($),{baseDecimal:m}=FN(w),x=i.get(o.includes(w)?$:$.toUpperCase());if(!x&&T&&!_&&!W)return(async()=>{let{ticker:HN}=f($),d=await uA({address:U,chain:w,ticker:HN});return jN({decimal:d.decimals,identifier:d.identifier,value:A?e(BigInt(P),A):P})})();let b=x?.decimal||Y;c({condition:!b&&!T,id:`assetValue_static_decimal_not_found_${w}`,warning:`Couldn't find static decimal for one or more tokens on ${w} (Using default ${m} decimal as fallback).
|
|
2
|
-
This can result in incorrect calculations and mess with amount sent on transactions.
|
|
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:TN,identifier:S,tax:BN}=x||{decimal:b||m,identifier:$},gN=A?e(BigInt(P),A):e(P,TN);return _||W?kT(S,gN):jN({decimal:TN,identifier:S,tax:BN,value:gN})}static async loadStaticAssets(N){let{loadTokenLists:A}=await import("@swapkit/tokens"),T=await A(N);for(let{tokens:H}of Object.values(T))for(let P of H){let{identifier:u}=P,{chain:F,symbol:B}=f(u),{address:$}=RN(B,F),{baseDecimal:Y}=FN(F),w=o.includes(F)?u:u.toUpperCase(),_="decimals"in P&&P.decimals!==void 0?P.decimals:Y,W="logoURI"in P&&P.logoURI?P.logoURI:`https://storage.googleapis.com/token-list-swapkit-dev/images/${u.toLowerCase()}.png`,U={decimal:_,identifier:u,logoURI:W,tax:"tax"in P?P.tax:void 0};if(i.set(w,U),$){let m=o.includes(F)?`${F}:${$}`:`${F}:${$.toUpperCase()}`;YN.set(m,u)}}return!0}static setStaticAssets(N){i.clear(),YN.clear();for(let[A,T]of N.entries()){let{identifier:H}=T,{chain:P,symbol:u}=f(H),{address:F}=RN(u,P),{baseDecimal:B}=FN(P),$=T.chain??P,Y=T.address??F,w=o.includes($)?H:H.toUpperCase(),_=T.decimals??T.decimal??B,W=T.logoURI??`https://storage.googleapis.com/token-list-swapkit-dev/images/${H.toLowerCase()}.png`,U={decimal:_,identifier:w,logoURI:W,tax:T.tax};if(i.set(w,U),Y){let m=o.includes($)?`${$}:${Y}`:`${$}:${Y.toUpperCase()}`;YN.set(m,H)}}return!0}static get staticAssets(){return i}}function xL(N){let A=v.from({chain:N});return vN(N).with(X.Bitcoin,X.Litecoin,X.BitcoinCash,X.Dash,()=>A.set(0.00010001)).with(X.Dogecoin,()=>A.set(1.00000001)).with(X.Avalanche,X.Ethereum,X.Arbitrum,X.BinanceSmartChain,()=>A.set(0.00000001)).with(X.THORChain,X.Maya,()=>A.set(0)).with(X.Cosmos,X.Kujira,()=>A.set(0.000001)).otherwise(()=>A.set(0.00000001))}async function uA({chain:N,address:A,ticker:T}){let P=o.includes(N)?`${N}:${A||T}`:`${N}:${A||T}`.toUpperCase(),u=qT(P);if(u)return u;if(!A){let{baseDecimal:$}=FN(N);return{decimals:$,identifier:`${N}.${T||"UNKNOWN"}`}}let F=await TA({address:A,chain:N}),B=`${N}.${F.ticker||T||"UNKNOWN"}-${A}`;return c({condition:!!(!F.ticker&&T),id:`async_token_lookup_failed_${N}_${A}`,warning:`Could not fetch token metadata for ${N}:${A} from chain. Using user-provided ticker (${T}) with baseDecimal (${F.decimals}).`}),F.ticker&&mT(P,{decimals:F.decimals,identifier:B}),{decimals:F.decimals,identifier:B}}function jN({identifier:N,decimal:A,value:T,tax:H}){return PA(N),new v({decimal:A,identifier:N,tax:H,value:e(T,A)})}function kT(N,A=0){let T=N.includes(".")?N.split(".")?.[0]?.toUpperCase():void 0,H=T?qN.includes(T):!1,P=N.slice(0,14).includes("~")?"~":"/",[u,F]=H?N.split(".").slice(1).join().split(P):N.split(P);if(!(u&&F))throw new M({errorKey:"helpers_invalid_asset_identifier",info:{identifier:N}});return new v({decimal:8,identifier:`${T||X.THORChain}.${u}${P}${F}`,value:e(A,8)})}async function KT({address:N,chain:A,fromBaseDecimal:T,parsedValue:H}){let{decimals:P,identifier:u}=await uA({address:N,chain:A}),F=T?e(BigInt(H),T):H;return jN({decimal:P,identifier:u,value:F})}function e(N,A){return typeof N==="bigint"?h({bigIntDecimal:A,decimal:A,value:N}):N}function pT(N){let A=vN(N).when((T)=>("chain"in T)&&T.chain!==void 0,({chain:T})=>T).otherwise((T)=>{let H=f(T.asset);return H.synth?X.THORChain:H.chain});if(!WT.includes(A.toUpperCase())){let T="asset"in N?N.asset:A;throw new M({errorKey:"helpers_invalid_asset_identifier",info:{identifier:T,message:`Unsupported chain "${A}" - use the AssetValue constructor directly`}})}}function oT(N){if(pT(N),"chain"in N){let{chain:P,address:u}=N;if(u){let F=o.includes(P)?`${P}:${u}`:`${P}:${u.toUpperCase()}`,B=YN.get(F);if(B)return B;return F}return P}let{chain:A,symbol:T}=f(N.asset);return VN({chain:A,symbol:T})==="Native"?A:N.asset}function yT(N,A,T){let H=N.split("."),P=H[0]?.toUpperCase(),u=qN.includes(P),F=T?"~":"/",[B,$=""]=u?H.slice(1).join(".").split(F):N.split(F);if(!(B&&$))throw new M({errorKey:"helpers_invalid_asset_identifier",info:{identifier:N}});let{ticker:Y,address:w}=FA({chain:B,symbol:$}),_=`${B}${F}${$}`;return{address:w,chain:P,isGasAsset:!1,isSynthetic:A,isTradeAsset:T,symbol:_,ticker:Y}}function fT(N){let A=N.indexOf("."),T=(A===-1?N:N.slice(0,A)).toUpperCase(),H=A===-1?N:N.slice(A+1),{address:P,ticker:u}=FA({chain:T,symbol:H}),F;try{F=P&&jT.includes(T)&&nA(P)?nA(P):P}catch{F=P}let B=F?`${u}-${F}`:H;return{address:F,chain:T,isGasAsset:GN({chain:T,symbol:H}),isSynthetic:!1,isTradeAsset:!1,symbol:B,ticker:u}}function RA(N){let A=N.slice(0,14),T=A.includes("/"),H=A.includes("~");if(T||H)return yT(N,T,H);return fT(N)}function FA({symbol:N,chain:A}){let{ticker:T,address:H}=RN(N,A);return{address:H&&!o.includes(A)?H.toLowerCase():H,ticker:T}}class UN extends p{eq(N){return this.eqValue(N)}static fromBigInt(N,A){return new UN({decimal:A,value:h({bigIntDecimal:A,decimal:A,value:N})})}}function IA(N=!0){return N?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function hT(N=!0){let A=IA(N);return N?`${A}/v2/thorname`:`${A}/v2/mayaname`}function dT(N){return function(T){let H=T?`?status=${T}`:"";return t.get(`${N}/v2/pools${H}`)}}function cT(N){return function(T){return t.get(`${N}/v2/pool/${T}`)}}function lT(N){return function(T,H){let P=H?`?period=${H}`:"";return t.get(`${N}/v2/pool/${T}/stats${P}`)}}function rT(N){return function(T,H){let P=new URLSearchParams;if(H?.interval)P.append("interval",H.interval);if(H?.count)P.append("count",H.count.toString());if(H?.from)P.append("from",H.from.toString());if(H?.to)P.append("to",H.to.toString());let u=P.toString()?`?${P.toString()}`:"";return t.get(`${N}/v2/history/depths/${T}${u}`)}}function iT(N){return function(){return t.get(`${N}/v2/network`)}}function sT(N){return function(){return t.get(`${N}/v2/health`)}}function eT(N){return function(){return t.get(`${N}/v2/nodes`)}}function aT(N){return function(T){return t.get(`${N}/v2/node/${T}`)}}function NH(N){return function(){return t.get(`${N}/v2/mimir/votes`)}}function AH(N){return function(){return t.get(`${N}/v2/mimir`)}}function TH(N){return function(){return t.get(`${N}/v2/constants`)}}function HH(N){return function(){return t.get(`${N}/v2/stats`)}}function PH(N){return function(T){let H=new URLSearchParams;if(T?.interval)H.append("interval",T.interval);if(T?.count)H.append("count",T.count.toString());if(T?.from)H.append("from",T.from.toString());if(T?.to)H.append("to",T.to.toString());let P=H.toString()?`?${H.toString()}`:"";return t.get(`${N}/v2/history/earnings${P}`)}}function LH(N){return function(T,H){let P=new URLSearchParams;if(H?.interval)P.append("interval",H.interval);if(H?.count)P.append("count",H.count.toString());if(H?.from)P.append("from",H.from.toString());if(H?.to)P.append("to",H.to.toString());let u=P.toString()?`?${P.toString()}`:"",F=T?`/swaps/${T}`:"/swaps";return t.get(`${N}/v2/history${F}${u}`)}}function nH(N){return function(T){let H=new URLSearchParams;if(T?.interval)H.append("interval",T.interval);if(T?.count)H.append("count",T.count.toString());if(T?.from)H.append("from",T.from.toString());if(T?.to)H.append("to",T.to.toString());let P=H.toString()?`?${H.toString()}`:"";return t.get(`${N}/v2/history/tvl${P}`)}}function RH(N){if(!N)return"";let A=new URLSearchParams,T=(H,P)=>{if(P!==void 0)A.append(H,typeof P==="number"?P.toString():P)};return T("address",N.address),T("txid",N.txid),T("asset",N.asset),T("type",N.type),T("affiliate",N.affiliate),T("limit",N.limit),T("offset",N.offset),A.toString()?`?${A.toString()}`:""}function uH(N){return function(T){let H=RH(T);return t.get(`${N}/v2/actions${H}`)}}function FH(N){return function(T){return t.get(`${N}/v2/member/${T}`)}}function IH(N){return function(T){let H=T?`/${T}`:"";return t.get(`${N}/v2/members${H}`)}}function OH(N){return function(T,H){let P=H?`&asset=${H}`:"";return t.get(`${N}/v2/saver/${T}${P?`?${P.substring(1)}`:""}`)}}function BH(N){return function(T){return t.get(`${N}/v2/savers/${T}`)}}function gH(N){return function(T,H){let P=new URLSearchParams;if(H?.interval)P.append("interval",H.interval);if(H?.count)P.append("count",H.count.toString());if(H?.from)P.append("from",H.from.toString());if(H?.to)P.append("to",H.to.toString());let u=P.toString()?`?${P.toString()}`:"",F=T?`/savers/${T}`:"/savers";return t.get(`${N}/v2/history${F}${u}`)}}function tH(N){return function(T){return t.get(`${N}/v2/balance/${T}`)}}function $H(N){return async function(T){let H=(P)=>{if(P?.cause?.status===404)return;throw P};return await t.get(`${N}/lookup/${T}`,{onError:H,retry:{maxRetries:1}})}}function GH(N){return async function(T){let H=(P)=>{if(P?.cause?.status===404)return[];throw P};return await t.get(`${N}/rlookup/${T}`,{onError:H,retry:{maxRetries:1}})}}function MH(N){return async function(T){let H=(P)=>{if(P?.cause?.status===404)return[];throw P};return await t.get(`${N}/owner/${T}`,{onError:H,retry:{maxRetries:1}})}}function a({asset:N,value:A}){return v.from({asset:N,fromBaseDecimal:CT(SN.THORChain).baseDecimal,value:A})}function _H({liquidityPositionGetter:N,isThorchain:A}){return async function(H){let P=await N(H),u=A?"rune":"cacao";return P.pools.map((F)=>({[`${u}Pending`]:a({asset:"THOR.RUNE",value:F.runePending}),[`${u}RegisteredAddress`]:F.runeAddress,[`${u}Withdrawn`]:a({asset:"THOR.RUNE",value:F.runeWithdrawn}),[u]:a({asset:"THOR.RUNE",value:F.runeAdded}),asset:a({asset:F.pool,value:F.assetAdded}),assetPending:a({asset:F.pool,value:F.assetPending}),assetRegisteredAddress:F.assetAddress,assetWithdrawn:a({asset:F.pool,value:F.assetWithdrawn}),dateFirstAdded:F.dateFirstAdded,dateLastAdded:F.dateLastAdded,poolShare:new UN(F.liquidityUnits).div(F.pool)}))}}function OA(N){let A=N===SN.THORChain,T=IA(A),H=hT(A),P=FH(T);return{getActions:uH(T),getBalance:tH(T),getConstants:TH(T),getEarningsHistory:PH(T),getHealth:sT(T),getLiquidityPosition:_H({isThorchain:A,liquidityPositionGetter:P}),getLiquidityPositionRaw:P,getMembers:IH(T),getMimir:AH(T),getMimirVotes:NH(T),getNameDetails:$H(H),getNamesByAddress:GH(H),getNamesByOwner:MH(H),getNetworkInfo:iT(T),getNode:aT(T),getNodes:eT(T),getPool:cT(T),getPoolDepthHistory:rT(T),getPoolStats:lT(T),getPools:dT(T),getSaverDetails:OH(T),getSavers:BH(T),getSaversHistory:gH(T),getStats:HH(T),getSwapHistory:LH(T),getTVLHistory:nH(T)}}var BA=OA(SN.THORChain),gA=OA(SN.Maya);var pN={};hN(pN,{getTrackerDetails:()=>dH,getTokenListProviders:()=>sH,getTokenList:()=>eH,getTokenApproval:()=>iH,getSwapTo:()=>nP,getSwapQuote:()=>cH,getRouteWithTx:()=>lH,getPrice:()=>aH,getNearDepositChannel:()=>TP,getGasRate:()=>NP,getChainflipDepositChannel:()=>AP,getChainBalance:()=>rH,SKRequestClient:()=>V});import{EVMChains as CH}from"@swapkit/types";import{match as hH,P as ON}from"ts-pattern";async function tA(N,A,T){let H=`${A}:${T}`,P=new TextEncoder,u=await crypto.subtle.importKey("raw",P.encode(N),{hash:"SHA-256",name:"HMAC"},!1,["sign"]),F=await crypto.subtle.sign("HMAC",u,P.encode(H));return Array.from(new Uint8Array(F)).map((B)=>B.toString(16).padStart(2,"0")).join("")}import{Chain as XN,ChainId as IN}from"@swapkit/types";import{array as E,boolean as k,coerce as _A,number as G,object as g,optional as O,string as n,union as mN,unknown as DA,z as L}from"zod/v4";var YA;((H)=>{H.CHEAPEST="CHEAPEST";H.FASTEST="FASTEST";H.RECOMMENDED="RECOMMENDED"})(YA||={});var EN;((P)=>{P.PSBT="PSBT";P.EVM="EVM";P.COSMOS="COSMOS";P.RADIX="RADIX"})(EN||={});var UA;((b)=>{b.approve="approve";b.claim="claim";b.deposit="deposit";b.donate="donate";b.lending="lending";b.lp_action="lp_action";b.native_contract_call="native_contract_call";b.native_send="native_send";b.stake="stake";b.streaming_swap="streaming_swap";b.swap="swap";b.thorname_action="thorname_action";b.token_contract_call="token_contract_call";b.token_transfer="token_transfer";b.unknown="unknown";b.unstake="unstake"})(UA||={});var SA;((U)=>{U.swap="swap";U.aggregation="aggregation";U.addLiquidity="addLiquidity";U.withdrawLiquidity="withdrawLiquidity";U.addSavers="addSavers";U.withdrawSavers="withdrawSavers";U.borrow="borrow";U.repay="repay";U.name="name";U.donate="donate";U.claim="claim";U.stake="stake";U.unstake="unstake"})(SA||={});var XA;((B)=>{B.unknown="unknown";B.not_started="not_started";B.pending="pending";B.swapping="swapping";B.completed="completed";B.refunded="refunded";B.failed="failed"})(XA||={});var EA;((x)=>{x.not_started="not_started";x.starting="starting";x.broadcasted="broadcasted";x.mempool="mempool";x.inbound="inbound";x.outbound="outbound";x.swapping="swapping";x.completed="completed";x.refunded="refunded";x.partially_refunded="partially_refunded";x.dropped="dropped";x.reverted="reverted";x.replaced="replaced";x.retries_exceeded="retries_exceeded";x.parsing_error="parsing_error"})(EA||={});var pL=g({address:O(n()),chain:L.enum(XN).optional(),chainId:L.enum(IN),coingeckoId:O(n()),decimals:_A.number(),extensions:O(L.looseObject({})),identifier:n(),logoURI:O(n()),name:O(n()),shortCode:O(n()),symbol:O(n()),ticker:n()}),oL=L.object({block:L.optional(L.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:L.optional(L.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:L.optional(L.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:L.optional(L.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((N)=>N.hash&&N.chainId||N.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),yL=L.object({forceUpdate:L.string().toLowerCase().transform((N)=>N==="true").pipe(L.boolean()).optional()}),fL=g({error:n(),message:n()}),NN=g({address:O(n()),chain:L.enum(XN),decimal:O(G()),isGasAsset:k(),isSynthetic:k(),symbol:n(),tax:O(g({buy:G(),sell:G()})),ticker:n()}),QA=g({id:n(),market_cap:G(),name:n(),price_change_24h_usd:G(),price_change_percentage_24h_usd:G(),sparkline_in_7d:E(G()),timestamp:n(),total_volume:G()}).partial(),CL=g({cg:O(QA),identifier:n(),price_usd:G(),provider:n(),timestamp:G()}),wA=E(g({cg:O(QA),identifier:n(),price_usd:G(),provider:n(),timestamp:G()}).partial()),hL=g({affiliate:O(n().describe("Affiliate thorname")),affiliateFee:O(G().describe("Affiliate fee in basis points").refine((N)=>N===Math.floor(N)&&N>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:O(k().describe("Allow smart contract as recipient")),allowSmartContractSender:O(k().describe("Allow smart contract as sender")),buyAsset:n().describe("Asset to buy"),cfBoost:O(k().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:O(n().describe("Address to send asset to")),disableSecurityChecks:O(k().describe("Disable security checks")),includeTx:O(k().describe("Set to true to include an transaction object (EVM only)")),providers:O(E(n().describe("List of providers to use").refine((N)=>J[N]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:O(n().describe("Referrer address (referral program)")),sellAmount:n().describe("Amount of asset to sell").refine((N)=>+N>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:n().describe("Asset to sell"),slippage:O(G().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:O(n().describe("Address to send asset from"))}).refine((N)=>N.sellAsset!==N.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),dL=g({metadata:k(),tokens:E(g({identifier:n()}))}),xA=g({destinationAddress:n()}),DH=xA.extend({affiliateFees:E(g({brokerAddress:n(),feeBps:G()})).optional(),brokerCommissionBps:G().optional(),buyAsset:g({asset:n(),chain:n()}),channelMetadata:g({cfParameters:n().optional(),gasBudget:n().optional(),message:n().optional()}).optional(),dcaParameters:g({chunkInterval:G().optional(),numberOfChunks:G().optional()}).optional(),maxBoostFeeBps:G().optional(),refundParameters:g({minPrice:n().optional(),refundAddress:n().optional(),retryDuration:G().optional()}).optional(),sellAsset:g({asset:n(),chain:n()})}),bA=g({channelId:n(),depositAddress:n()}),$A=xA.extend({affiliateFees:g({feeBps:G(),nearId:n()}).optional(),buyAsset:n(),sellAmount:n(),sellAsset:n(),slippage:_A.number(),sourceAddress:n()}),GA=g({amountIn:n(),amountInFormatted:n(),amountInUsd:n(),amountOut:n(),amountOutFormatted:n(),amountOutUsd:n(),deadline:n().optional(),minAmountIn:n(),minAmountOut:n(),timeEstimate:G().optional(),timeWhenInactive:n().optional()}),cL=GA.extend({depositAddress:n(),quote:GA,signature:n(),timestamp:n(),tx:DA()}),zA=g({buyAsset:n(),buyAssetAmount:n(),buyAssetAmountMaxSlippage:n(),deadline:n().optional(),depositAddress:n(),depositAmount:n(),depositAsset:n(),tx:DA()}),YH=g({evmCalldata:L.optional(L.string()),intentHash:L.optional(L.string()),logs:L.optional(L.unknown()),manifest:L.optional(L.unknown()),memo:L.optional(L.string()),spender:L.optional(L.string()),thorname:L.optional(L.string())}),UH=g({currentStage:n(),inboundConfirmation:G(),inboundObservation:G(),outboundDelay:G(),outboundObservation:G(),streamingSwap:G()}),SH=g({count:O(G()),interval:O(G()),quantity:O(G()),subSwapsMap:O(E(G()))}),XH=L.object({currentLegIndex:L.optional(L.number()),estimatedTimeToComplete:L.number(),estimates:L.optional(UH),providerDetails:L.optional(L.object({streamingDetails:L.optional(SH)}))}),EH=g({affiliate:O(NN),liquidity:O(NN),network:O(NN),protocol:O(NN),tax:O(NN)}),QH=g({affiliate:n(),bps:n(),isReferrer:k()}),wH=g({affiliate:O(n()),affiliateFees:O(E(QH)),broadcastedAt:O(G()),explorerUrl:O(n()),fees:O(EH),images:O(g({chain:O(n()),from:O(n()),provider:O(n()),to:O(n())})),provider:O(L.enum(J)),providerAction:L.optional(L.enum(SA)),quoteId:O(n()),wallet:O(n())}),AN=L.object({block:L.number(),chainId:L.enum(IN),finalAddress:L.optional(L.string()),finalAsset:L.optional(NN),finalisedAt:L.number(),fromAddress:L.string(),fromAmount:L.string(),fromAsset:L.string(),hash:L.string(),meta:L.optional(wH),payload:L.optional(YH),status:L.enum(XA),toAddress:L.string(),toAmount:L.string(),toAsset:L.string(),trackingStatus:L.optional(L.enum(EA)),transient:L.optional(XH),type:L.enum(UA)}),JA=AN.extend({legs:L.array(AN)}),lL=AN.extend({legs:E(AN)}),rL=AN.extend({legs:E(AN)}),kN=E(g({amount:n(),asset:n(),chain:n(),protocol:L.enum(J),type:L.enum(xN)})),KN=L.object({inbound:L.optional(L.number().describe("Time to receive inbound asset in seconds")),outbound:L.optional(L.number().describe("Time to receive outbound asset in seconds")),swap:L.optional(L.number().describe("Time to swap assets in seconds")),total:L.number().describe("Total time in seconds")}),ZA=g({data:n().describe("Data to send"),from:n().describe("Address of the sender"),to:n().describe("Address of the recipient"),value:n().describe("Value to send")}),VA=L.object({raw_data:L.object({contract:L.any(),data:L.string().optional(),expiration:L.number(),fee_limit:L.number().optional(),ref_block_bytes:L.string(),ref_block_hash:L.string(),timestamp:L.number()}).passthrough(),raw_data_hex:L.string(),txID:L.string(),visible:L.boolean()}),xH=E(mN([n(),G(),E(n()),g({from:n(),value:n()}).describe("Parameters to pass to the contract method")])),iL=g({approvalSpender:O(n().describe("Address of the spender to approve")),approvalToken:O(n().describe("Address of the token to approve spending of")),contractAddress:n().describe("Address of the contract to interact with"),contractMethod:n().describe("Name of the method to call"),contractParamNames:E(n().describe("Names of the parameters to pass to the contract method")),contractParams:xH}),bH=g({typeUrl:n("/types.MsgDeposit"),value:g({coins:E(g({amount:n(),asset:g({chain:n(),symbol:n(),synth:k(),ticker:n()})})),memo:n(),signer:n()})}),zH=g({typeUrl:n("/types.MsgSend"),value:g({amount:E(g({amount:n(),denom:n()})),fromAddress:n(),toAddress:n()})}),JH=g({typeUrl:n(),value:zH.or(bH)}),ZH=g({amount:E(g({amount:n(),denom:n()})),gas:n()}),WA=g({accountNumber:G(),chainId:L.enum(IN),fee:ZH,memo:n(),msgs:E(JH),sequence:G()}),VH=L.array(L.object({calldata:L.array(L.string()),contractAddress:L.string(),entrypoint:L.string()})),jA=L.array(L.object({address:L.string().describe("Destination address in friendly format"),amount:L.string().describe("Amount in nanotons"),payload:L.string().optional().describe("Base64 BOC of body cell"),stateInit:L.string().optional().describe("Base64 BOC of state init")})),WH=g({affiliate:n().describe("Affiliate address").optional(),affiliateFee:G().describe("Affiliate fee").optional(),buyAsset:n().describe("Asset to buy"),destinationAddress:n().describe("Destination address"),estimatedTime:KN.optional(),provider:L.enum(J),sellAsset:n().describe("Asset to sell"),slipPercentage:G().describe("Slippage as a percentage"),sourceAddress:n().describe("Source address")}),sL=WH.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),jH=g({asset:n().describe("Asset name"),image:n().describe("Asset image"),price:G().describe("Price in USD")}),vH=DH,vA=g({assets:O(E(jH)),maxStreamingQuantity:G().optional(),referrer:n().optional(),streamingInterval:G().optional(),tags:E(L.enum(YA))}),qA=vA.extend({affiliate:O(n()),affiliateFee:O(n()),approvalAddress:O(n().describe("Approval address for swap")),chainflip:vH.optional(),garden:$A.optional(),near:$A.optional(),priceImpact:O(G().describe("Price impact")),referrer:O(n()),txType:O(L.enum(EN))}),mA=E(g({code:L.enum(wN),display:n(),tooltip:n().optional()})),qH=g({buyAmount:n().describe("Buy amount"),buyAmountMaxSlippage:n().describe("Buy amount max slippage"),buyAsset:n().describe("Asset to buy"),fees:O(kN),provider:L.enum(J),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell")}),mH=g({buyAsset:n().describe("Asset to buy"),destinationAddress:O(n().describe("Destination address")),estimatedTime:O(KN),expectedBuyAmount:n().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:n().describe("Expected Buy amount max slippage"),expiration:O(n().describe("Expiration")),fees:kN,inboundAddress:O(n().describe("Inbound address")),legs:E(qH),memo:O(n().describe("Memo")),meta:qA,providers:E(L.enum(J)),routeId:n().describe("Route ID"),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell"),sourceAddress:O(n().describe("Source address")),targetAddress:O(n().describe("Target address")),totalSlippageBps:G().describe("Total slippage in bps"),tx:O(mN([ZA,WA,VA,VH,jA,n()])),txType:O(L.enum(EN)),warnings:mA}),kA=g({error:O(n().describe("Error message")),providerErrors:O(E(g({errorCode:O(L.enum(LN)),message:O(n()),provider:L.enum(J).optional()}))),quoteId:n().describe("Quote ID"),routes:E(mH)}),KA=L.object({chainId:L.enum(IN),createdAt:L.date(),id:L.number(),unit:L.string(),value:L.string()}),kH=L.array(KA),pA=L.union([KA,kH]),eL=E(g({chain:L.enum(XN),decimal:G(),identifier:n(),symbol:n(),ticker:n(),value:n()})),aL=L.union([L.object({amount:L.string(),spender:L.string(),tokenIdentifier:L.string(),userWalletAddress:L.string()}),L.object({amount:L.string(),chainId:L.enum(IN),spender:L.string(),tokenContractAddress:L.string(),userWalletAddress:L.string()}),L.object({routeId:L.string()})]),Nn=L.object({approvalTransaction:L.optional(L.object({data:L.string(),from:L.string(),gasLimit:L.optional(L.string()),gasPrice:L.optional(L.string()),to:L.string(),value:L.string()})),approvedAmount:L.string(),isApproved:L.boolean()}),KH=L.object({data:L.string().describe("Encoded approval call data"),from:L.string().describe("User wallet address"),gasLimit:L.string().optional().describe("Estimated gas limit"),gasPrice:L.string().optional().describe("Current gas price"),to:L.string().describe("Token contract address"),value:L.string().describe("ETH value (always '0' for approvals)")}),MA=L.object({buyAmount:L.string().describe("Buy amount"),buyAmountMaxSlippage:L.string().describe("Buy amount max slippage"),buyAsset:L.string().describe("Asset to buy"),expectedBuyAmount:L.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:L.string().describe("Expected Buy amount max slippage"),fees:kN,provider:L.enum(J),sellAmount:L.string().describe("Sell amount"),sellAsset:L.string().describe("Asset to sell")}),oA=MA.extend({estimatedTime:L.optional(KN),expiration:L.optional(L.string().describe("Expiration")),legs:L.array(MA),providers:L.array(L.enum(J)),routeId:L.string().describe("Route ID"),totalSlippageBps:L.number().describe("Total slippage in bps"),warnings:mA}).omit({provider:!0}),pH=L.object({method:L.string(),payload:L.optional(L.unknown()),url:L.string()}),oH=oA.extend({meta:vA,nextActions:L.optional(L.array(pH))}),An=L.object({error:L.optional(L.string().describe("Error message")),providerErrors:L.optional(L.array(L.object({errorCode:L.optional(L.enum(LN)),message:L.optional(L.string()),provider:L.enum(J).optional()}))),quoteId:L.string().describe("Quote ID"),routes:L.array(oH)}),Tn=L.object({providers:L.array(L.enum(J)).optional().describe("Optional list of providers to query for trading pairs"),sellAsset:L.string().describe("Asset identifier to sell (e.g., 'BTC.BTC' or 'ETH.ETH')")}),yH=L.object({chain:L.enum(XN).describe("Chain the asset is on"),identifier:L.string().describe("Asset identifier (e.g., 'ETH.USDC-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48')"),providers:L.array(L.enum(J)).describe("Providers that support this trading pair"),symbol:L.string().describe("Asset symbol"),ticker:L.string().describe("Asset ticker")}),Hn=L.object({buyAssets:L.array(yH).describe("List of assets that can be swapped to"),sellAsset:L.string().describe("The input sell asset identifier")}),yA=oA.extend({destinationAddress:L.string().describe("Destination address"),inboundAddress:L.optional(L.string().describe("Inbound address")),memo:L.optional(L.string().describe("Memo to include in the transaction")),meta:qA,sourceAddress:L.string().describe("Source address"),targetAddress:L.optional(L.string().describe("Target address")),tx:O(mN([ZA,WA,VA,jA,n()])),txType:L.optional(L.enum(EN))}),fH=L.object({data:L.optional(L.record(L.string(),L.string().optional())),errorCode:L.enum(LN),message:L.string().optional(),provider:L.enum(J).optional()}),Pn=L.object({error:L.optional(L.string().describe("Error message")),providerErrors:L.optional(L.array(fH)),quoteId:L.string().describe("Quote ID"),routes:L.array(yA)}),fA=yA.extend({approvalTx:KH.optional().describe("Optional approval transaction if ERC-20 approval is required before swap"),swapId:L.string().describe("The unique swap ID for tracking")});var V=t.extend({dynamicHeader:async()=>{let N=Q.get("widgetKey");if(N&&typeof window<"u"){let T=Math.floor(Date.now()/1000),H=window.location.origin;return{"X-Signature":await tA(N,H,T),"X-Timestamp":T.toString()}}let{swapKit:A}=Q.get("apiKeys");return A?{"x-api-key":A}:{}}});async function dH(N){let A=await V.post(Z("/track"),{json:N});try{let T=JA.safeParse(A);if(!T.success)throw new M("api_v2_invalid_response",T.error);return T.data}catch(T){return A}}async function cH(N){let{getQuote:A}=Q.get("endpoints");if(A)return A(N);let H=Q.get("v3SwapFlow")?.enabled?"/v3/quote":"/quote",P=await V.post(Z(H),{json:N});if(P.error)throw new M("api_v2_server_error",{message:P.error});try{let u=kA.safeParse(P);if(!u.success)throw new M("api_v2_invalid_response",u.error);return u.data}catch{return P}}async function lH(N){let{getRouteWithTx:A}=Q.get("endpoints");if(A)return A(N);let H=Q.get("v3SwapFlow")?.enabled?"/v3/swap":"/swap",P=await V.post(Z(H),{json:N});try{let u=fA.safeParse(P);if(!u.success)throw new M("api_v2_invalid_response",u.error);return u.data}catch(u){return console.error(new M("api_v2_invalid_response",u)),P}}async function rH({chain:N,address:A,scamFilter:T=!0}){let{getBalance:H}=Q.get("endpoints");if(H)return H({address:A,chain:N});let P=Z(`/balance?chain=${N}&address=${A}`),u=await V.get(P),F=Array.isArray(u)?u:[];return T?LP(F):F}function iH(N){let A=hH(N).with({routeId:ON.string,spender:ON.string},({routeId:T,spender:H})=>Z(`/approve?routeId=${T}&sourceAddress=${H}`)).with({assetValue:ON.instanceOf(v),spender:ON.string,userWallet:ON.string},({spender:T,userWallet:H,assetValue:P})=>Z(`/approve?tokenIdentifier=${P.toString()}&userWalletAddress=${H}&spender=${T}&amount=${P.getValue("string")}`)).exhaustive();return V.get(A)}function sH(){let N=Z("/providers");return V.get(N)}function eH(N){let A=Z(`/tokens?provider=${N}`);return V.get(A)}async function aH(N){let A=Z("/price"),T=await V.post(A,{json:N});try{let H=wA.safeParse(T);if(!H.success)throw new M("api_v2_invalid_response",H.error);return H.data}catch(H){throw new M("api_v2_invalid_response",H)}}async function NP(){let N=Z("/gas"),A=await V.get(N);try{let T=pA.safeParse(A);if(!T.success)throw new M("api_v2_invalid_response",T.error);return Array.isArray(T)?T:[T]}catch(T){throw new M("api_v2_invalid_response",T)}}async function AP(N){let{destinationAddress:A}=N;if(!A)throw new M("chainflip_broker_invalid_params");let T=Q.get("integrations").chainflip?.brokerUrl||Z("/chainflip/broker/channel"),H=await V.post(T,{json:N});try{let P=bA.safeParse(H);if(!P.success)throw new M("api_v2_invalid_response",P.error);return P.data}catch(P){throw new M("api_v2_invalid_response",P)}}async function TP(N){let{destinationAddress:A}=N;if(!A)throw new M("chainflip_broker_invalid_params");let T=Z("/near/channel"),H=await V.post(T,{json:N});try{let P=zA.safeParse(H);if(!P.success)throw new M("api_v2_invalid_response",P.error);return P.data}catch(P){throw new M("api_v2_invalid_response",P)}}function Z(N){let{isDev:A,apiUrl:T,devApiUrl:H}=Q.get("envs");return`${A?H:T}${N}`}function HP(N){let[A,T]=N.split(".");if(!CH.includes(A))return!0;let H=T.split("-"),P=H.length===1?void 0:H[H.length-1];return GN({chain:A,symbol:T})||!!P}var PP=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function LP(N){return N.filter((A)=>{return!PP.test(A.identifier)&&HP(A.identifier)})}async function nP(N){let{getSwapTo:A}=Q.get("endpoints");if(A)return A(N);let T=new URLSearchParams({sellAsset:N.sellAsset});if(N.providers?.length)for(let F of N.providers)T.append("providers",F);let H=Z(`/swapTo?${T.toString()}`),P=await V.get(H);if(!Array.isArray(P))return{buyAssets:[],sellAsset:N.sellAsset};let u=[];for(let F of P)try{let B=v.from({asset:F});u.push({chain:B.chain,identifier:B.toString(),providers:[],symbol:B.symbol,ticker:B.ticker})}catch{}return{buyAssets:u,sellAsset:N.sellAsset}}var oN={};hN(oN,{getThorchainQueue:()=>gP,getTcyStakers:()=>UP,getTcyStaker:()=>YP,getTcyClaimers:()=>XP,getTcyClaimer:()=>SP,getTNSPreferredAsset:()=>MP,getTHORNodeTNSDetails:()=>CA,getRunePoolProviderInfo:()=>DP,getRunePoolInfo:()=>_P,getNodes:()=>tP,getMimirInfo:()=>$P,getLastBlock:()=>BP,getInboundAddresses:()=>GP});import{MAYAConfig as RP,StagenetMAYAConfig as uP,StagenetTHORConfig as FP,THORConfig as IP}from"@swapkit/types";function q(N){let{isStagenet:A}=Q.get("envs");switch(N){case"mayachain":return`${A?uP.nodeUrl:RP.nodeUrl}/mayachain`;default:return`${A?FP.nodeUrl:IP.nodeUrl}/thorchain`}}function OP(N){let A=N==="mayachain"?"mayaname":"thorname";return`${q(N)}/${A}`}function BP(N="thorchain"){return t.get(`${q(N)}/lastblock`)}function gP(N){return t.get(`${q(N)}/queue`)}function tP(N){return t.get(`${q(N)}/nodes`)}function $P(N){return t.get(`${q(N)}/mimir`)}function GP(N){return t.get(`${q(N)}/inbound_addresses`)}async function CA({type:N,name:A}){try{return await t.get(`${OP(N)}/${A}`)}catch{return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:A,owner:"",preferred_asset:""}}}async function MP({type:N,tns:A}){let T=await CA({name:A,type:N});if(!T.preferred_asset||T.preferred_asset===".")return;return v.from({asset:T.preferred_asset,asyncTokenLookup:!0})}function _P(N){return t.get(`${q(N)}/runepool`)}function DP({type:N,thorAddress:A}){return t.get(`${q(N)}/rune_provider/${A}`)}function YP({type:N,address:A}){return t.get(`${q(N)}/tcy_staker/${A}`)}function UP(N){return t.get(`${q(N)}/tcy_stakers`)}function SP({type:N,address:A}){return t.get(`${q(N)}/tcy_claimer/${A}`)}function XP(N){return t.get(`${q(N)}/tcy_claimers`)}var Yn={...pN,mayachainMidgard:gA,thorchainMidgard:BA,thornode:oN};
|
|
5
|
-
export{wP as a,LN as b,wN as c,J as d,xN as e,sA as f,eA as g,aA as h,bN as i,NT as j,j as k,Q as l,M as m,t as n,cP as o,lP as p,rP as q,iP as r,c as s,ZN as t,YT as u,l as v,HL as w,FL as x,TA as y,GN as z,MN as A,VN as B,f as C,RN as D,IL as E,OL as F,PA as G,$L as H,h as I,p as J,v as K,xL as L,UN as M,tA as N,YA as O,EN as P,UA as Q,SA as R,XA as S,EA as T,pL as U,oL as V,yL as W,fL as X,NN as Y,QA as Z,CL as _,wA as $,hL as aa,dL as ba,xA as ca,DH as da,bA as ea,$A as fa,cL as ga,zA as ha,JA as ia,lL as ja,rL as ka,kN as la,KN as ma,ZA as na,VA as oa,xH as pa,iL as qa,WA as ra,VH as sa,jA as ta,WH as ua,sL as va,jH as wa,vH as xa,vA as ya,qA as za,mA as Aa,mH as Ba,kA as Ca,KA as Da,pA as Ea,aL as Fa,Nn as Ga,KH as Ha,An as Ia,Tn as Ja,yH as Ka,Hn as La,yA as Ma,fH as Na,Pn as Oa,fA as Pa,Yn as Qa};
|
package/dist/chunk-mj7cdbzs.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var WP={};w(WP,{TxnType:()=>pN,TxnStatus:()=>yN,TronTransactionSchema:()=>sN,TransactionSchema:()=>KH,TransactionDTOSchema:()=>pH,TrackingStatus:()=>fN,TrackingRequestSchema:()=>QH,TrackingRequestQuerySchema:()=>wH,TrackerResponseSchema:()=>rN,TokenSchema:()=>EH,TokenDetailsMetadataSchema:()=>bH,TONTransactionSchema:()=>aN,SwapToResponseSchema:()=>AP,SwapToRequestSchema:()=>NP,SwapToAssetSchema:()=>dA,SwapRouteV2ResponseSchema:()=>RA,SwapKitApi:()=>VP,StarknetTransactionSchema:()=>KA,RouteQuoteWarningSchema:()=>TA,RouteQuoteTxType:()=>ON,RouteQuoteProviderErrorSchema:()=>cA,RouteQuoteMetadataV2Schema:()=>AA,RouteQuoteMetadataSchema:()=>NA,RouteQuoteMetadataAssetSchema:()=>oA,RouteLegWithoutAddressesSchema:()=>dH,RouteLegSchema:()=>pA,QuoteV3ResponseSchema:()=>aH,QuoteV2ResponseSchema:()=>TP,QuoteRouteV2Response:()=>nA,QuoteResponseSchema:()=>HA,QuoteResponseRouteItem:()=>fA,QuoteRequestSchema:()=>zH,ProviderAction:()=>oN,PriorityLabel:()=>KN,PriceResponseSchema:()=>hN,PriceRequestSchema:()=>JH,NearSwapResponseSchema:()=>lN,NearDepositChannelResultSchema:()=>ZH,NearDepositChannelParamsSchema:()=>kN,GasSchema:()=>PA,GasResponseSchema:()=>LA,FeesSchema:()=>wN,EstimatedTimeSchema:()=>xN,EVMTransactionSchema:()=>iN,EVMTransactionDetailsSchema:()=>oH,EVMTransactionDetailsParamsSchema:()=>kA,DepositChannelResponseSchema:()=>cN,DepositChannelParamsSchema:()=>dN,CosmosTransactionSchema:()=>eN,CoinGeckoMetadataSchema:()=>CN,ChainflipMetadataSchema:()=>yA,BrokerDepositChannelParamsSchema:()=>mA,AssetValueSchema:()=>c,ApproveResponseSchema:()=>iH,ApproveRequestParams:()=>rH,ApprovalTransactionSchema:()=>CA,ApiV2ErrorSchema:()=>xH});module.exports=ZP(WP);var d=require("@swapkit/types");var cT={};w(cT,{getMinAmountByChain:()=>pT,AssetValue:()=>b});var t=require("@swapkit/types"),jN=require("ethers"),QN=require("ts-pattern");var JT={};w(JT,{parseSymbolForAddress:()=>s,isGasAsset:()=>nN,getTokenLogoURI:()=>bT,getCommonAssetInfo:()=>RN,getAssetType:()=>SN,findAssetBy:()=>zT,fetchTokenInfo:()=>ZN,assetFromString:()=>k,CommonAssetStrings:()=>YT});var F=require("@swapkit/types"),i=require("ts-pattern");var FT={};w(FT,{RequestClient:()=>O});var NT={};w(NT,{swapKitConfigStore:()=>x,SKConfig:()=>U});var V=require("@swapkit/types"),MA=require("zustand/vanilla");var eA={};w(eA,{WarningCodeEnum:()=>GN,WalletOption:()=>_N,ProviderName:()=>Q,NetworkDerivationPath:()=>sA,MemoType:()=>$A,LedgerErrorCode:()=>GA,FeeTypeEnum:()=>MN,FeeOption:()=>gA,ErrorCode:()=>r,ApproveMode:()=>tA});var $N=require("@swapkit/types"),sA=$N.AllChains.reduce((A,T)=>{return A[T]=$N.getChainConfig(T).networkDerivationPath,A},{});var r;((n)=>{n.unknownError="unknownError";n.test_error="test_error";n.providerDetailsError="providerDetailsError";n.blockHeaderNotFound="blockHeaderNotFound";n.blockHashNotFoundAtHeight="blockHashNotFoundAtHeight";n.blockHashNotFoundAtHash="blockHashNotFoundAtHash";n.txHashMissing="txHashMissing";n.assetValueMissingInfo="assetValueMissingInfo";n.invalidAsset="invalidAsset";n.blockIsRequired="blockIsRequired";n.currentBlockHeaderNotFound="currentBlockHeaderNotFound";n.failedToRetrieveBalance="failedToRetrieveBalance";n.failedToRetrieveBlock="failedToRetrieveBlock";n.failedToRetrieveFees="failedToRetrieveFees";n.notImplementedBCH="notImplementedBCH";n.notImplementedDoge="notImplementedDoge";n.noPoolsFound="noPoolsFound";n.noVaultsFound="noVaultsFound";n.noTxFound="noTxFound";n.noInputCoinFound="noInputCoinFound";n.noBlockDataFound="noBlockDataFound";n.multipleCosmosMessages="multipleCosmosMessages";n.heightOrHashNotProvided="heightOrHashNotProvided";n.unknownDenom="unknownDenom";n.invalidBlockHeight="invalidBlockHeight";n.timestampExtrinsicNoArgumentsForBlock="timestampExtrinsicNoArgumentsForBlock";n.timestampExtrinsicNoTimestampForBlock="timestampExtrinsicNoTimestampForBlock";n.noTimestampExtrinsicForHash="noTimestampExtrinsicForHash";n.timestampExtrinsicNoArgumentsForHash="timestampExtrinsicNoArgumentsForHash";n.txMemoUndefined="txMemoUndefined";n.txMemoIncorrect="txMemoIncorrect";n.txTypeNotFound="txTypeNotFound";n.txNoMessage="txNoMessage";n.txNotFound="txNotFound";n.txReceiptNotFound="txReceiptNotFound";n.txParsingError="txParsingError";n.txLogsParsingError="txLogsParsingError";n.blockNotFound="blockNotFound";n.balanceNotFound="balanceNotFound";n.configError="configError";n.synthSwapDisallowed="synthSwapDisallowed";n.providerQuoteTimeout="providerQuoteTimeout";n.noQuoteResponse="noQuoteResponse";n.noPoolAssetsFound="noPoolAssetsFound";n.noThorchainPools="noThorchainPools";n.noMayachainPools="noMayachainPools";n.noThorchainNetworkInfo="noThorchainNetworkInfo";n.invalidAffiliateFee="invalidAffiliateFee";n.invalidBuyAssetAddress="invalidBuyAssetAddress";n.invalidSellAssetAddress="invalidSellAssetAddress";n.invalidSourceAddress="invalidSourceAddress";n.invalidDestinationAddress="invalidDestinationAddress";n.sourceAddressIsSmartContract="sourceAddressIsSmartContract";n.destinationAddressIsSmartContract="destinationAddressIsSmartContract";n.invalidChainId="invalidChainId";n.unsupportedChainId="unsupportedChainId";n.unsupportedEVMChainId="unsupportedEVMChainId";n.unsupportedMethod="unsupportedMethod";n.unsupportedProvider="unsupportedProvider";n.invalidParamsForMethod="invalidParamsForMethod";n.unsupportedAdapter="unsupportedAdapter";n.noWhitelistTokens="noWhitelistTokens";n.failedFetchGasPrice="failedFetchGasPrice";n.failedToCreateDepositChannel="failedToCreateDepositChannel";n.noProviderDetailsFound="noProviderDetailsFound";n.noTokenListsFound="noTokenListsFound";n.tokenNotFound="tokenNotFound";n.tokenPriceNotFound="tokenPriceNotFound";n.tokenPriceFailedToUpdate="tokenPriceFailedToUpdate";n.swapAmountTooSmall="swapAmountTooSmall";n.legsArrayIsEmpty="legsArrayIsEmpty";n.failedToFetchQuoteForLeg="failedToFetchQuoteForLeg";n.noBlockHeaderFound="noBlockHeaderFound";n.failedToSimulateSwap="failedToSimulateSwap";n.addressScreeningFailed="addressScreeningFailed";n.noLiquidtyProvidersFound="noLiquidtyProvidersFound";n.insufficientLiquidity="insufficientLiquidity";n.noInboundDataFound="noInbounDataFound";n.noInboundAddressesFound="noInboundAddressesFound";n.noInboundAddressFoundForChain="noInboundAddressFoundForChain";n.noLastBlocksFound="noLastBlocksFound";n.noVersionFound="noVersionFound";n.noConstantsFound="noConstantsFound";n.noMimirsFound="noMimirsFound";n.noRoutesFound="noRoutesFound";n.quoteNotFound="quoteNotFound";n.ledgerSignFailed="ledgerSignFailed";n.ledgerWrongPayload="ledgerWrongPayload";n.ledgerFetchSwapFailed="ledgerFetchSwapFailed";n.failedToFetchTx="failedToFetchTx";n.failedBuildTransactionDetails="failedBuildTransactionDetails";n.noLegsForRoute="noLegsForRoute";n.noRouterAddressFound="noRouterAddressFound";n.noAggregatorAddressFound="noAggregatorAddressFound";n.noContractInstanceFound="noContractInstanceFound";n.noContractAddressFound="noContractAddressFound";n.invalidAffiliate="invalidAffiliate";n.thornameAffiliate="thornameAffiliate";n.providerNotfound="No provider found";n.noRecordFound="No Record found";n.slippageTooLow="Slippage too low";n.tradingHalted="tradingHalted";n.noWrappedGasAsset="noWrappedGasAsset";n.aggregatorAddressNotFound="aggregatorAddressNotFound";n.routerAddressNotFound="routerAddressNotFound";n.dummyAddressNotFound="dummyAddressNotFound";n.trackerError="trackerError";n.thorchainPoolUnavailable="thorchainPoolUnavailable";n.noOhlcvDataFound="noOhlcvDataFound";n.noTradingPairs="noTradingPairs";n.noLendingAvailability="noLendingAvailability";n.lendingRepayTooSmall="lendingRepayTooSmall";n.missingState="missingState";n.ledgerSwapNotFound="ledgerSwapNotFound";n.ledgerSwapNotReadyForTracking="ledgerSwapNotReadyForTracking";n.errorEstimatingGas="errorEstimatingGas";n.apiKeyInvalid="apiKeyInvalid";n.apiKeyFailedToUpdate="apiKeyFailedToUpdate";n.apiKeyExpired="apiKeyExpired";n.unauthorized="unauthorized";n.failedToCreateMemo="failedToCreateMemo";n.radixIncorrectInstructions="radixIncorrectInstructions";n.radixTxMissedParam="radixTxMissedParam";n.radixTxMissedAccount="radixTxMissedAccount";n.radixManifestParseError="radixManifestParseError";n.radixManifestBuildError="radixManifestBuildError";n.invalidAddressForChain="invalidAddressForChain";n.riskyAddress="riskyAddress";n.noRoutesToProcess="noRoutesToProcess";n.sellAssetAmountTooSmall="sellAssetAmountTooSmall";n.missingPrivateKey="missingPrivateKey";n.noMemoPriceProtection="noMemoPriceProtection"})(r||={});var GN;((H)=>{H.highSlippage="highSlippage";H.highPriceImpact="highPriceImpact"})(GN||={});var Q;((Y)=>{Y.CHAINFLIP="CHAINFLIP";Y.CHAINFLIP_STREAMING="CHAINFLIP_STREAMING";Y.JUPITER="JUPITER";Y.MAYACHAIN="MAYACHAIN";Y.MAYACHAIN_STREAMING="MAYACHAIN_STREAMING";Y.ONEINCH="ONEINCH";Y.PANCAKESWAP="PANCAKESWAP";Y.SUSHISWAP_V2="SUSHISWAP_V2";Y.THORCHAIN="THORCHAIN";Y.THORCHAIN_STREAMING="THORCHAIN_STREAMING";Y.TRADERJOE_V2="TRADERJOE_V2";Y.UNISWAP_V2="UNISWAP_V2";Y.UNISWAP_V3="UNISWAP_V3";Y.NEAR="NEAR";Y.GARDEN="GARDEN";Y.OKX="OKX";Y.HARBOR="HARBOR";Y.FLASHNET="FLASHNET"})(Q||={});var MN;((B)=>{B.LIQUIDITY="liquidity";B.NETWORK="network";B.INBOUND="inbound";B.OUTBOUND="outbound";B.AFFILIATE="affiliate";B.TAX="tax";B.PRIORITY="priority";B.SERVICE="service"})(MN||={});var gA;((P)=>{P.Average="average";P.Fast="fast";P.Fastest="fastest"})(gA||={});var tA;((H)=>{H.Approve="approve";H.CheckOnly="checkOnly"})(tA||={});var $A;(($)=>{$.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-"})($A||={});var _N;((G)=>{G.BITGET="BITGET";G.BRAVE="BRAVE";G.COINBASE_MOBILE="COINBASE_MOBILE";G.COINBASE_WEB="COINBASE_WEB";G.COSMOSTATION="COSMOSTATION";G.CTRL="CTRL";G.EIP6963="EIP6963";G.EXODUS="EXODUS";G.KEEPKEY="KEEPKEY";G.KEEPKEY_BEX="KEEPKEY_BEX";G.KEPLR="KEPLR";G.KEYSTORE="KEYSTORE";G.LEAP="LEAP";G.LEDGER="LEDGER";G.METAMASK="METAMASK";G.OKX="OKX";G.OKX_MOBILE="OKX_MOBILE";G.ONEKEY="ONEKEY";G.PASSKEYS="PASSKEYS";G.PETRA="PETRA";G.PHANTOM="PHANTOM";G.POLKADOT_JS="POLKADOT_JS";G.RADIX_WALLET="RADIX_WALLET";G.TALISMAN="TALISMAN";G.TREZOR="TREZOR";G.TRONLINK="TRONLINK";G.TRUSTWALLET_WEB="TRUSTWALLET_WEB";G.VULTISIG="VULTISIG";G.WALLETCONNECT="WALLETCONNECT";G.WALLET_SELECTOR="WALLET_SELECTOR";G.XAMAN="XAMAN"})(_N||={});var GA;((P)=>{P[P.NoError=36864]="NoError";P[P.LockedDevice=21781]="LockedDevice";P[P.TC_NotFound=65535]="TC_NotFound"})(GA||={});var aA=V.AllChains.reduce((A,T)=>{if(!A.THOR_STAGENET)A[V.StagenetChain.Maya]=V.StagenetMAYAConfig.rpcUrls,A[V.StagenetChain.THORChain]=V.StagenetTHORConfig.rpcUrls;return A[T]=V.getChainConfig(T).rpcUrls,A},{}),_A={apiKeys:{blockchair:"",keepKey:"",passkeys:"",swapKit:"",walletConnectProjectId:"",xaman:""},chains:V.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"}}},requestOptions:{retry:{backoffMultiplier:2,baseDelay:300,maxDelay:5000,maxRetries:3},timeoutMs:30000},rpcUrls:aA,v3SwapFlow:{enabled:typeof process<"u"&&process.env?.SWAPKIT_V3_SWAP_FLOW==="true"},wallets:Object.values(_N),widgetKey:""},x=MA.createStore((A)=>({..._A,setApiKey:(T,H)=>A((P)=>({apiKeys:{...P.apiKeys,[T]:H}})),setConfig:(T)=>A((H)=>({apiKeys:{...H.apiKeys,...T?.apiKeys},chains:H.chains.concat(T?.chains||[]),endpoints:{...H.endpoints,...T?.endpoints},envs:{...H.envs,...T?.envs},feeMultipliers:T?.feeMultipliers||H.feeMultipliers,integrations:{...H.integrations,...T?.integrations},rpcUrls:{...H.rpcUrls,...T?.rpcUrls},v3SwapFlow:{...H.v3SwapFlow,...T?.v3SwapFlow},wallets:H.wallets.concat(T?.wallets||[]),widgetKey:T?.widgetKey||H.widgetKey})),setEndpoint:(T,H)=>A((P)=>({endpoints:{...P.endpoints,[T]:H}})),setEnv:(T,H)=>A((P)=>({envs:{...P.envs,[T]:H}})),setFeeMultipliers:(T)=>A(()=>({feeMultipliers:T})),setIntegrationConfig:(T,H)=>A((P)=>({integrations:{...P.integrations,[T]:H}})),setRequestOptions:(T)=>A((H)=>({requestOptions:{retry:{...H.requestOptions.retry,...T.retry},timeoutMs:T.timeoutMs||H.requestOptions.timeoutMs}})),setRpcUrl:(T,H)=>A((P)=>({rpcUrls:{...P.rpcUrls,[T]:H}})),setWidgetKey:(T)=>A({widgetKey:T})})),U={get:(A)=>x.getState()[A],getState:x.getState,reinitialize:()=>x.setState(_A),set:(A)=>x.getState().setConfig(A),setApiKey:(A,T)=>x.getState().setApiKey(A,T),setEndpoint:(A,T)=>x.getState().setEndpoint(A,T),setEnv:(A,T)=>x.getState().setEnv(A,T),setFeeMultipliers:(A)=>x.getState().setFeeMultipliers(A),setIntegrationConfig:(A,T)=>x.getState().setIntegrationConfig(A,T),setRequestOptions:(A)=>x.getState().setRequestOptions(A),setRpcUrl:(A,T)=>x.getState().setRpcUrl(A,T),setWidgetKey:(A)=>x.getState().setWidgetKey(A)};var TT={};w(TT,{SwapKitError:()=>g});var AT={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_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_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,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 zN(A){return JSON.stringify(A,(T,H)=>typeof H==="bigint"?H.toString():H)}class g extends Error{static ErrorCode=AT;errorKey;info;constructor(A,T){let H=typeof A==="string",P=H?A:A.errorKey,L=H?void 0:A.info,R=`${P}${L?`: ${zN(L)}`:""}`;super(R);if(Object.setPrototypeOf(this,g.prototype),this.name="SwapKitError",this.errorKey=P,this.info=L,this.cause=T,T){let u=T instanceof Error?`${T.message}${T.cause?` (${T.cause})`:""}`:zN(T);console.error(`SwapKitError [${P}]: ${u}`)}else if(L)console.error(`SwapKitError [${P}]: ${zN(L)}`)}}var HT=(A)=>new Promise((T)=>setTimeout(T,A)),PT=(A,{baseDelay:T,backoffMultiplier:H,maxDelay:P})=>Math.min(T*H**A,P);function LT(A,T){if(A instanceof Error&&A.name==="AbortError")return!0;if(A instanceof TypeError)return!0;if(T===429)return!0;if(T&&T>=500&&T<600)return!0;return!1}var nT=async(A,T)=>{let H=await fetch(A,T),P;try{P=await H.json()}catch{if(!H.ok)throw new g({errorKey:"helpers_invalid_response",info:{status:H.status,statusText:H.statusText}},{status:H.status,statusText:H.statusText});return{}}if(!H.ok){let R={data:P?.data,error:P?.error,message:P?.message,status:H.status};throw new g({errorKey:P?.error||"helpers_invalid_response",info:R},R)}let L=P?.routes?.length||P?.result||P?.data&&!P?.error;if(P?.error&&!L){let R={data:P.data,error:P.error,message:P.message,status:H.status};throw new g({errorKey:P.error,info:R},R)}if(P?.providerErrors?.length||P?.error&&L)console.warn("[SwapKit] Partial errors in response:",P.providerErrors||P.error);return P};function DN(A,T={}){return async function(P,L={}){let{searchParams:R,json:u,body:I,headers:B,dynamicHeader:M,retry:S,timeoutMs:$,abortController:Z,onError:D,onSuccess:j,responseHandler:X,...E}={...T,...L},PN=U.get("requestOptions"),Y={...PN.retry,...S},BN=!!u||P.endsWith(".json"),gN=uT(P,R),IA=M?await M():{},LN=RT(BN,{...B,...IA}),l=BN?JSON.stringify(u):I,bN;for(let tN=0;tN<=Y.maxRetries;tN++){let OA=Z||new AbortController,BA=setTimeout(()=>OA.abort(),$||PN.timeoutMs);try{let q=await nT(gN,{...E,body:l,headers:LN,method:A,signal:OA.signal});return clearTimeout(BA),j?.(q)||X?.(q)||q}catch(q){clearTimeout(BA),bN=q;let iA=q?.cause?.status;if(tN>=Y.maxRetries||!LT(q,iA))return D?D(q):Promise.reject(q);await HT(PT(tN,Y))}}return D?D(bN):Promise.reject(bN)}}function RT(A,T){return{...T,...A&&{"Content-Type":"application/json"}}}function uT(A,T){let H=new URL(A);if(T)H.search=new URLSearchParams(T).toString();return H.toString()}var O={extend:(A)=>({extend:(T)=>O.extend({...A,...T}),get:DN("GET",A),post:DN("POST",A)}),get:DN("GET"),post:DN("POST")};var DT={};w(DT,{initializeRPCUrlsWithFallback:()=>_T,getRPCUrlSync:()=>UA,getRPCUrl:()=>C,_rpcCache:()=>UN});var _=require("@swapkit/types"),JN=require("ts-pattern");var tT={};w(tT,{wrapWithThrow:()=>BT,warnOnce:()=>f,getTHORNameCost:()=>IT,getMAYANameCost:()=>OT,getChainIdentifier:()=>gT});var YN=require("@swapkit/types");function IT(A){if(A<0)throw new g({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:A}});return 10+A}function OT(A){if(A<0)throw new g({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:A}});return Math.round((10+A*1.0512)*10000000000)/10000000000}function BT(A,T){try{return A()}catch(H){if(T)throw new g(T,H);return}}function gT(A){switch(A){case YN.Chain.THORChain:return`${A}.RUNE`;case YN.Chain.Cosmos:return`${A}.ATOM`;case YN.Chain.BinanceSmartChain:return`${A}`;default:return`${A}.${A}`}}var DA=new Set;function f({condition:A,id:T,warning:H}){if(A){if(DA.has(T))return;console.warn(H),DA.add(T)}}function $T(A){return JN.match(A).with(..._.EVMChains,()=>({id:1,jsonrpc:"2.0",method:"eth_blockNumber",params:[]})).with(..._.UTXOChains,()=>({id:"test",jsonrpc:"1.0",method:"getblockchaininfo",params:[]})).with(..._.CosmosChains,..._.StagenetChains,()=>({id:1,jsonrpc:"2.0",method:"status",params:{}})).with(_.Chain.Polkadot,_.Chain.Chainflip,()=>({id:1,jsonrpc:"2.0",method:"system_health",params:[]})).with(_.Chain.Solana,()=>({id:1,jsonrpc:"2.0",method:"getHealth"})).with(_.Chain.Sui,()=>({id:1,jsonrpc:"2.0",method:"sui_getSystemState",params:[]})).with(_.Chain.Ton,()=>({id:1,jsonrpc:"2.0",method:"getAddressInformation",params:{address:""}})).with(_.Chain.Aptos,_.Chain.Tron,_.Chain.Radix,_.Chain.Stellar,()=>"").with(_.Chain.HyperCore,()=>({type:"meta"})).with(_.Chain.Near,()=>({id:"dontcare",jsonrpc:"2.0",method:"status",params:[]})).with(_.Chain.Ripple,()=>({id:1,jsonrpc:"2.0",method:"ping",params:[{}]})).with(_.Chain.Starknet,()=>({id:1,jsonrpc:"2.0",method:"starknet_chainId",params:[]})).otherwise(()=>{throw new g("helpers_chain_not_supported",{chain:A})})}function GT(A){return JN.match(A).with(_.Chain.Aptos,()=>"/-/healthy").with(_.Chain.HyperCore,()=>"/info").with(_.Chain.Radix,()=>"/status/network-configuration").with(_.Chain.Stellar,()=>"").with(_.Chain.Tron,()=>"/wallet/getnowblock").otherwise(()=>"")}async function YA(A,T){try{let H=T.startsWith("wss")?T.replace("wss","https"):T;return(await fetch(`${H}${GT(A)}`,{body:JSON.stringify($T(A)),cache:"no-store",headers:{"Content-Type":"application/json"},method:"POST",signal:AbortSignal.timeout(3000)})).ok}catch{return!1}}var UN=new Map,MT=120000;function UA(A){let[T=""]=U.get("rpcUrls")[A];if(!T)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 g("helpers_chain_no_public_or_set_rpc_url",{chain:A});let H=UN.get(A);if(H&&Date.now()-H.timestamp<MT)return H.url;return UN.set(A,{timestamp:Date.now(),url:T}),T}async function C(A){let T=UA(A),[,...H]=U.get("rpcUrls")[A];if(await YA(A,T))return T;for(let L of H)if(await YA(A,L))return UN.set(A,{timestamp:Date.now(),url:L}),L;throw new g("helpers_chain_rpc_connection_failed",{chain:A,fallbackUrls:H,primaryRpcUrl:T})}function _T(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 YT=[`${F.Chain.Maya}.MAYA`,`${F.Chain.Maya}.CACAO`,`${F.Chain.Ethereum}.THOR`,`${F.Chain.Ethereum}.vTHOR`,`${F.Chain.Kujira}.USK`,`${F.Chain.Ethereum}.FLIP`,`${F.Chain.Radix}.XRD`],EA=[F.Chain.Arbitrum,F.Chain.Aurora,F.Chain.Base,F.Chain.Ethereum,F.Chain.Optimism];async function UT(A){let{baseDecimal:T}=F.getChainConfig(F.Chain.Radix);try{let H=await C(F.Chain.Radix),{manager:P}=await O.post(`${H}/state/resource`,{body:JSON.stringify({network:"mainnet",resource_address:A}),headers:{Accept:"*/*","Content-Type":"application/json"}});return P?.divisibility?.value?.divisibility}catch(H){let P=H instanceof Error?H.message:String(H);return console.warn(`Failed to fetch Radix asset decimals for ${A}: ${P}`),T}}async function ST(A){try{let T=await C(F.Chain.Radix);return(await O.post(`${T}/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(T){let H=T instanceof Error?T.message:String(T);return console.warn(`Failed to fetch Radix asset symbol for ${A}: ${H}`),""}}async function QA({chain:A,address:T,methodHex:H,id:P}){let L=await C(A);return O.post(L,{body:JSON.stringify({id:P,jsonrpc:"2.0",method:"eth_call",params:[{data:H,to:T.toLowerCase()},"latest"]}),headers:{accept:"*/*","cache-control":"no-cache","content-type":"application/json"}})}async function XT(A){if(!A||A==="0x")return"UNKNOWN";try{let{AbiCoder:T}=await import("ethers");return T.defaultAbiCoder().decode(["string"],A)[0].trim()}catch(T){return console.warn(`Failed to decode ABI string from ${A}: ${T}`),"UNKNOWN"}}function ET(A,T){if(!A||A==="0x")return T;try{return Number(A)}catch(H){return console.warn(`Failed to decode ABI uint8 from ${A}: ${H}`),T}}async function QT({chain:A,address:T}){let{baseDecimal:H}=F.getChainConfig(A),P=T.toLowerCase();if(T===""||!P.startsWith("0x"))return H;let L=await QA({address:T,chain:A,id:2,methodHex:"0x313ce567"}).catch((u)=>{return console.warn(`Could not fetch decimals for ${T} on ${A}: ${u.message}`),{result:""}});return ET(L.result,H)}async function wT({chain:A,address:T}){let H=T.toLowerCase();if(H===""||!H.startsWith("0x"))return;let P=await QA({address:T,chain:A,id:1,methodHex:"0x95d89b41"}).catch((R)=>{return console.warn(`Could not fetch symbol for ${T} on ${A}: ${R.message}`),{result:""}});return await XT(P.result)}async function SA({rpcUrl:A,contractAddress:T,functionSelector:H}){return(await O.post(`${A}/wallet/triggerconstantcontract`,{body:JSON.stringify({contract_address:T,function_selector:H,owner_address:T,parameter:"",visible:!0}),headers:{accept:"application/json","content-type":"application/json"}}).catch(()=>{return}))?.constant_result?.[0]}function XA(A){let T=A.match(/.{2}/g)?.map((H)=>Number.parseInt(H,16))??[];return new TextDecoder().decode(new Uint8Array(T))}function xT(A){return i.match(A).with(void 0,()=>{return}).when((T)=>T.length>=128,(T)=>{let H=Number.parseInt(T.slice(64,128),16);return XA(T.slice(128,128+H*2))}).when((T)=>T.length===64,(T)=>{let H=T.replace(/0+$/,"");if(H.length>0&&H.length%2===0)return XA(H);return}).otherwise(()=>{return})}function ZN({chain:A,address:T}){let{baseDecimal:H}=F.getChainConfig(A),P={decimals:H,ticker:void 0};return i.match(A).with(...F.EVMChains,async()=>{try{let{isAddress:L,getAddress:R}=await import("ethers");if(!L(R(T.replace(/^0X/,"0x"))))return P;let[u,I]=await Promise.all([wT({address:T,chain:A}),QT({address:T,chain:A})]);return{decimals:I,ticker:u}}catch(L){return console.warn(`Failed to fetch token info for ${T} on ${A}: ${L?.code} ${L?.message}`),P}}).with(F.Chain.Solana,async()=>{if(!T)return P;try{let L=await fetch(`https://lite-api.jup.ag/tokens/v2/search?query=${T}`);if(L.ok){let R=await L.json(),u=Array.isArray(R)?R[0]:R;if(u)return{decimals:u.decimals??H,ticker:u.symbol||void 0}}}catch(L){console.warn(`Failed to fetch Solana token info for ${T}: ${L?.code} ${L?.message}`)}return P}).with(F.Chain.Tron,async()=>{if(!T)return P;try{let L=await C(F.Chain.Tron),[R,u]=await Promise.all([SA({contractAddress:T,functionSelector:"symbol()",rpcUrl:L}),SA({contractAddress:T,functionSelector:"decimals()",rpcUrl:L})]),I=xT(R);return{decimals:R!==void 0&&u?Number(BigInt(`0x${u}`)):H,ticker:I}}catch(L){let R=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Tron token info for ${T}: ${R}`),P}}).with(F.Chain.Near,async()=>{if(!T)return P;try{let{JsonRpcProvider:L}=await import("@near-js/providers"),R=await C(F.Chain.Near),I=await new L({url:R}).query({account_id:T,args_base64:Buffer.from("{}").toString("base64"),finality:"final",method_name:"ft_metadata",request_type:"call_function"}),B=JSON.parse(Buffer.from(I.result).toString());return{decimals:B?.decimals||H,ticker:B?.symbol}}catch(L){let R=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Near token info for ${T}: ${R}`),P}}).with(F.Chain.Radix,async()=>{if(!T)return P;try{let[L,R]=await Promise.all([ST(T),UT(T)]);return{decimals:R,ticker:L}}catch(L){let R=L instanceof Error?L.message:String(L);return console.warn(`Failed to fetch Radix token info for ${T}: ${R}`),P}}).otherwise(async()=>P)}function nN({chain:A,symbol:T}){return i.match(A).with(...EA,()=>T==="ETH").with(F.Chain.Avalanche,()=>T==="AVAX").with(F.Chain.Berachain,()=>T==="BERA").with(F.Chain.Hyperevm,()=>T==="HYPE").with(F.Chain.HyperCore,()=>T==="HYPE").with(F.Chain.BinanceSmartChain,()=>T==="BNB").with(F.Chain.Gnosis,()=>T==="xDAI"||T==="XDAI").with(F.Chain.Monad,()=>T==="MON").with(F.Chain.XLayer,()=>T==="OKB").with(F.Chain.Maya,()=>T==="CACAO").with(F.Chain.Cosmos,()=>T==="ATOM").with(F.Chain.THORChain,()=>T==="RUNE").with(F.Chain.Tron,()=>T==="TRX").with(F.Chain.Ripple,()=>T==="XRP").with(F.Chain.Radix,()=>`${A}.${T}`===RN(A).identifier).otherwise(()=>T===A)}var RN=(A)=>{let{baseDecimal:T}=F.getChainConfig(A);return i.match(A.toUpperCase()).with(...EA,(P)=>({decimal:T,identifier:`${P}.ETH`})).with(F.Chain.THORChain,(P)=>({decimal:T,identifier:`${P}.RUNE`})).with(F.Chain.Cosmos,(P)=>({decimal:T,identifier:`${P}.ATOM`})).with(F.Chain.Maya,(P)=>({decimal:10,identifier:`${P}.CACAO`})).with(F.Chain.BinanceSmartChain,(P)=>({decimal:T,identifier:`${P}.BNB`})).with(F.Chain.Monad,(P)=>({decimal:T,identifier:`${P}.MON`})).with(F.Chain.Avalanche,(P)=>({decimal:T,identifier:`${P}.AVAX`})).with(F.Chain.Gnosis,(P)=>({decimal:T,identifier:`${P}.xDAI`})).with(F.Chain.XLayer,(P)=>({decimal:T,identifier:`${P}.OKB`})).with(F.Chain.Berachain,(P)=>({decimal:T,identifier:`${P}.BERA`})).with(F.Chain.Hyperevm,(P)=>({decimal:T,identifier:`${P}.HYPE`})).with(F.Chain.HyperCore,(P)=>({decimal:T,identifier:`${P}.HYPE`})).with(F.Chain.Tron,(P)=>({decimal:T,identifier:`${P}.TRX`})).with(F.Chain.Solana,F.Chain.Chainflip,F.Chain.Kujira,F.Chain.Ripple,F.Chain.Polkadot,F.Chain.Near,...F.UTXOChains,(P)=>({decimal:T,identifier:`${P}.${P}`})).with(F.Chain.Radix,"XRD.XRD",()=>({decimal:T,identifier:"XRD.XRD"})).with(F.Chain.Polygon,"POL.POL",()=>({decimal:T,identifier:"POL.POL"})).with("KUJI.USK",(P)=>({decimal:6,identifier:P})).with("ETH.FLIP",()=>({decimal:F.getChainConfig(F.Chain.Ethereum).baseDecimal,identifier:"ETH.FLIP-0x826180541412D574cf1336d22c0C0a287822678A"})).with("ETH.THOR",()=>({decimal:F.getChainConfig(F.Chain.Ethereum).baseDecimal,identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044"})).with("ETH.vTHOR",()=>({decimal:F.getChainConfig(F.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:T,identifier:A}))};function SN({chain:A,symbol:T}){if(T.includes("/"))return"Synth";if(T.includes("~"))return"Trade";return i.match(A).with(F.Chain.Radix,()=>T===F.Chain.Radix||`${A}.${T}`===RN(A).identifier).with(F.Chain.Arbitrum,F.Chain.Optimism,F.Chain.Base,F.Chain.Aurora,()=>T===F.Chain.Ethereum).with(F.Chain.Cosmos,()=>T==="ATOM").with(F.Chain.BinanceSmartChain,()=>T==="BNB").with(F.Chain.Maya,()=>T==="CACAO").with(F.Chain.Monad,()=>T==="MON").with(F.Chain.THORChain,()=>T==="RUNE").with(F.Chain.Tron,()=>T==="TRX").with(F.Chain.Hyperevm,()=>T==="HYPE").with(F.Chain.HyperCore,()=>T==="HYPE").with(F.Chain.XLayer,()=>T==="OKB").otherwise(()=>T===A)?"Native":A}var k=(A)=>{let[T,...H]=A.split("."),P=A.includes("/"),L=H.join("."),R=L?.split("-"),u=R?.length?R.length===1?R[0]:R.slice(0,-1).join("-"):void 0;return{chain:T,symbol:L,synth:P,ticker:u}};function s(A,T){let P=T===F.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 bT(A){return`https://storage.googleapis.com/token-list-swapkit-dev/images/${A.toLowerCase()}.png`}async function zT(A){let{loadTokenLists:T}=await import("././tokens.cjs"),H=await T(),P=Object.values(H).flatMap((R)=>R.tokens);if("identifier"in A)return P.find((R)=>R.identifier===A.identifier)?.identifier;let L=A.contract.toLowerCase();for(let R of P){let{chain:u,symbol:I}=k(R.identifier);if(u!==A.chain)continue;let{address:B}=s(I,u);if(B?.toLowerCase()===L)return R.identifier}return}var VT={};w(VT,{validateTNS:()=>ZT,validateIdentifier:()=>VN});var wA=["TERRA",...U.get("chains")];function VN(A=""){let T=A.toUpperCase(),[H]=T.split(".");if(wA.includes(H))return!0;let[P]=T.split("/");if(wA.includes(P))return!0;throw new g({errorKey:"helpers_invalid_identifier",info:{identifier:A,message:`Invalid identifier: ${A}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`}})}function ZT(A){if(A.length>30)return!1;let T=/^[a-zA-Z0-9+_-]+$/g;return!!A.match(T)}var qT={};w(qT,{formatBigIntToSafeValue:()=>K,BigIntArithmetics:()=>m});var FN=require("ts-pattern"),e=8,WT=10;function K({value:A,bigIntDecimal:T=e,decimal:H=e}){if(H===0)return A.toString();let P=A<0n,L=A.toString().substring(P?1:0),R=H-(L.length-1);if(R>0)L="0".repeat(R)+L;let u=L.length-H,I=L.slice(-H);if(Number.parseInt(I[T]||"0",10)>=5){let M=Number.parseInt(I[T-1]||"0",10);I=`${I.substring(0,T-1)}${M+1}`}else I=I.substring(0,T);return`${P?"-":""}${L.slice(0,u)}.${I}`.replace(/\.?0*$/,"")}class m{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(A,T){return new m({decimal:T,value:K({bigIntDecimal:T,decimal:T,value:A})})}static shiftDecimals({value:A,from:T,to:H}){return m.fromBigInt(A.getBaseValue("bigint")*h(H)/h(T),H)}constructor(A){let T=WN(A),H=typeof A==="object";this.decimal=H?A.decimal:void 0,this.decimalMultiplier=H&&"decimalMultiplier"in A?A.decimalMultiplier:h(Math.max(xA(XN(T)),this.decimal||0)),this.#P(T)}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,T){let H=uN(this.decimalMultiplier),P=T!==void 0?T:this.decimal,L=P!==void 0?P:H;if(P!==void 0&&P<H){if(this.formatBigIntToSafeValue(this.bigIntValue,P)==="0"&&this.bigIntValue!==0n)L=H}let R=this.formatBigIntToSafeValue(this.bigIntValue,L);return FN.match(A).with("number",()=>Number(R)).with("string",()=>R).with("bigint",()=>{return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}).otherwise(()=>R)}getBaseValue(A,T){let H=this.decimalMultiplier/h(T||this.decimal||e),P=vT(this.bigIntValue,H);return FN.match(A).with("number",()=>Number(P)).with("string",()=>P.toString()).otherwise(()=>P)}getBigIntValue(A,T){if(!T&&typeof A==="object")return A.bigIntValue;let H=WN(A),P=XN(H);if(P==="0"||P==="undefined")return 0n;return this.#H(P,T)}toSignificant(A=6){let T=this.getValue("string"),[H="",P=""]=T.split("."),L=Number.parseInt(H,10)>0;if((L?H.length+P.length:P.length)<=A)return T;if(H.length>=A)return H.slice(0,A).padEnd(H.length,"0");if(L)return`${H}.${P.slice(0,A-H.length)}`;let u=Number.parseInt(P,10).toString(),I=u.slice(0,A),B=P.length-u.length;return`0.${I.padStart(B+I.length,"0")}`}toFixed(A=6){let T=this.getValue("string"),H=T.startsWith("-"),[P="0",L=""]=(H?T.slice(1):T).split("."),R=P==="0"&&Number.parseInt(L.slice(0,A),10)===0,u=H&&!R?"-":"";if(A===0){if(P==="0"&&!L)return"0";return L&&Number.parseInt(L[0]||"0",10)>=5?`${u}${BigInt(P)+1n}.0`:`${u}${P}.0`}if(!L)return`${u}${P}.${"0".repeat(A)}`;let I=L[A];if(!(I&&Number.parseInt(I,10)>=5))return`${u}${P}.${L.slice(0,A).padEnd(A,"0")}`;let M=BigInt(L.slice(0,A).padEnd(A,"0"))+1n,S=10n**BigInt(A);if(M>=S)return`${u}${BigInt(P)+1n}.${"0".repeat(A)}`;return`${u}${P}.${M.toString().padStart(A,"0")}`}toAbbreviation(A=2){let T=this.getValue("string"),H=Number(T),P=["","K","M","B","T","Q","Qi","S"],L=Math.floor(Math.log10(Math.abs(H))/3);if(L===0||!P[L])return T;return`${(H/10**(L*3)).toFixed(A)}${P[L]}`}toCurrency(A="$",{currencyPosition:T="start",decimal:H=2,decimalSeparator:P=".",thousandSeparator:L=",",trimTrailingZeros:R=!0}={}){let u=this.toFixed(H),I=T==="end",[B="0",M=""]=u.split("."),S=B.replace(/\B(?=(\d{3})+(?!\d))/g,L),$=M&&Number.parseInt(M,10)>0,Z=$?`${S}${P}${M}`:S,j=Z.length<100&&R&&$?Z.replace(/\.?0*$/,""):Z;return I?`${j}${A}`:`${A}${j}`}formatBigIntToSafeValue(A,T){let H=T||this.decimal||e,P=Math.max(H,uN(this.decimalMultiplier));return K({bigIntDecimal:H,decimal:P,value:A})}#A(A,...T){let H=this.#T(this,...T),P=uN(this.decimalMultiplier),R=Math.max(H,P)+WT,u=h(R),I=T.reduce((M,S)=>{let $=this.getBigIntValue(S,R);return FN.match(A).with("add",()=>M+$).with("sub",()=>M-$).with("mul",()=>M*$/u).with("div",()=>{if($===0n)throw RangeError("Division by zero");return M*u/$}).otherwise(()=>M)},this.bigIntValue*u/this.decimalMultiplier),B=K({bigIntDecimal:R,decimal:R,value:I});return new this.constructor({decimal:this.decimal,decimalMultiplier:h(R),identifier:this.toString(),value:B})}#N(A,...T){let H=this.#T(this,...T),P=this.getBigIntValue(T[0]||"0",H),L=this.getBigIntValue(this,H);return FN.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 T=XN(A)||"0";this.bigIntValue=this.#H(T)}#T(...A){let T=A.map((H)=>{return typeof H==="object"?H.decimal||uN(H.decimalMultiplier):xA(XN(H))}).filter(Boolean);return Math.max(...T,e)}#H(A,T){let H=T?h(T):this.decimalMultiplier,P=uN(H),[L="",R=""]=A.split(".");return BigInt(`${L}${R.padEnd(P,"0")}`)}}var jT=Intl.NumberFormat("fullwide",{maximumFractionDigits:20,useGrouping:!1});function XN(A){let H=`${typeof A==="number"?jT.format(A):WN(A)}`.replaceAll(",",".").split(".");return H.length>1?`${H.slice(0,-1).join("")}.${H.at(-1)}`:H[0]||"0"}function xA(A){let T=A.split(".")[1]?.length||0;return Math.max(T,e)}function WN(A){return typeof A==="object"?"getValue"in A?A.getValue("string"):A.value:A}function vT(A,T){if(T===0n)throw Error("Cannot divide by zero");let H=T/2n;return A>=0n&&T>=0n||A<0n&&T<0n?(A+H)/T:(A-H)/T}function h(A){return 10n**BigInt(A)}function uN(A){return Math.log10(Number.parseFloat(A.toString()))}var p=[t.Chain.HyperCore,t.Chain.Near,t.Chain.Ripple,t.Chain.Solana,t.Chain.Sui,t.Chain.Ton,t.Chain.Tron],qN=[t.Chain.THORChain,t.Chain.Maya],a=new Map,EN=new Map,NN=new Map,mT=3600000;function kT(A){let T=NN.get(A);if(T?.timestamp&&Date.now()-T.timestamp>mT){NN.delete(A);return}return T}function KT(A,T){if(NN.size>1000){let H=NN.keys().next().value;if(H)NN.delete(H)}NN.set(A,{...T,timestamp:Date.now()})}class b extends m{address;chain;isGasAsset=!1;isSynthetic=!1;isTradeAsset=!1;symbol;tax;ticker;type;chainId;constructor({value:A,decimal:T,tax:H,chain:P,symbol:L,identifier:R}){super(typeof A==="object"?A:{decimal:T,value:A});let u=bA(R||`${P}.${L}`);this.type=SN(u),this.tax=H,this.chain=u.chain,this.ticker=u.ticker,this.symbol=u.symbol,this.address=u.address,this.isSynthetic=u.isSynthetic,this.isTradeAsset=u.isTradeAsset,this.isGasAsset=u.isGasAsset,this.chainId=t.getChainConfig(u.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 a.get(this.toString())?.logoURI}eqAsset({chain:A,symbol:T}){return this.chain===A&&this.symbol===T}eq(A){return this.eqAsset(A)&&this.eqValue(A)}static fromUrl(A,T=0){let H=A.indexOf(".");if(H===-1)throw new g({errorKey:"helpers_invalid_asset_url",info:{urlAsset:A}});let P=A.slice(0,H),L=A.slice(H+1),R=QN.match({chain:P,rest:L}).when(({rest:u})=>u.includes(".."),({chain:u,rest:I})=>`${u}.${I.replace(/\.\./g,"~")}`).when(({chain:u,rest:I})=>qN.includes(u)&&I.includes("."),({chain:u,rest:I})=>`${u}.${I.replace(/\./g,"/")}`).otherwise(({chain:u,rest:I})=>`${u}.${I.replace(/__/g,".")}`);return b.from({asset:R,value:T})}static from({value:A=0,fromBaseDecimal:T,asyncTokenLookup:H,...P}){let L=A instanceof m?A.getValue("string"):A,R=CT(P),u=!R.startsWith(t.Chain.Sui)&&R.includes(":");if(H&&u){let[LN,l]=R.split(":");return yT({address:l,chain:LN,fromBaseDecimal:T,parsedValue:L})}let I=u?R.split(":").join(".UNKNOWN-"):R,{identifier:B,decimal:M}=RN(I),{chain:S,isSynthetic:$,isTradeAsset:Z,address:D}=bA(B),{baseDecimal:j}=t.getChainConfig(S),X=a.get(p.includes(S)?B:B.toUpperCase());if(!X&&H&&!$&&!Z)return(async()=>{let{ticker:LN}=k(B),l=await zA({address:D,chain:S,ticker:LN});return vN({decimal:l.decimals,identifier:l.identifier,value:T?AN(BigInt(L),T):L})})();let E=X?.decimal||M;f({condition:!E&&!H,id:`assetValue_static_decimal_not_found_${S}`,warning:`Couldn't find static decimal for one or more tokens on ${S} (Using default ${j} decimal as fallback).
|
|
2
|
-
This can result in incorrect calculations and mess with amount sent on transactions.
|
|
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:PN,identifier:Y,tax:BN}=X||{decimal:E||j,identifier:B},gN=T?AN(BigInt(L),T):AN(L,PN);return $||Z?oT(Y,gN):vN({decimal:PN,identifier:Y,tax:BN,value:gN})}static async loadStaticAssets(A){let{loadTokenLists:T}=await import("@swapkit/tokens"),H=await T(A);for(let{tokens:P}of Object.values(H))for(let L of P){let{identifier:R}=L,{chain:u,symbol:I}=k(R),{address:B}=s(I,u),{baseDecimal:M}=t.getChainConfig(u),S=p.includes(u)?R:R.toUpperCase(),$="decimals"in L&&L.decimals!==void 0?L.decimals:M,Z="logoURI"in L&&L.logoURI?L.logoURI:`https://storage.googleapis.com/token-list-swapkit-dev/images/${R.toLowerCase()}.png`,D={decimal:$,identifier:R,logoURI:Z,tax:"tax"in L?L.tax:void 0};if(a.set(S,D),B){let j=p.includes(u)?`${u}:${B}`:`${u}:${B.toUpperCase()}`;EN.set(j,R)}}return!0}static setStaticAssets(A){a.clear(),EN.clear();for(let[T,H]of A.entries()){let{identifier:P}=H,{chain:L,symbol:R}=k(P),{address:u}=s(R,L),{baseDecimal:I}=t.getChainConfig(L),B=H.chain??L,M=H.address??u,S=p.includes(B)?P:P.toUpperCase(),$=H.decimals??H.decimal??I,Z=H.logoURI??`https://storage.googleapis.com/token-list-swapkit-dev/images/${P.toLowerCase()}.png`,D={decimal:$,identifier:S,logoURI:Z,tax:H.tax};if(a.set(S,D),M){let j=p.includes(B)?`${B}:${M}`:`${B}:${M.toUpperCase()}`;EN.set(j,P)}}return!0}static get staticAssets(){return a}}function pT(A){let T=b.from({chain:A});return QN.match(A).with(t.Chain.Bitcoin,t.Chain.Litecoin,t.Chain.BitcoinCash,t.Chain.Dash,()=>T.set(0.00010001)).with(t.Chain.Dogecoin,()=>T.set(1.00000001)).with(t.Chain.Avalanche,t.Chain.Ethereum,t.Chain.Arbitrum,t.Chain.BinanceSmartChain,()=>T.set(0.00000001)).with(t.Chain.THORChain,t.Chain.Maya,()=>T.set(0)).with(t.Chain.Cosmos,t.Chain.Kujira,()=>T.set(0.000001)).otherwise(()=>T.set(0.00000001))}async function zA({chain:A,address:T,ticker:H}){let L=p.includes(A)?`${A}:${T||H}`:`${A}:${T||H}`.toUpperCase(),R=kT(L);if(R)return R;if(!T){let{baseDecimal:B}=t.getChainConfig(A);return{decimals:B,identifier:`${A}.${H||"UNKNOWN"}`}}let u=await ZN({address:T,chain:A}),I=`${A}.${u.ticker||H||"UNKNOWN"}-${T}`;return f({condition:!!(!u.ticker&&H),id:`async_token_lookup_failed_${A}_${T}`,warning:`Could not fetch token metadata for ${A}:${T} from chain. Using user-provided ticker (${H}) with baseDecimal (${u.decimals}).`}),u.ticker&&KT(L,{decimals:u.decimals,identifier:I}),{decimals:u.decimals,identifier:I}}function vN({identifier:A,decimal:T,value:H,tax:P}){return VN(A),new b({decimal:T,identifier:A,tax:P,value:AN(H,T)})}function oT(A,T=0){let H=A.includes(".")?A.split(".")?.[0]?.toUpperCase():void 0,P=H?qN.includes(H):!1,L=A.slice(0,14).includes("~")?"~":"/",[R,u]=P?A.split(".").slice(1).join().split(L):A.split(L);if(!(R&&u))throw new g({errorKey:"helpers_invalid_asset_identifier",info:{identifier:A}});return new b({decimal:8,identifier:`${H||t.Chain.THORChain}.${R}${L}${u}`,value:AN(T,8)})}async function yT({address:A,chain:T,fromBaseDecimal:H,parsedValue:P}){let{decimals:L,identifier:R}=await zA({address:A,chain:T}),u=H?AN(BigInt(P),H):P;return vN({decimal:L,identifier:R,value:u})}function AN(A,T){return typeof A==="bigint"?K({bigIntDecimal:T,decimal:T,value:A}):A}function fT(A){let T=QN.match(A).when((H)=>("chain"in H)&&H.chain!==void 0,({chain:H})=>H).otherwise((H)=>{let P=k(H.asset);return P.synth?t.Chain.THORChain:P.chain});if(!t.AllChains.includes(T.toUpperCase())){let H="asset"in A?A.asset:T;throw new g({errorKey:"helpers_invalid_asset_identifier",info:{identifier:H,message:`Unsupported chain "${T}" - use the AssetValue constructor directly`}})}}function CT(A){if(fT(A),"chain"in A){let{chain:L,address:R}=A;if(R){let u=p.includes(L)?`${L}:${R}`:`${L}:${R.toUpperCase()}`,I=EN.get(u);if(I)return I;return u}return L}let{chain:T,symbol:H}=k(A.asset);return SN({chain:T,symbol:H})==="Native"?T:A.asset}function hT(A,T,H){let P=A.split("."),L=P[0]?.toUpperCase(),R=qN.includes(L),u=H?"~":"/",[I,B=""]=R?P.slice(1).join(".").split(u):A.split(u);if(!(I&&B))throw new g({errorKey:"helpers_invalid_asset_identifier",info:{identifier:A}});let{ticker:M,address:S}=JA({chain:I,symbol:B}),$=`${I}${u}${B}`;return{address:S,chain:L,isGasAsset:!1,isSynthetic:T,isTradeAsset:H,symbol:$,ticker:M}}function dT(A){let T=A.indexOf("."),H=(T===-1?A:A.slice(0,T)).toUpperCase(),P=T===-1?A:A.slice(T+1),{address:L,ticker:R}=JA({chain:H,symbol:P}),u;try{u=L&&t.EVMChains.includes(H)&&jN.getAddress(L)?jN.getAddress(L):L}catch{u=L}let I=u?`${R}-${u}`:P;return{address:u,chain:H,isGasAsset:nN({chain:H,symbol:P}),isSynthetic:!1,isTradeAsset:!1,symbol:I,ticker:R}}function bA(A){let T=A.slice(0,14),H=T.includes("/"),P=T.includes("~");if(H||P)return hT(A,H,P);return dT(A)}function JA({symbol:A,chain:T}){let{ticker:H,address:P}=s(A,T);return{address:P&&!p.includes(T)?P.toLowerCase():P,ticker:H}}var lT={};w(lT,{SwapKitNumber:()=>IN});class IN extends m{eq(A){return this.eqValue(A)}static fromBigInt(A,T){return new IN({decimal:T,value:K({bigIntDecimal:T,decimal:T,value:A})})}}function ZA(A=!0){return A?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function rT(A=!0){let T=ZA(A);return A?`${T}/v2/thorname`:`${T}/v2/mayaname`}function iT(A){return function(H){let P=H?`?status=${H}`:"";return O.get(`${A}/v2/pools${P}`)}}function sT(A){return function(H){return O.get(`${A}/v2/pool/${H}`)}}function eT(A){return function(H,P){let L=P?`?period=${P}`:"";return O.get(`${A}/v2/pool/${H}/stats${L}`)}}function aT(A){return function(H,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 R=L.toString()?`?${L.toString()}`:"";return O.get(`${A}/v2/history/depths/${H}${R}`)}}function NH(A){return function(){return O.get(`${A}/v2/network`)}}function AH(A){return function(){return O.get(`${A}/v2/health`)}}function TH(A){return function(){return O.get(`${A}/v2/nodes`)}}function HH(A){return function(H){return O.get(`${A}/v2/node/${H}`)}}function PH(A){return function(){return O.get(`${A}/v2/mimir/votes`)}}function LH(A){return function(){return O.get(`${A}/v2/mimir`)}}function nH(A){return function(){return O.get(`${A}/v2/constants`)}}function RH(A){return function(){return O.get(`${A}/v2/stats`)}}function uH(A){return function(H){let P=new URLSearchParams;if(H?.interval)P.append("interval",H.interval);if(H?.count)P.append("count",H.count.toString());if(H?.from)P.append("from",H.from.toString());if(H?.to)P.append("to",H.to.toString());let L=P.toString()?`?${P.toString()}`:"";return O.get(`${A}/v2/history/earnings${L}`)}}function FH(A){return function(H,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 R=L.toString()?`?${L.toString()}`:"",u=H?`/swaps/${H}`:"/swaps";return O.get(`${A}/v2/history${u}${R}`)}}function IH(A){return function(H){let P=new URLSearchParams;if(H?.interval)P.append("interval",H.interval);if(H?.count)P.append("count",H.count.toString());if(H?.from)P.append("from",H.from.toString());if(H?.to)P.append("to",H.to.toString());let L=P.toString()?`?${P.toString()}`:"";return O.get(`${A}/v2/history/tvl${L}`)}}function OH(A){if(!A)return"";let T=new URLSearchParams,H=(P,L)=>{if(L!==void 0)T.append(P,typeof L==="number"?L.toString():L)};return H("address",A.address),H("txid",A.txid),H("asset",A.asset),H("type",A.type),H("affiliate",A.affiliate),H("limit",A.limit),H("offset",A.offset),T.toString()?`?${T.toString()}`:""}function BH(A){return function(H){let P=OH(H);return O.get(`${A}/v2/actions${P}`)}}function gH(A){return function(H){return O.get(`${A}/v2/member/${H}`)}}function tH(A){return function(H){let P=H?`/${H}`:"";return O.get(`${A}/v2/members${P}`)}}function $H(A){return function(H,P){let L=P?`&asset=${P}`:"";return O.get(`${A}/v2/saver/${H}${L?`?${L.substring(1)}`:""}`)}}function GH(A){return function(H){return O.get(`${A}/v2/savers/${H}`)}}function MH(A){return function(H,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 R=L.toString()?`?${L.toString()}`:"",u=H?`/savers/${H}`:"/savers";return O.get(`${A}/v2/history${u}${R}`)}}function _H(A){return function(H){return O.get(`${A}/v2/balance/${H}`)}}function DH(A){return async function(H){let P=(L)=>{if(L?.cause?.status===404)return;throw L};return await O.get(`${A}/lookup/${H}`,{onError:P,retry:{maxRetries:1}})}}function YH(A){return async function(H){let P=(L)=>{if(L?.cause?.status===404)return[];throw L};return await O.get(`${A}/rlookup/${H}`,{onError:P,retry:{maxRetries:1}})}}function UH(A){return async function(H){let P=(L)=>{if(L?.cause?.status===404)return[];throw L};return await O.get(`${A}/owner/${H}`,{onError:P,retry:{maxRetries:1}})}}function TN({asset:A,value:T}){return b.from({asset:A,fromBaseDecimal:d.getChainConfig(d.Chain.THORChain).baseDecimal,value:T})}function SH({liquidityPositionGetter:A,isThorchain:T}){return async function(P){let L=await A(P),R=T?"rune":"cacao";return L.pools.map((u)=>({[`${R}Pending`]:TN({asset:"THOR.RUNE",value:u.runePending}),[`${R}RegisteredAddress`]:u.runeAddress,[`${R}Withdrawn`]:TN({asset:"THOR.RUNE",value:u.runeWithdrawn}),[R]:TN({asset:"THOR.RUNE",value:u.runeAdded}),asset:TN({asset:u.pool,value:u.assetAdded}),assetPending:TN({asset:u.pool,value:u.assetPending}),assetRegisteredAddress:u.assetAddress,assetWithdrawn:TN({asset:u.pool,value:u.assetWithdrawn}),dateFirstAdded:u.dateFirstAdded,dateLastAdded:u.dateLastAdded,poolShare:new IN(u.liquidityUnits).div(u.pool)}))}}function VA(A){let T=A===d.Chain.THORChain,H=ZA(T),P=rT(T),L=gH(H);return{getActions:BH(H),getBalance:_H(H),getConstants:nH(H),getEarningsHistory:uH(H),getHealth:AH(H),getLiquidityPosition:SH({isThorchain:T,liquidityPositionGetter:L}),getLiquidityPositionRaw:L,getMembers:tH(H),getMimir:LH(H),getMimirVotes:PH(H),getNameDetails:DH(P),getNamesByAddress:YH(P),getNamesByOwner:UH(P),getNetworkInfo:NH(H),getNode:HH(H),getNodes:TH(H),getPool:sT(H),getPoolDepthHistory:aT(H),getPoolStats:eT(H),getPools:iT(H),getSaverDetails:$H(H),getSavers:GH(H),getSaversHistory:MH(H),getStats:RH(H),getSwapHistory:FH(H),getTVLHistory:IH(H)}}var WA=VA(d.Chain.THORChain),jA=VA(d.Chain.Maya);var uA={};w(uA,{getTrackerDetails:()=>HP,getTokenListProviders:()=>uP,getTokenList:()=>FP,getTokenApproval:()=>RP,getSwapTo:()=>MP,getSwapQuote:()=>PP,getRouteWithTx:()=>LP,getPrice:()=>IP,getNearDepositChannel:()=>gP,getGasRate:()=>OP,getChainflipDepositChannel:()=>BP,getChainBalance:()=>nP,SKRequestClient:()=>J});var lA=require("@swapkit/types"),o=require("ts-pattern");var XH={};w(XH,{signWidgetRequest:()=>mN});async function mN(A,T,H){let P=`${T}:${H}`,L=new TextEncoder,R=await crypto.subtle.importKey("raw",L.encode(A),{hash:"SHA-256",name:"HMAC"},!1,["sign"]),u=await crypto.subtle.sign("HMAC",R,L.encode(P));return Array.from(new Uint8Array(u)).map((I)=>I.toString(16).padStart(2,"0")).join("")}var v=require("@swapkit/types"),N=require("zod/v4");var KN;((P)=>{P.CHEAPEST="CHEAPEST";P.FASTEST="FASTEST";P.RECOMMENDED="RECOMMENDED"})(KN||={});var ON;((L)=>{L.PSBT="PSBT";L.EVM="EVM";L.COSMOS="COSMOS";L.RADIX="RADIX"})(ON||={});var pN;((E)=>{E.approve="approve";E.claim="claim";E.deposit="deposit";E.donate="donate";E.lending="lending";E.lp_action="lp_action";E.native_contract_call="native_contract_call";E.native_send="native_send";E.stake="stake";E.streaming_swap="streaming_swap";E.swap="swap";E.thorname_action="thorname_action";E.token_contract_call="token_contract_call";E.token_transfer="token_transfer";E.unknown="unknown";E.unstake="unstake"})(pN||={});var oN;((D)=>{D.swap="swap";D.aggregation="aggregation";D.addLiquidity="addLiquidity";D.withdrawLiquidity="withdrawLiquidity";D.addSavers="addSavers";D.withdrawSavers="withdrawSavers";D.borrow="borrow";D.repay="repay";D.name="name";D.donate="donate";D.claim="claim";D.stake="stake";D.unstake="unstake"})(oN||={});var yN;((I)=>{I.unknown="unknown";I.not_started="not_started";I.pending="pending";I.swapping="swapping";I.completed="completed";I.refunded="refunded";I.failed="failed"})(yN||={});var fN;((X)=>{X.not_started="not_started";X.starting="starting";X.broadcasted="broadcasted";X.mempool="mempool";X.inbound="inbound";X.outbound="outbound";X.swapping="swapping";X.completed="completed";X.refunded="refunded";X.partially_refunded="partially_refunded";X.dropped="dropped";X.reverted="reverted";X.replaced="replaced";X.retries_exceeded="retries_exceeded";X.parsing_error="parsing_error"})(fN||={});var EH=N.object({address:N.optional(N.string()),chain:N.z.enum(v.Chain).optional(),chainId:N.z.enum(v.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()}),QH=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"}),wH=N.z.object({forceUpdate:N.z.string().toLowerCase().transform((A)=>A==="true").pipe(N.z.boolean()).optional()}),xH=N.object({error:N.string(),message:N.string()}),c=N.object({address:N.optional(N.string()),chain:N.z.enum(v.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()}),CN=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(),bH=N.object({cg:N.optional(CN),identifier:N.string(),price_usd:N.number(),provider:N.string(),timestamp:N.number()}),hN=N.array(N.object({cg:N.optional(CN),identifier:N.string(),price_usd:N.number(),provider:N.string(),timestamp:N.number()}).partial()),zH=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)=>Q[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"]}),JH=N.object({metadata:N.boolean(),tokens:N.array(N.object({identifier:N.string()}))}),dN=N.object({destinationAddress:N.string()}),mA=dN.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()})}),cN=N.object({channelId:N.string(),depositAddress:N.string()}),kN=dN.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()}),vA=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()}),ZH=vA.extend({depositAddress:N.string(),quote:vA,signature:N.string(),timestamp:N.string(),tx:N.unknown()}),lN=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()}),VH=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())}),WH=N.object({currentStage:N.string(),inboundConfirmation:N.number(),inboundObservation:N.number(),outboundDelay:N.number(),outboundObservation:N.number(),streamingSwap:N.number()}),jH=N.object({count:N.optional(N.number()),interval:N.optional(N.number()),quantity:N.optional(N.number()),subSwapsMap:N.optional(N.array(N.number()))}),vH=N.z.object({currentLegIndex:N.z.optional(N.z.number()),estimatedTimeToComplete:N.z.number(),estimates:N.z.optional(WH),providerDetails:N.z.optional(N.z.object({streamingDetails:N.z.optional(jH)}))}),qH=N.object({affiliate:N.optional(c),liquidity:N.optional(c),network:N.optional(c),protocol:N.optional(c),tax:N.optional(c)}),mH=N.object({affiliate:N.string(),bps:N.string(),isReferrer:N.boolean()}),kH=N.object({affiliate:N.optional(N.string()),affiliateFees:N.optional(N.array(mH)),broadcastedAt:N.optional(N.number()),explorerUrl:N.optional(N.string()),fees:N.optional(qH),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(Q)),providerAction:N.z.optional(N.z.enum(oN)),quoteId:N.optional(N.string()),wallet:N.optional(N.string())}),HN=N.z.object({block:N.z.number(),chainId:N.z.enum(v.ChainId),finalAddress:N.z.optional(N.z.string()),finalAsset:N.z.optional(c),finalisedAt:N.z.number(),fromAddress:N.z.string(),fromAmount:N.z.string(),fromAsset:N.z.string(),hash:N.z.string(),meta:N.z.optional(kH),payload:N.z.optional(VH),status:N.z.enum(yN),toAddress:N.z.string(),toAmount:N.z.string(),toAsset:N.z.string(),trackingStatus:N.z.optional(N.z.enum(fN)),transient:N.z.optional(vH),type:N.z.enum(pN)}),rN=HN.extend({legs:N.z.array(HN)}),KH=HN.extend({legs:N.array(HN)}),pH=HN.extend({legs:N.array(HN)}),wN=N.array(N.object({amount:N.string(),asset:N.string(),chain:N.string(),protocol:N.z.enum(Q),type:N.z.enum(MN)})),xN=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")}),iN=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:N.string().describe("Value to send")}),sN=N.z.object({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(),visible:N.z.boolean()}),kA=N.array(N.union([N.string(),N.number(),N.array(N.string()),N.object({from:N.string(),value:N.string()}).describe("Parameters to pass to the contract method")])),oH=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:kA}),yH=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()})}),fH=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()})}),CH=N.object({typeUrl:N.string(),value:fH.or(yH)}),hH=N.object({amount:N.array(N.object({amount:N.string(),denom:N.string()})),gas:N.string()}),eN=N.object({accountNumber:N.number(),chainId:N.z.enum(v.ChainId),fee:hH,memo:N.string(),msgs:N.array(CH),sequence:N.number()}),KA=N.z.array(N.z.object({calldata:N.z.array(N.z.string()),contractAddress:N.z.string(),entrypoint:N.z.string()})),aN=N.z.array(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")})),pA=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:xN.optional(),provider:N.z.enum(Q),sellAsset:N.string().describe("Asset to sell"),slipPercentage:N.number().describe("Slippage as a percentage"),sourceAddress:N.string().describe("Source address")}),dH=pA.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),oA=N.object({asset:N.string().describe("Asset name"),image:N.string().describe("Asset image"),price:N.number().describe("Price in USD")}),yA=mA,NA=N.object({assets:N.optional(N.array(oA)),maxStreamingQuantity:N.number().optional(),referrer:N.string().optional(),streamingInterval:N.number().optional(),tags:N.array(N.z.enum(KN))}),AA=NA.extend({affiliate:N.optional(N.string()),affiliateFee:N.optional(N.string()),approvalAddress:N.optional(N.string().describe("Approval address for swap")),chainflip:yA.optional(),garden:kN.optional(),near:kN.optional(),priceImpact:N.optional(N.number().describe("Price impact")),referrer:N.optional(N.string()),txType:N.optional(N.z.enum(ON))}),TA=N.array(N.object({code:N.z.enum(GN),display:N.string(),tooltip:N.string().optional()})),cH=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(wN),provider:N.z.enum(Q),sellAmount:N.string().describe("Sell amount"),sellAsset:N.string().describe("Asset to sell")}),fA=N.object({buyAsset:N.string().describe("Asset to buy"),destinationAddress:N.optional(N.string().describe("Destination address")),estimatedTime:N.optional(xN),expectedBuyAmount:N.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:N.string().describe("Expected Buy amount max slippage"),expiration:N.optional(N.string().describe("Expiration")),fees:wN,inboundAddress:N.optional(N.string().describe("Inbound address")),legs:N.array(cH),memo:N.optional(N.string().describe("Memo")),meta:AA,providers:N.array(N.z.enum(Q)),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([iN,eN,sN,KA,aN,N.string()])),txType:N.optional(N.z.enum(ON)),warnings:TA}),HA=N.object({error:N.optional(N.string().describe("Error message")),providerErrors:N.optional(N.array(N.object({errorCode:N.optional(N.z.enum(r)),message:N.optional(N.string()),provider:N.z.enum(Q).optional()}))),quoteId:N.string().describe("Quote ID"),routes:N.array(fA)}),PA=N.z.object({chainId:N.z.enum(v.ChainId),createdAt:N.z.date(),id:N.z.number(),unit:N.z.string(),value:N.z.string()}),lH=N.z.array(PA),LA=N.z.union([PA,lH]),OL=N.array(N.object({chain:N.z.enum(v.Chain),decimal:N.number(),identifier:N.string(),symbol:N.string(),ticker:N.string(),value:N.string()})),rH=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(v.ChainId),spender:N.z.string(),tokenContractAddress:N.z.string(),userWalletAddress:N.z.string()}),N.z.object({routeId:N.z.string()})]),iH=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:N.z.string()})),approvedAmount:N.z.string(),isApproved:N.z.boolean()}),CA=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:N.z.string().describe("ETH value (always '0' for approvals)")}),qA=N.z.object({buyAmount:N.z.string().describe("Buy amount"),buyAmountMaxSlippage:N.z.string().describe("Buy amount max slippage"),buyAsset:N.z.string().describe("Asset to buy"),expectedBuyAmount:N.z.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:N.z.string().describe("Expected Buy amount max slippage"),fees:wN,provider:N.z.enum(Q),sellAmount:N.z.string().describe("Sell amount"),sellAsset:N.z.string().describe("Asset to sell")}),hA=qA.extend({estimatedTime:N.z.optional(xN),expiration:N.z.optional(N.z.string().describe("Expiration")),legs:N.z.array(qA),providers:N.z.array(N.z.enum(Q)),routeId:N.z.string().describe("Route ID"),totalSlippageBps:N.z.number().describe("Total slippage in bps"),warnings:TA}).omit({provider:!0}),sH=N.z.object({method:N.z.string(),payload:N.z.optional(N.z.unknown()),url:N.z.string()}),eH=hA.extend({meta:NA,nextActions:N.z.optional(N.z.array(sH))}),aH=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(r)),message:N.z.optional(N.z.string()),provider:N.z.enum(Q).optional()}))),quoteId:N.z.string().describe("Quote ID"),routes:N.z.array(eH)}),NP=N.z.object({providers:N.z.array(N.z.enum(Q)).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')")}),dA=N.z.object({chain:N.z.enum(v.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(Q)).describe("Providers that support this trading pair"),symbol:N.z.string().describe("Asset symbol"),ticker:N.z.string().describe("Asset ticker")}),AP=N.z.object({buyAssets:N.z.array(dA).describe("List of assets that can be swapped to"),sellAsset:N.z.string().describe("The input sell asset identifier")}),nA=hA.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:AA,sourceAddress:N.z.string().describe("Source address"),targetAddress:N.z.optional(N.z.string().describe("Target address")),tx:N.optional(N.union([iN,eN,sN,aN,N.string()])),txType:N.z.optional(N.z.enum(ON))}),cA=N.z.object({data:N.z.optional(N.z.record(N.z.string(),N.z.string().optional())),errorCode:N.z.enum(r),message:N.z.string().optional(),provider:N.z.enum(Q).optional()}),TP=N.z.object({error:N.z.optional(N.z.string().describe("Error message")),providerErrors:N.z.optional(N.z.array(cA)),quoteId:N.z.string().describe("Quote ID"),routes:N.z.array(nA)}),RA=nA.extend({approvalTx:CA.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 J=O.extend({dynamicHeader:async()=>{let A=U.get("widgetKey");if(A&&typeof window<"u"){let H=Math.floor(Date.now()/1000),P=window.location.origin;return{"X-Signature":await mN(A,P,H),"X-Timestamp":H.toString()}}let{swapKit:T}=U.get("apiKeys");return T?{"x-api-key":T}:{}}});async function HP(A){let T=await J.post(z("/track"),{json:A});try{let H=rN.safeParse(T);if(!H.success)throw new g("api_v2_invalid_response",H.error);return H.data}catch(H){return T}}async function PP(A){let{getQuote:T}=U.get("endpoints");if(T)return T(A);let P=U.get("v3SwapFlow")?.enabled?"/v3/quote":"/quote",L=await J.post(z(P),{json:A});if(L.error)throw new g("api_v2_server_error",{message:L.error});try{let R=HA.safeParse(L);if(!R.success)throw new g("api_v2_invalid_response",R.error);return R.data}catch{return L}}async function LP(A){let{getRouteWithTx:T}=U.get("endpoints");if(T)return T(A);let P=U.get("v3SwapFlow")?.enabled?"/v3/swap":"/swap",L=await J.post(z(P),{json:A});try{let R=RA.safeParse(L);if(!R.success)throw new g("api_v2_invalid_response",R.error);return R.data}catch(R){return console.error(new g("api_v2_invalid_response",R)),L}}async function nP({chain:A,address:T,scamFilter:H=!0}){let{getBalance:P}=U.get("endpoints");if(P)return P({address:T,chain:A});let L=z(`/balance?chain=${A}&address=${T}`),R=await J.get(L),u=Array.isArray(R)?R:[];return H?GP(u):u}function RP(A){let T=o.match(A).with({routeId:o.P.string,spender:o.P.string},({routeId:H,spender:P})=>z(`/approve?routeId=${H}&sourceAddress=${P}`)).with({assetValue:o.P.instanceOf(b),spender:o.P.string,userWallet:o.P.string},({spender:H,userWallet:P,assetValue:L})=>z(`/approve?tokenIdentifier=${L.toString()}&userWalletAddress=${P}&spender=${H}&amount=${L.getValue("string")}`)).exhaustive();return J.get(T)}function uP(){let A=z("/providers");return J.get(A)}function FP(A){let T=z(`/tokens?provider=${A}`);return J.get(T)}async function IP(A){let T=z("/price"),H=await J.post(T,{json:A});try{let P=hN.safeParse(H);if(!P.success)throw new g("api_v2_invalid_response",P.error);return P.data}catch(P){throw new g("api_v2_invalid_response",P)}}async function OP(){let A=z("/gas"),T=await J.get(A);try{let H=LA.safeParse(T);if(!H.success)throw new g("api_v2_invalid_response",H.error);return Array.isArray(H)?H:[H]}catch(H){throw new g("api_v2_invalid_response",H)}}async function BP(A){let{destinationAddress:T}=A;if(!T)throw new g("chainflip_broker_invalid_params");let H=U.get("integrations").chainflip?.brokerUrl||z("/chainflip/broker/channel"),P=await J.post(H,{json:A});try{let L=cN.safeParse(P);if(!L.success)throw new g("api_v2_invalid_response",L.error);return L.data}catch(L){throw new g("api_v2_invalid_response",L)}}async function gP(A){let{destinationAddress:T}=A;if(!T)throw new g("chainflip_broker_invalid_params");let H=z("/near/channel"),P=await J.post(H,{json:A});try{let L=lN.safeParse(P);if(!L.success)throw new g("api_v2_invalid_response",L.error);return L.data}catch(L){throw new g("api_v2_invalid_response",L)}}function z(A){let{isDev:T,apiUrl:H,devApiUrl:P}=U.get("envs");return`${T?P:H}${A}`}function tP(A){let[T,H]=A.split(".");if(!lA.EVMChains.includes(T))return!0;let P=H.split("-"),L=P.length===1?void 0:P[P.length-1];return nN({chain:T,symbol:H})||!!L}var $P=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function GP(A){return A.filter((T)=>{return!$P.test(T.identifier)&&tP(T.identifier)})}async function MP(A){let{getSwapTo:T}=U.get("endpoints");if(T)return T(A);let H=new URLSearchParams({sellAsset:A.sellAsset});if(A.providers?.length)for(let u of A.providers)H.append("providers",u);let P=z(`/swapTo?${H.toString()}`),L=await J.get(P);if(!Array.isArray(L))return{buyAssets:[],sellAsset:A.sellAsset};let R=[];for(let u of L)try{let I=b.from({asset:u});R.push({chain:I.chain,identifier:I.toString(),providers:[],symbol:I.symbol,ticker:I.ticker})}catch{}return{buyAssets:R,sellAsset:A.sellAsset}}var FA={};w(FA,{getThorchainQueue:()=>YP,getTcyStakers:()=>bP,getTcyStaker:()=>xP,getTcyClaimers:()=>JP,getTcyClaimer:()=>zP,getTNSPreferredAsset:()=>EP,getTHORNodeTNSDetails:()=>rA,getRunePoolProviderInfo:()=>wP,getRunePoolInfo:()=>QP,getNodes:()=>UP,getMimirInfo:()=>SP,getLastBlock:()=>DP,getInboundAddresses:()=>XP});var y=require("@swapkit/types");function W(A){let{isStagenet:T}=U.get("envs");switch(A){case"mayachain":return`${T?y.StagenetMAYAConfig.nodeUrl:y.MAYAConfig.nodeUrl}/mayachain`;default:return`${T?y.StagenetTHORConfig.nodeUrl:y.THORConfig.nodeUrl}/thorchain`}}function _P(A){let T=A==="mayachain"?"mayaname":"thorname";return`${W(A)}/${T}`}function DP(A="thorchain"){return O.get(`${W(A)}/lastblock`)}function YP(A){return O.get(`${W(A)}/queue`)}function UP(A){return O.get(`${W(A)}/nodes`)}function SP(A){return O.get(`${W(A)}/mimir`)}function XP(A){return O.get(`${W(A)}/inbound_addresses`)}async function rA({type:A,name:T}){try{return await O.get(`${_P(A)}/${T}`)}catch{return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:T,owner:"",preferred_asset:""}}}async function EP({type:A,tns:T}){let H=await rA({name:T,type:A});if(!H.preferred_asset||H.preferred_asset===".")return;return b.from({asset:H.preferred_asset,asyncTokenLookup:!0})}function QP(A){return O.get(`${W(A)}/runepool`)}function wP({type:A,thorAddress:T}){return O.get(`${W(A)}/rune_provider/${T}`)}function xP({type:A,address:T}){return O.get(`${W(A)}/tcy_staker/${T}`)}function bP(A){return O.get(`${W(A)}/tcy_stakers`)}function zP({type:A,address:T}){return O.get(`${W(A)}/tcy_claimer/${T}`)}function JP(A){return O.get(`${W(A)}/tcy_claimers`)}var VP={...uA,mayachainMidgard:jA,thorchainMidgard:WA,thornode:FA};
|