@swapkit/helpers 1.2.4 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3 -3
- package/dist/index.js.map +7 -9
- package/package.json +9 -9
- package/src/helpers/memo.ts +106 -148
- package/src/index.ts +1 -0
- package/src/types/index.ts +0 -3
- package/src/types/quotes.ts +0 -353
- package/src/types/sdk.ts +3 -98
- package/src/types/abis/erc20.ts +0 -99
- package/src/types/abis/mayaEvmVaults.ts +0 -331
- package/src/types/abis/tcEthVault.ts +0 -496
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var pn=((n)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(n,{get:(e,t)=>(typeof require!=="undefined"?require:e)[t]}):n)(function(n){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var _e=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"}];var je=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct MAYAChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct MAYAChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Ge=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct ArbRouter.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ArbRouter.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var ze=[{inputs:[{internalType:"address",name:"rune",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[],name:"RUNE",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"aggregator",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Je=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Ze=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var C;((o)=>{o.Arbitrum="https://arb1.arbitrum.io/rpc";o.Avalanche="https://node-router.thorswap.net/avalanche-c";o.BinanceSmartChain="https://bsc-dataseed.binance.org";o.Bitcoin="https://node-router.thorswap.net/bitcoin";o.BitcoinCash="https://node-router.thorswap.net/bitcoin-cash";o.Chainflip="wss://mainnet-archive.chainflip.io";o.Cosmos="https://node-router.thorswap.net/cosmos/rpc";o.Dash="https://node-router.thorswap.net/dash";o.Dogecoin="https://node-router.thorswap.net/dogecoin";o.Ethereum="https://node-router.thorswap.net/ethereum";o.Kujira="https://rpc-kujira.synergynodes.com/";o.Litecoin="https://node-router.thorswap.net/litecoin";o.Maya="https://tendermint.mayachain.info";o.MayaStagenet="https://stagenet.tendermint.mayachain.info";o.Optimism="https://mainnet.optimism.io";o.Polkadot="wss://rpc.polkadot.io";o.Polygon="https://polygon-rpc.com";o.Radix="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";o.THORChain="https://rpc.thorswap.net";o.THORChainStagenet="https://stagenet-rpc.ninerealms.com";o.Solana="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(C||={});var U;((i)=>{i.Arbitrum="https://arbiscan.io";i.Avalanche="https://snowtrace.io";i.BinanceSmartChain="https://bscscan.com";i.Bitcoin="https://blockchair.com/bitcoin";i.BitcoinCash="https://www.blockchair.com/bitcoin-cash";i.Chainflip="https://explorer.polkascan.io/polkadot";i.Cosmos="https://www.mintscan.io/cosmos";i.Dash="https://blockchair.com/dash";i.Dogecoin="https://blockchair.com/dogecoin";i.Ethereum="https://etherscan.io";i.Kujira="https://finder.kujira.network/kaiyo-1";i.Litecoin="https://blockchair.com/litecoin";i.Maya="https://www.mayascan.org";i.Optimism="https://optimistic.etherscan.io";i.Polkadot="https://polkadot.subscan.io";i.Polygon="https://polygonscan.com";i.Radix="https://dashboard.radixdlt.com";i.THORChain="https://runescan.io";i.Solana="https://solscan.io"})(U||={});var G;((i)=>{i.Arbitrum="ARB";i.Avalanche="AVAX";i.BinanceSmartChain="BSC";i.Bitcoin="BTC";i.BitcoinCash="BCH";i.Cosmos="GAIA";i.Dash="DASH";i.Dogecoin="DOGE";i.Ethereum="ETH";i.Kujira="KUJI";i.Litecoin="LTC";i.Maya="MAYA";i.Optimism="OP";i.Polkadot="DOT";i.Chainflip="FLIP";i.Polygon="MATIC";i.Radix="XRD";i.THORChain="THOR";i.Solana="SOL"})(G||={});var q;((f)=>{f.Arbitrum="42161";f.ArbitrumHex="0xa4b1";f.Avalanche="43114";f.AvalancheHex="0xa86a";f.BinanceSmartChain="56";f.BinanceSmartChainHex="0x38";f.Bitcoin="bitcoin";f.BitcoinCash="bitcoincash";f.Chainflip="chainflip";f.Cosmos="cosmoshub-4";f.Dash="dash";f.Dogecoin="dogecoin";f.Kujira="kaiyo-1";f.Ethereum="1";f.EthereumHex="0x1";f.Litecoin="litecoin";f.Maya="mayachain-mainnet-v1";f.MayaStagenet="mayachain-stagenet-v1";f.Optimism="10";f.OptimismHex="0xa";f.Polkadot="polkadot";f.Polygon="137";f.PolygonHex="0x89";f.Radix="radix-mainnet";f.THORChain="thorchain-mainnet-v1";f.THORChainStagenet="thorchain-stagenet-v2";f.Solana="solana"})(q||={});var Le={["0xa4b1"]:"ARB",["42161"]:"ARB",["0xa86a"]:"AVAX",["43114"]:"AVAX",["0x38"]:"BSC",["56"]:"BSC",["bitcoincash"]:"BCH",["bitcoin"]:"BTC",["chainflip"]:"FLIP",["cosmoshub-4"]:"GAIA",["dash"]:"DASH",["dogecoin"]:"DOGE",["0x1"]:"ETH",["kaiyo-1"]:"KUJI",["1"]:"ETH",["litecoin"]:"LTC",["mayachain-stagenet-v1"]:"MAYA",["mayachain-mainnet-v1"]:"MAYA",["0xa"]:"OP",["10"]:"OP",["polkadot"]:"DOT",["0x89"]:"MATIC",["137"]:"MATIC",["radix-mainnet"]:"XRD",["thorchain-stagenet-v2"]:"THOR",["thorchain-mainnet-v1"]:"THOR",["solana"]:"SOL"},Xn=Object.keys(G),L=Object.values(G),w;((T)=>{T[T.ARB=18]="ARB";T[T.AVAX=18]="AVAX";T[T.BCH=8]="BCH";T[T.BSC=18]="BSC";T[T.BTC=8]="BTC";T[T.DASH=8]="DASH";T[T.DOGE=8]="DOGE";T[T.DOT=10]="DOT";T[T.ETH=18]="ETH";T[T.FLIP=18]="FLIP";T[T.GAIA=6]="GAIA";T[T.KUJI=6]="KUJI";T[T.LTC=8]="LTC";T[T.MATIC=18]="MATIC";T[T.MAYA=8]="MAYA";T[T.OP=18]="OP";T[T.SOL=9]="SOL";T[T.THOR=8]="THOR";T[T.XRD=18]="XRD";T[T.ZEC=8]="ZEC"})(w||={});var Me=["DOT","FLIP"],P=["ETH","AVAX","BSC","ARB","OP","MATIC"],Ye=["BTC","BCH","DASH","DOGE","LTC"],Ae=["GAIA","THOR","MAYA","KUJI"],Ne=["AVAX","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"],Qe=["ARB","DASH","ETH","KUJI","MAYA","THOR"],W=L.reduce((n,e)=>{const t=Xn.find((a)=>G[a]===e);if(t)n[e]=t;return n},{}),yn=L.reduce((n,e)=>{return n[e]=q[W[e]],n},{}),c=L.reduce((n,e)=>{return n[e]=C[W[e]],n},{}),qe=L.reduce((n,e)=>{const t=`${W[e]}Hex`;return n[e]=q[t],n},{}),Pe=L.reduce((n,e)=>{return n[e]=U[W[e]],n},{});var zn;((h)=>{h.TC_SUPPORTED_TO_TC_SUPPORTED="TC-TC";h.TC_SUPPORTED_TO_ETH="TC-ERC20";h.TC_SUPPORTED_TO_AVAX="TC-ARC20";h.TC_SUPPORTED_TO_BSC="TC-BEP20";h.ETH_TO_TC_SUPPORTED="ERC20-TC";h.ETH_TO_ETH="ERC20-ERC20";h.ETH_TO_AVAX="ERC20-ARC20";h.ETH_TO_BSC="ERC20-BEP20";h.AVAX_TO_TC_SUPPORTED="ARC20-TC";h.AVAX_TO_ETH="ARC20-ERC20";h.AVAX_TO_AVAX="ARC20-ARC20";h.AVAX_TO_BSC="ARC20-BEP20";h.BSC_TO_TC_SUPPORTED="BEP20-TC";h.BSC_TO_ETH="BEP20-ERC20";h.BSC_TO_AVAX="BEP20-ARC20";h.BSC_TO_BSC="BEP20-BEP20"})(zn||={});var Ve=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],Fe=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],Ke=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var Jn;((u)=>{u.ARB="0x0000000000000000000000000000000000000000";u.AVAX="0x0000000000000000000000000000000000000000";u.ETH="0x0000000000000000000000000000000000000000";u.BSC="0x0000000000000000000000000000000000000000";u.MATIC="0x0000000000000000000000000000000000001010";u.OP="0x4200000000000000000000000000000000000042"})(Jn||={});var Zn;((i)=>{i.ARB="m/44'/60'/0'/0";i.AVAX="m/44'/60'/0'/0";i.BCH="m/44'/145'/0'/0";i.BSC="m/44'/60'/0'/0";i.BTC="m/84'/0'/0'/0";i.DASH="m/44'/5'/0'/0";i.DOGE="m/44'/3'/0'/0";i.DOT="////";i.ETH="m/44'/60'/0'/0";i.FLIP="////";i.GAIA="m/44'/118'/0'/0";i.KUJI="m/44'/118'/0'/0";i.LTC="m/84'/2'/0'/0";i.MATIC="m/44'/60'/0'/0";i.MAYA="m/44'/931'/0'/0";i.OP="m/44'/60'/0'/0";i.SOL="m/44'/501'/0'/0";i.THOR="m/44'/931'/0'/0";i.XRD="////"})(Zn||={});var S={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],SOL:[44,501,0,0,0],THOR:[44,931,0,0,0],XRD:[0,0,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var sn;((T)=>{T.BRAVE="BRAVE";T.COINBASE_MOBILE="COINBASE_MOBILE";T.COINBASE_WEB="COINBASE_WEB";T.EIP6963="EIP6963";T.EXODUS="EXODUS";T.KEEPKEY="KEEPKEY";T.KEPLR="KEPLR";T.KEYSTORE="KEYSTORE";T.LEDGER="LEDGER";T.METAMASK="METAMASK";T.OKX="OKX";T.OKX_MOBILE="OKX_MOBILE";T.PHANTOM="PHANTOM";T.POLKADOT_JS="POLKADOT_JS";T.RADIX_WALLET="RADIX_WALLET";T.TREZOR="TREZOR";T.TALISMAN="TALISMAN";T.TRUSTWALLET_WEB="TRUSTWALLET_WEB";T.WALLETCONNECT="WALLETCONNECT";T.XDEFI="XDEFI"})(sn||={});var bn;((a)=>{a[a.NoError=36864]="NoError";a[a.LockedDevice=21781]="LockedDevice";a[a.TC_NotFound=65535]="TC_NotFound"})(bn||={});import{z as l}from"zod";import{z as p}from"zod";var kn;((s)=>{s.unknownError="unknownError";s.test_error="test_error";s.providerDetailsError="providerDetailsError";s.blockHeaderNotFound="blockHeaderNotFound";s.blockHashNotFoundAtHeight="blockHashNotFoundAtHeight";s.blockHashNotFoundAtHash="blockHashNotFoundAtHash";s.txHashMissing="txHashMissing";s.assetValueMissingInfo="assetValueMissingInfo";s.invalidAsset="invalidAsset";s.blockIsRequired="blockIsRequired";s.currentBlockHeaderNotFound="currentBlockHeaderNotFound";s.failedToRetrieveBalance="failedToRetrieveBalance";s.failedToRetrieveBlock="failedToRetrieveBlock";s.failedToRetrieveFees="failedToRetrieveFees";s.notImplementedBCH="notImplementedBCH";s.notImplementedDoge="notImplementedDoge";s.noPoolsFound="noPoolsFound";s.noVaultsFound="noVaultsFound";s.noTxFound="noTxFound";s.noInputCoinFound="noInputCoinFound";s.noBlockDataFound="noBlockDataFound";s.multipleCosmosMessages="multipleCosmosMessages";s.heightOrHashNotProvided="heightOrHashNotProvided";s.unknownDenom="unknownDenom";s.invalidBlockHeight="invalidBlockHeight";s.timestampExtrinsicNoArgumentsForBlock="timestampExtrinsicNoArgumentsForBlock";s.timestampExtrinsicNoTimestampForBlock="timestampExtrinsicNoTimestampForBlock";s.noTimestampExtrinsicForHash="noTimestampExtrinsicForHash";s.timestampExtrinsicNoArgumentsForHash="timestampExtrinsicNoArgumentsForHash";s.txMemoUndefined="txMemoUndefined";s.txMemoIncorrect="txMemoIncorrect";s.txTypeNotFound="txTypeNotFound";s.txNoMessage="txNoMessage";s.txNotFound="txNotFound";s.txReceiptNotFound="txReceiptNotFound";s.txParsingError="txParsingError";s.blockNotFound="blockNotFound";s.balanceNotFound="balanceNotFound";s.configError="configError";s.noQuoteResponse="noQuoteResponse";s.noPoolAssetsFound="noPoolAssetsFound";s.noThorchainPools="noThorchainPools";s.noMayachainPools="noMayachainPools";s.invalidAffiliateFee="invalidAffiliateFee";s.invalidBuyAssetAddress="invalidBuyAssetAddress";s.invalidSellAssetAddress="invalidSellAssetAddress";s.invalidSourceAddress="invalidSourceAddress";s.invalidDestinationAddress="invalidDestinationAddress";s.sourceAddressIsSmartContract="sourceAddressIsSmartContract";s.destinationAddressIsSmartContract="destinationAddressIsSmartContract";s.invalidChainId="invalidChainId";s.unsupportedChainId="unsupportedChainId";s.unsupportedEVMChainId="unsupportedEVMChainId";s.noWhitelistTokens="noWhitelistTokens";s.failedFetchGasPrice="failedFetchGasPrice";s.failedToCreateDepositChannel="failedToCreateDepositChannel";s.noProviderDetailsFound="noProviderDetailsFound";s.noTokenListsFound="noTokenListsFound";s.tokenNotFound="tokenNotFound";s.tokenPriceNotFound="tokenPriceNotFound";s.swapAmountTooSmall="swapAmountTooSmall";s.legsArrayIsEmpty="legsArrayIsEmpty";s.failedToFetchQuoteForLeg="failedToFetchQuoteForLeg";s.noBlockHeaderFound="noBlockHeaderFound";s.failedToSimulateSwap="failedToSimulateSwap";s.addressScreeningFailed="addressScreeningFailed";s.noLiquidtyProvidersFound="noLiquidtyProvidersFound";s.noSaversFound="noSaversFound";s.noInboundAddressesFound="noInboundAddressesFound";s.noInboundAddressFoundForChain="noInboundAddressFoundForChain";s.noLastBlocksFound="noLastBlocksFound";s.noVersionFound="noVersionFound";s.noConstantsFound="noConstantsFound";s.noMimirsFound="noMimirsFound";s.noRoutesFound="noRoutesFound";s.quoteNotFound="quoteNotFound";s.ledgerSignFailed="ledgerSignFailed";s.ledgerFetchSwapFailed="ledgerFetchSwapFailed";s.failedToFetchTx="failedToFetchTx";s.failedBuildTransactionDetails="failedBuildTransactionDetails";s.noLegsForRoute="noLegsForRoute";s.noRouterAddressFound="noRouterAddressFound";s.noAggregatorAddressFound="noAggregatorAddressFound";s.noContractInstanceFound="noContractInstanceFound";s.noContractAddressFound="noContractAddressFound";s.invalidAffiliate="invalidAffiliate";s.providerNotfound="No provider found";s.noRecordFound="No Record found";s.slippageTooLow="Slippage too low";s.tradingHalted="tradingHalted";s.noWrappedGasAsset="noWrappedGasAsset";s.aggregatorAddressNotFound="aggregatorAddressNotFound";s.routerAddressNotFound="routerAddressNotFound";s.dummyAddressNotFound="dummyAddressNotFound";s.trackerError="trackerError";s.noOhlcvDataFound="noOhlcvDataFound";s.noTradingPairs="noTradingPairs";s.noLoanPositionFound="noLoanPositionFound";s.noLendingAvailability="noLendingAvailability";s.lendingRepayTooSmall="lendingRepayTooSmall";s.missingState="missingState";s.ledgerSwapNotFound="ledgerSwapNotFound";s.ledgerSwapNotReadyForTracking="ledgerSwapNotReadyForTracking";s.errorEstimatingGas="errorEstimatingGas";s.apiKeyInvalid="apiKeyInvalid";s.apiKeyFailedToUpdate="apiKeyFailedToUpdate";s.apiKeyExpired="apiKeyExpired";s.unauthorized="unauthorized";s.failedToCreateMemo="failedToCreateMemo";s.radixIncorrectInstructions="radixIncorrectInstructions";s.invalidAddressForChain="invalidAddressForChain"})(kn||={});var dn;((t)=>{t.highSlippage="highSlippage";t.highPriceImpact="highPriceImpact"})(dn||={});var gn=p.object({to:p.string({description:"Address of the recipient"}),from:p.string({description:"Address of the sender"}),gas:p.number({description:"Gas limit"}).optional(),gasPrice:p.string({description:"Gas price"}).optional(),value:p.string({description:"Value to send"}),data:p.string({description:"Data to send"})}),Ln=p.array(p.union([p.string(),p.number(),p.array(p.string()),p.object({from:p.string(),value:p.string()}).describe("Parameters to pass to the contract method")])),Mn=p.object({contractAddress:p.string({description:"Address of the contract to interact with"}),contractMethod:p.string({description:"Name of the method to call"}),contractParams:Ln,contractParamNames:p.array(p.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:p.optional(p.string({description:"Address of the token to approve spending of"})),approvalSpender:p.optional(p.string({description:"Address of the spender to approve"}))}),D=p.object({inbound:p.optional(p.number({description:"Time to receive inbound asset in seconds"})),swap:p.optional(p.number({description:"Time to swap assets in seconds"})),outbound:p.optional(p.number({description:"Time to receive outbound asset in seconds"})),total:p.number({description:"Total time in seconds"})}),X;((O)=>{O.CHAINFLIP="CHAINFLIP";O.TRADERJOE_V1="TRADERJOE_V1";O.PANGOLIN_V1="PANGOLIN_V1";O.UNISWAP_V2="UNISWAP_V2";O.THORCHAIN="THORCHAIN";O.THORCHAIN_STREAMING="THORCHAIN_STREAMING";O.MAYACHAIN="MAYACHAIN";O.MAYACHAIN_STREAMING="MAYACHAIN_STREAMING";O.ONEINCH="ONEINCH";O.SUSHISWAP_V2="SUSHISWAP_V2";O.WOOFI_V2="WOOFI_V2";O.PANCAKESWAP="PANCAKESWAP"})(X||={});var un;((u)=>{u.LIQUIDITY="liquidity";u.NETWORK="network";u.INBOUND="inbound";u.OUTBOUND="outbound";u.AFFILIATE="affiliate";u.TAX="tax"})(un||={});var E=p.array(p.object({type:p.nativeEnum(un),amount:p.string(),asset:p.string(),chain:p.string(),protocol:p.nativeEnum(X)})),Yn=p.object({sellAsset:p.string({description:"Asset to sell"}),buyAsset:p.string({description:"Asset to buy"}),provider:p.nativeEnum(X),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),estimatedTime:D.optional(),affiliate:p.string({description:"Affiliate address"}).optional(),affiliateFee:p.number({description:"Affiliate fee"}).optional(),slipPercentage:p.number({description:"Slippage as a percentage"})}),Ue=Yn.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),An=p.object({name:p.string({description:"Asset name"}),price:p.number({description:"Price in USD"}),image:p.string({description:"Asset image"})}),Tn=p.object({priceImpact:p.number({description:"Price impact"}),assets:p.optional(p.array(An))}),rn=p.array(p.object({code:p.nativeEnum(dn),display:p.string(),tooltip:p.string().optional()})),Nn=p.object({provider:p.nativeEnum(X),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"Sell amount"}),buyAsset:p.string({description:"Asset to buy"}),buyAmount:p.string({description:"Buy amount"}),buyAmountMaxSlippage:p.string({description:"Buy amount max slippage"}),fees:p.optional(E)}),Qn=p.object({providers:p.array(p.nativeEnum(X)),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"Sell amount"}),buyAsset:p.string({description:"Asset to buy"}),expectedBuyAmount:p.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:p.string({description:"Expected Buy amount max slippage"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),targetAddress:p.optional(p.string({description:"Target address"})),expiration:p.optional(p.string({description:"Expiration"})),memo:p.optional(p.string({description:"Memo"})),fees:E,tx:p.optional(gn),transaction:p.optional(p.unknown()),estimatedTime:p.optional(D),totalSlippageBps:p.number({description:"Total slippage in bps"}),legs:p.array(Nn),warnings:rn,meta:Tn}),ce=p.object({quoteId:p.string({description:"Quote ID"}),routes:p.array(Qn),error:p.optional(p.string({description:"Error message"}))}),qn=p.object({provider:p.nativeEnum(X),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"Sell amount"}),buyAsset:p.string({description:"Asset to buy"}),buyAmount:p.string({description:"Buy amount"}),buyAmountMaxSlippage:p.string({description:"Buy amount max slippage"}),fees:p.optional(E)}),Pn=p.object({providers:p.array(p.nativeEnum(X)),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"Sell amount"}),buyAsset:p.string({description:"Asset to buy"}),expectedBuyAmount:p.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:p.string({description:"Expected Buy amount max slippage"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),targetAddress:p.optional(p.string({description:"Target address"})),expiration:p.optional(p.string({description:"Expiration"})),memo:p.optional(p.string({description:"Memo"})),evmTransactionDetails:p.optional(Mn),transaction:p.optional(p.unknown()),estimatedTime:p.optional(D),totalSlippageBps:p.number({description:"Total slippage in bps"}),legs:p.array(qn),warnings:rn,meta:Tn}),Se=p.object({quoteId:p.string({description:"Quote ID"}),routes:p.array(Pn),error:p.optional(p.string({description:"Error message"}))});var Wn;((a)=>{a.Average="average";a.Fast="fast";a.Fastest="fastest"})(Wn||={});var Vn;((t)=>{t.Approve="approve";t.CheckOnly="checkOnly"})(Vn||={});var xn;((m)=>{m.NAME_REGISTER="~";m.BOND="BOND";m.DEPOSIT="+";m.LEAVE="LEAVE";m.UNBOND="UNBOND";m.WITHDRAW="-";m.OPEN_LOAN="$+";m.CLOSE_LOAN="$-";m.RUNEPOOL_DEPOSIT="POOL+";m.RUNEPOOL_WITHDRAW="POOL-"})(xn||={});var et=l.object({sellAsset:l.string({description:"Asset to sell"}),buyAsset:l.string({description:"Asset to buy"}),sellAmount:l.number({description:"Amount of asset to sell"}).refine((n)=>n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:l.optional(l.array(l.string({description:"List of providers to use"}).refine((n)=>{return X[n]!==void 0},{message:"Invalid provider",path:["providers"]}))),sourceAddress:l.optional(l.string({description:"Address to send asset from"})),destinationAddress:l.optional(l.string({description:"Address to send asset to"})),slippage:l.optional(l.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:l.optional(l.string({description:"Affiliate thorname"})),affiliateFee:l.optional(l.number({description:"Affiliate fee in basis points"}).refine((n)=>{return n===Math.floor(n)&&n>=0},{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractSender:l.optional(l.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:l.optional(l.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:l.optional(l.boolean({description:"Disable security checks"})),includeTx:l.optional(l.boolean({description:"Set to true to include an transaction object (EVM only)"}))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]});import{red as on,yellow as In}from"picocolors";var Fn={core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_plugin_not_found:10006,core_plugin_swap_not_found:10007,core_approve_asset_target_invalid:10008,core_explorer_unsupported_chain:10009,core_verify_message_not_supported:10010,core_chain_halted:10099,core_wallet_connection_not_found:10100,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_wallet_keepkey_not_installed:10109,core_wallet_talisman_not_installed:10110,core_wallet_not_keypair_wallet:10111,core_wallet_sign_message_not_supported:10110,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,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,wallet_connection_rejected_by_user:20000,wallet_missing_api_key:20001,wallet_chain_not_supported:20002,wallet_missing_params:20003,wallet_provider_not_found:20004,wallet_failed_to_add_or_switch_network:20005,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_phantom_not_found:20201,wallet_xdefi_not_found:20301,wallet_xdefi_send_transaction_no_address:20302,wallet_xdefi_contract_address_not_provided:20303,wallet_xdefi_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,wallet_polkadot_not_found:20701,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30100,chainflip_broker_recipient_error:30101,chainflip_broker_register:30102,chainflip_broker_tx_error:30103,chainflip_broker_withdraw:30104,chainflip_broker_fund_only_flip_supported:30105,chainflip_broker_fund_invalid_address:30106,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_swapin_router_required:40100,thorchain_swapin_vault_required:40101,thorchain_swapin_memo_required:40102,thorchain_swapin_token_required:40103,api_v2_invalid_response:50001,toolbox_cosmos_signer_not_defined:90101,toolbox_cosmos_no_accounts_found:90102,toolbox_cosmos_verify_signature_no_pubkey:90103,toolbox_evm_no_abi_fragment:90201,toolbox_evm_no_signer:90202,toolbox_evm_no_signer_address:90203,toolbox_evm_no_from_address:90204,toolbox_evm_no_contract_address:90205,toolbox_evm_no_fee_data:90206,toolbox_evm_no_gas_price:90207,toolbox_evm_no_to_address:90208,toolbox_evm_invalid_gas_asset_address:90209,toolbox_evm_provider_not_eip1193_compatible:90210,toolbox_evm_error_estimating_gas_limit:90211,toolbox_evm_error_sending_transaction:90212,helpers_invalid_number_different_decimals:99000,helpers_invalid_number_of_years:99001,helpers_invalid_identifier:99002,helpers_invalid_asset_url:99003,helpers_invalid_asset_identifier:99004,helpers_invalid_memo_type:99005,helpers_failed_to_switch_network:99103,helpers_not_found_provider:99200,not_implemented:99999};class _ extends Error{static ErrorCode=Fn;constructor(n,e){const t=typeof n==="string",a=t?n:n.errorKey;if(e)console.error(e,{stack:e?.stack,message:e?.message});super(a,{cause:{code:_.ErrorCode[a],message:`${a}${t?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,_.prototype)}}function Rt(n){if(n<0)throw new _({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function ht(n){if(n<0)throw new _({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return Math.round((10+n*1.0512)*10000000000)/10000000000}function wt(n,e){try{return n()}catch(t){if(e)throw new _(e,t);return console.error(t)}}function _t(n){switch(n){case"THOR":return`${n}.RUNE`;case"GAIA":return`${n}.ATOM`;case"BSC":return`${n}`;default:return`${n}.${n}`}}function fn(n,e){if(!Kn&&n){if(mn.has(e))return;mn.add(e),console.warn(e)}}var Kn=["production","test"].includes("development"),mn=new Set;function Hn(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(ln.includes(t))return!0;const[a]=e.split("/");if(ln.includes(a))return!0;throw new _({errorKey:"helpers_invalid_identifier",info:{message:`Invalid identifier: ${n}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`,identifier:n}})}function Xt(n){if(n.length>30)return!1;const e=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(e)}var ln=[...Object.values(G),"TERRA"];function k({value:n,bigIntDecimal:e=Y,decimal:t=Y}){if(t===0)return n.toString();const a=n<0n;let y=n.toString().substring(a?1:0);const d=t-(y.length-1);if(d>0)y="0".repeat(d)+y;const u=y.length-t;let r=y.slice(-t);if(Number.parseInt(r[e]||"0")>=5)r=`${r.substring(0,e-1)}${(Number.parseInt(r[e-1]||"0")+1).toString()}`;else r=r.substring(0,e);return`${a?"-":""}${y.slice(0,u)}.${r}`.replace(/\.?0*$/,"")}function V(n){const t=`${typeof n==="number"?Bn.format(n):nn(n)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]||"0"}function On(n){const e=n.split(".")[1]?.length||0;return Math.max(e,Y)}function nn(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n}var Y=8,Z=(n)=>10n**BigInt(n),M=(n)=>Math.log10(Number.parseFloat(n.toString()));class J{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new J({decimal:e,value:k({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return J.fromBigInt(n.getBaseValue("bigint")*Z(t)/Z(e),t)}constructor(n){const e=nn(n),t=typeof n==="object";this.decimal=t?n.decimal:void 0,this.decimalMultiplier=t&&"decimalMultiplier"in n?n.decimalMultiplier:Z(Math.max(On(V(e)),this.decimal||0)),this.#p(e)}set(n){return new this.constructor({decimal:this.decimal,value:n,identifier:this.toString()})}add(...n){return this.#e("add",...n)}sub(...n){return this.#e("sub",...n)}mul(...n){return this.#e("mul",...n)}div(...n){return this.#e("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){const e=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||M(this.decimalMultiplier));switch(n){case"number":return Number(e);case"string":return e;case"bigint":return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(n){const e=this.decimalMultiplier/Z(this.decimal||8),t=this.bigIntValue/e;switch(n){case"number":return Number(t);case"string":return t.toString();case"bigint":return t}}getBigIntValue(n,e){if(!e&&typeof n==="object")return n.bigIntValue;const t=nn(n),a=V(t);if(a==="0"||a==="undefined")return 0n;return this.#a(a,e)}toSignificant(n=6){const[e,t]=this.getValue("string").split("."),a=e||"",y=t||"";if((Number.parseInt(a)?a.length+y.length:y.length)<=n)return this.getValue("string");if(a.length>=n)return a.slice(0,n).padEnd(a.length,"0");if(Number.parseInt(a))return`${a}.${y.slice(0,n-a.length)}`.padEnd(n-a.length,"0");const u=Number.parseInt(y),r=`${u}`.slice(0,n);return`0.${r.padStart(y.length-`${u}`.length+r.length,"0")}`}toFixed(n=6){const[e,t]=this.getValue("string").split("."),a=e||"",y=t||"";if(Number.parseInt(a))return`${a}.${y.slice(0,n)}`.padEnd(n,"0");const d=Number.parseInt(y),u=`${d}`.slice(0,n);return`0.${u.padStart(y.length-`${d}`.length+u.length,"0")}`}toAbbreviation(n=2){const e=this.getValue("number"),t=["","K","M","B","T","Q","Qi","S"],a=Math.floor(Math.log10(Math.abs(e))/3),y=t[a];if(!y)return this.getValue("string");const d=10**(a*3);return`${(e/d).toFixed(n)}${y}`}toCurrency(n="$",{currencyPosition:e="start",decimal:t=2,decimalSeparator:a=".",thousandSeparator:y=","}={}){const d=this.getValue("number"),[u="",r=""]=d.toFixed(6).split("."),H=u.replace(/\B(?=(\d{3})+(?!\d))/g,y),x=u||r?u==="0"?`${Number.parseFloat(`0.${r}`)}`.replace(".",a):`${H}${Number.parseInt(r)?`${a}${r.slice(0,t)}`:""}`:"0.00";return`${e==="start"?n:""}${x}${e==="end"?n:""}`}formatBigIntToSafeValue(n,e){const t=e||this.decimal||Y,a=Math.max(t,M(this.decimalMultiplier)),y=n<0n,d=n.toString().substring(y?1:0),u=a-(d.length-1),r=u>0?"0".repeat(u)+d:d,H=r.length-a;let x=r.slice(-a);if(Number.parseInt(x[t]||"0")>=5)x=`${x.substring(0,t-1)}${(Number.parseInt(x[t-1]||"0")+1).toString()}`;else x=x.substring(0,t);return`${y?"-":""}${r.slice(0,H)}.${x}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),a=Math.max(t,M(this.decimalMultiplier)),y=Z(a),d=e.reduce((r,H)=>{const x=this.getBigIntValue(H,a);switch(n){case"add":return r+x;case"sub":return r-x;case"mul":return r*x/y;case"div":{if(x===0n)throw new RangeError("Division by zero");return r*y/x}default:return r}},this.bigIntValue*y/this.decimalMultiplier),u=k({bigIntDecimal:a,decimal:a,value:d});return new this.constructor({decimalMultiplier:Z(a),decimal:this.decimal,value:u,identifier:this.toString()})}#n(n,...e){const t=this.#t(this,...e),a=this.getBigIntValue(e[0]||"0",t),y=this.getBigIntValue(this,t);switch(n){case"gt":return y>a;case"gte":return y>=a;case"lt":return y<a;case"lte":return y<=a;case"eqValue":return y===a}}#p(n){const e=V(n)||"0";this.bigIntValue=this.#a(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||M(t.decimalMultiplier):On(V(t))}).filter(Boolean);return Math.max(...e,Y)}#a(n,e){const t=e?Z(e):this.decimalMultiplier,a=M(t),[y="",d=""]=n.split(".");return BigInt(`${y}${d.padEnd(a,"0")}`)}}var Bn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function Nt(n){const e=R.from({chain:n});switch(n){case"BTC":case"LTC":case"BCH":case"DASH":return e.set(0.00010001);case"DOGE":return e.set(1.00000001);case"AVAX":case"ETH":case"ARB":case"BSC":return e.set(0.00000001);case"THOR":case"MAYA":return e.set(0);case"GAIA":case"KUJI":return e.set(0.000001);default:return e.set(0.00000001)}}async function vn(n,e=0){Hn(n);const t=F.get(n.toUpperCase()),a=t?.decimal||await hn(en(n));if(!t)F.set(n.toUpperCase(),{identifier:n,decimal:a});return new R({decimal:a,value:K(e,a),identifier:n})}function Cn(n,e=0){const[t,a]=n.split(".")?.[0]?.toUpperCase()==="THOR"?n.split(".").slice(1).join().split("/"):n.split("/");if(!(t&&a))throw new _({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new R({decimal:8,value:K(e,8),identifier:`${"THOR"}.${t}/${a}`})}function K(n,e){return typeof n==="bigint"?k({value:n,bigIntDecimal:e,decimal:e}):n}function en(n){const e=n.slice(0,14).includes("/"),t=n.split(".")?.[0]?.toUpperCase()==="THOR",a=n.split(".")?.[0]?.toUpperCase()==="MAYA",[y,d=""]=t||a?n.split(".").slice(1).join().split("/"):n.split("/");if(e&&!(y&&d))throw new _({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const u=n.includes(".")&&!e?n:`${a?"MAYA":"THOR"}.${d}`,[r,...H]=u.split("."),x=e?d:H.join("."),m=x.split("-"),$=m.length===1?m[0]:m.slice(0,-1).join("-"),O=m.length===1?void 0:m[m.length-1];return{address:O?.toLowerCase(),chain:r,isGasAsset:tn({chain:r,symbol:x}),isSynthetic:e,ticker:$,symbol:(e?`${y}/`:"")+(O?`${$}-${O?.toLowerCase()??""}`:x)}}var F=new Map;class R extends J{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:e,tax:t,chain:a,symbol:y,identifier:d}){super(typeof n==="object"?n:{decimal:e,value:n});const u=en(d||`${a}.${y}`);this.type=_n(u),this.tax=t,this.chain=u.chain,this.ticker=u.ticker,this.symbol=u.symbol,this.address=u.address,this.isSynthetic=u.isSynthetic,this.isGasAsset=u.isGasAsset,this.chainId=yn[u.chain]}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eqAsset({chain:n,symbol:e}){return this.chain===n&&this.symbol===e}eq(n){return this.eqAsset(n)&&this.eqValue(n)}static fromUrl(n,e=0){const[t,a,y]=n.split(".");if(!(t&&a))throw new _({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const d=t==="THOR"&&y?`${t}.${a}/${y}`:n;return R.from({asset:d,value:e})}static from({value:n=0,fromBaseDecimal:e,asyncTokenLookup:t,...a}){const y=n instanceof J?n.getValue("string"):n,d="chain"in a,u=d?a.chain:a.asset,r=d||Rn.includes(u),{identifier:H,decimal:x}=r?wn(u):{identifier:u,decimal:void 0},{chain:m,isSynthetic:$}=en(H),O=F.get(H.toUpperCase()),A=O?.decimal||x;fn(!(t||A),In(`Couldn't find static decimal for ${on(H)} (Using default ${on(w[m])} decimal as fallback).
|
|
1
|
+
var e=((n)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(n,{get:(F,x)=>(typeof require!=="undefined"?require:F)[x]}):n)(function(n){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});export*from"@swapkit/contracts";var d;(($)=>{$.Arbitrum="https://arb1.arbitrum.io/rpc";$.Avalanche="https://node-router.thorswap.net/avalanche-c";$.BinanceSmartChain="https://bsc-dataseed.binance.org";$.Bitcoin="https://node-router.thorswap.net/bitcoin";$.BitcoinCash="https://node-router.thorswap.net/bitcoin-cash";$.Chainflip="wss://mainnet-archive.chainflip.io";$.Cosmos="https://node-router.thorswap.net/cosmos/rpc";$.Dash="https://node-router.thorswap.net/dash";$.Dogecoin="https://node-router.thorswap.net/dogecoin";$.Ethereum="https://node-router.thorswap.net/ethereum";$.Kujira="https://rpc-kujira.synergynodes.com/";$.Litecoin="https://node-router.thorswap.net/litecoin";$.Maya="https://tendermint.mayachain.info";$.MayaStagenet="https://stagenet.tendermint.mayachain.info";$.Optimism="https://mainnet.optimism.io";$.Polkadot="wss://rpc.polkadot.io";$.Polygon="https://polygon-rpc.com";$.Radix="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";$.THORChain="https://rpc.thorswap.net";$.THORChainStagenet="https://stagenet-rpc.ninerealms.com";$.Solana="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(d||={});var t;((I)=>{I.Arbitrum="https://arbiscan.io";I.Avalanche="https://snowtrace.io";I.BinanceSmartChain="https://bscscan.com";I.Bitcoin="https://blockchair.com/bitcoin";I.BitcoinCash="https://www.blockchair.com/bitcoin-cash";I.Chainflip="https://explorer.polkascan.io/polkadot";I.Cosmos="https://www.mintscan.io/cosmos";I.Dash="https://blockchair.com/dash";I.Dogecoin="https://blockchair.com/dogecoin";I.Ethereum="https://etherscan.io";I.Kujira="https://finder.kujira.network/kaiyo-1";I.Litecoin="https://blockchair.com/litecoin";I.Maya="https://www.mayascan.org";I.Optimism="https://optimistic.etherscan.io";I.Polkadot="https://polkadot.subscan.io";I.Polygon="https://polygonscan.com";I.Radix="https://dashboard.radixdlt.com";I.THORChain="https://runescan.io";I.Solana="https://solscan.io"})(t||={});var w;((I)=>{I.Arbitrum="ARB";I.Avalanche="AVAX";I.BinanceSmartChain="BSC";I.Bitcoin="BTC";I.BitcoinCash="BCH";I.Cosmos="GAIA";I.Dash="DASH";I.Dogecoin="DOGE";I.Ethereum="ETH";I.Kujira="KUJI";I.Litecoin="LTC";I.Maya="MAYA";I.Optimism="OP";I.Polkadot="DOT";I.Chainflip="FLIP";I.Polygon="MATIC";I.Radix="XRD";I.THORChain="THOR";I.Solana="SOL"})(w||={});var y;((A)=>{A.Arbitrum="42161";A.ArbitrumHex="0xa4b1";A.Avalanche="43114";A.AvalancheHex="0xa86a";A.BinanceSmartChain="56";A.BinanceSmartChainHex="0x38";A.Bitcoin="bitcoin";A.BitcoinCash="bitcoincash";A.Chainflip="chainflip";A.Cosmos="cosmoshub-4";A.Dash="dash";A.Dogecoin="dogecoin";A.Kujira="kaiyo-1";A.Ethereum="1";A.EthereumHex="0x1";A.Litecoin="litecoin";A.Maya="mayachain-mainnet-v1";A.MayaStagenet="mayachain-stagenet-v1";A.Optimism="10";A.OptimismHex="0xa";A.Polkadot="polkadot";A.Polygon="137";A.PolygonHex="0x89";A.Radix="radix-mainnet";A.THORChain="thorchain-mainnet-v1";A.THORChainStagenet="thorchain-stagenet-v2";A.Solana="solana"})(y||={});var TF={["0xa4b1"]:"ARB",["42161"]:"ARB",["0xa86a"]:"AVAX",["43114"]:"AVAX",["0x38"]:"BSC",["56"]:"BSC",["bitcoincash"]:"BCH",["bitcoin"]:"BTC",["chainflip"]:"FLIP",["cosmoshub-4"]:"GAIA",["dash"]:"DASH",["dogecoin"]:"DOGE",["0x1"]:"ETH",["kaiyo-1"]:"KUJI",["1"]:"ETH",["litecoin"]:"LTC",["mayachain-stagenet-v1"]:"MAYA",["mayachain-mainnet-v1"]:"MAYA",["0xa"]:"OP",["10"]:"OP",["polkadot"]:"DOT",["0x89"]:"MATIC",["137"]:"MATIC",["radix-mainnet"]:"XRD",["thorchain-stagenet-v2"]:"THOR",["thorchain-mainnet-v1"]:"THOR",["solana"]:"SOL"},$n=Object.keys(w),V=Object.values(w),J;((T)=>{T[T.ARB=18]="ARB";T[T.AVAX=18]="AVAX";T[T.BCH=8]="BCH";T[T.BSC=18]="BSC";T[T.BTC=8]="BTC";T[T.DASH=8]="DASH";T[T.DOGE=8]="DOGE";T[T.DOT=10]="DOT";T[T.ETH=18]="ETH";T[T.FLIP=18]="FLIP";T[T.GAIA=6]="GAIA";T[T.KUJI=6]="KUJI";T[T.LTC=8]="LTC";T[T.MATIC=18]="MATIC";T[T.MAYA=8]="MAYA";T[T.OP=18]="OP";T[T.SOL=9]="SOL";T[T.THOR=8]="THOR";T[T.XRD=18]="XRD";T[T.ZEC=8]="ZEC"})(J||={});var _F=["DOT","FLIP"],o=["ETH","AVAX","BSC","ARB","OP","MATIC"],OF=["BTC","BCH","DASH","DOGE","LTC"],GF=["GAIA","THOR","MAYA","KUJI"],AF=["AVAX","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"],LF=["ARB","DASH","ETH","KUJI","MAYA","THOR"],u=V.reduce((n,F)=>{const x=$n.find((H)=>w[H]===F);if(x)n[F]=x;return n},{}),nn=V.reduce((n,F)=>{return n[F]=y[u[F]],n},{}),m=V.reduce((n,F)=>{return n[F]=d[u[F]],n},{}),PF=V.reduce((n,F)=>{const x=`${u[F]}Hex`;return n[F]=y[x],n},{}),$F=V.reduce((n,F)=>{return n[F]=t[u[F]],n},{});var Xn;((j)=>{j.TC_SUPPORTED_TO_TC_SUPPORTED="TC-TC";j.TC_SUPPORTED_TO_ETH="TC-ERC20";j.TC_SUPPORTED_TO_AVAX="TC-ARC20";j.TC_SUPPORTED_TO_BSC="TC-BEP20";j.ETH_TO_TC_SUPPORTED="ERC20-TC";j.ETH_TO_ETH="ERC20-ERC20";j.ETH_TO_AVAX="ERC20-ARC20";j.ETH_TO_BSC="ERC20-BEP20";j.AVAX_TO_TC_SUPPORTED="ARC20-TC";j.AVAX_TO_ETH="ARC20-ERC20";j.AVAX_TO_AVAX="ARC20-ARC20";j.AVAX_TO_BSC="ARC20-BEP20";j.BSC_TO_TC_SUPPORTED="BEP20-TC";j.BSC_TO_ETH="BEP20-ERC20";j.BSC_TO_AVAX="BEP20-ARC20";j.BSC_TO_BSC="BEP20-BEP20"})(Xn||={});var jF=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],JF=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],zF=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var jn;((k)=>{k.ARB="0x0000000000000000000000000000000000000000";k.AVAX="0x0000000000000000000000000000000000000000";k.ETH="0x0000000000000000000000000000000000000000";k.BSC="0x0000000000000000000000000000000000000000";k.MATIC="0x0000000000000000000000000000000000001010";k.OP="0x4200000000000000000000000000000000000042"})(jn||={});var Jn;((I)=>{I.ARB="m/44'/60'/0'/0";I.AVAX="m/44'/60'/0'/0";I.BCH="m/44'/145'/0'/0";I.BSC="m/44'/60'/0'/0";I.BTC="m/84'/0'/0'/0";I.DASH="m/44'/5'/0'/0";I.DOGE="m/44'/3'/0'/0";I.DOT="////";I.ETH="m/44'/60'/0'/0";I.FLIP="////";I.GAIA="m/44'/118'/0'/0";I.KUJI="m/44'/118'/0'/0";I.LTC="m/84'/2'/0'/0";I.MATIC="m/44'/60'/0'/0";I.MAYA="m/44'/931'/0'/0";I.OP="m/44'/60'/0'/0";I.SOL="m/44'/501'/0'/0";I.THOR="m/44'/931'/0'/0";I.XRD="////"})(Jn||={});var s={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],SOL:[44,501,0,0,0],THOR:[44,931,0,0,0],XRD:[0,0,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var Fn;((T)=>{T.BRAVE="BRAVE";T.COINBASE_MOBILE="COINBASE_MOBILE";T.COINBASE_WEB="COINBASE_WEB";T.EIP6963="EIP6963";T.EXODUS="EXODUS";T.KEEPKEY="KEEPKEY";T.KEPLR="KEPLR";T.KEYSTORE="KEYSTORE";T.LEDGER="LEDGER";T.METAMASK="METAMASK";T.OKX="OKX";T.OKX_MOBILE="OKX_MOBILE";T.PHANTOM="PHANTOM";T.POLKADOT_JS="POLKADOT_JS";T.RADIX_WALLET="RADIX_WALLET";T.TREZOR="TREZOR";T.TALISMAN="TALISMAN";T.TRUSTWALLET_WEB="TRUSTWALLET_WEB";T.WALLETCONNECT="WALLETCONNECT";T.XDEFI="XDEFI"})(Fn||={});var zn;((H)=>{H[H.NoError=36864]="NoError";H[H.LockedDevice=21781]="LockedDevice";H[H.TC_NotFound=65535]="TC_NotFound"})(zn||={});var Zn;((H)=>{H.Average="average";H.Fast="fast";H.Fastest="fastest"})(Zn||={});var Yn;((x)=>{x.Approve="approve";x.CheckOnly="checkOnly"})(Yn||={});var xn;((G)=>{G.NAME_REGISTER="~";G.BOND="BOND";G.DEPOSIT="+";G.LEAVE="LEAVE";G.UNBOND="UNBOND";G.WITHDRAW="-";G.OPEN_LOAN="$+";G.CLOSE_LOAN="$-";G.RUNEPOOL_DEPOSIT="POOL+";G.RUNEPOOL_WITHDRAW="POOL-"})(xn||={});var wn;((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.blockNotFound="blockNotFound";N.balanceNotFound="balanceNotFound";N.configError="configError";N.noQuoteResponse="noQuoteResponse";N.noPoolAssetsFound="noPoolAssetsFound";N.noThorchainPools="noThorchainPools";N.noMayachainPools="noMayachainPools";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.noWhitelistTokens="noWhitelistTokens";N.failedFetchGasPrice="failedFetchGasPrice";N.failedToCreateDepositChannel="failedToCreateDepositChannel";N.noProviderDetailsFound="noProviderDetailsFound";N.noTokenListsFound="noTokenListsFound";N.tokenNotFound="tokenNotFound";N.tokenPriceNotFound="tokenPriceNotFound";N.swapAmountTooSmall="swapAmountTooSmall";N.legsArrayIsEmpty="legsArrayIsEmpty";N.failedToFetchQuoteForLeg="failedToFetchQuoteForLeg";N.noBlockHeaderFound="noBlockHeaderFound";N.failedToSimulateSwap="failedToSimulateSwap";N.addressScreeningFailed="addressScreeningFailed";N.noLiquidtyProvidersFound="noLiquidtyProvidersFound";N.noSaversFound="noSaversFound";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.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.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.noOhlcvDataFound="noOhlcvDataFound";N.noTradingPairs="noTradingPairs";N.noLoanPositionFound="noLoanPositionFound";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.invalidAddressForChain="invalidAddressForChain"})(wn||={});var Qn;((x)=>{x.highSlippage="highSlippage";x.highPriceImpact="highPriceImpact"})(Qn||={});var qn;((P)=>{P.CHAINFLIP="CHAINFLIP";P.TRADERJOE_V1="TRADERJOE_V1";P.PANGOLIN_V1="PANGOLIN_V1";P.UNISWAP_V2="UNISWAP_V2";P.THORCHAIN="THORCHAIN";P.THORCHAIN_STREAMING="THORCHAIN_STREAMING";P.MAYACHAIN="MAYACHAIN";P.MAYACHAIN_STREAMING="MAYACHAIN_STREAMING";P.ONEINCH="ONEINCH";P.SUSHISWAP_V2="SUSHISWAP_V2";P.WOOFI_V2="WOOFI_V2";P.PANCAKESWAP="PANCAKESWAP"})(qn||={});var Bn;((k)=>{k.LIQUIDITY="liquidity";k.NETWORK="network";k.INBOUND="inbound";k.OUTBOUND="outbound";k.AFFILIATE="affiliate";k.TAX="tax"})(Bn||={});import{red as In,yellow as Vn}from"picocolors";var Wn={core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_plugin_not_found:10006,core_plugin_swap_not_found:10007,core_approve_asset_target_invalid:10008,core_explorer_unsupported_chain:10009,core_verify_message_not_supported:10010,core_chain_halted:10099,core_wallet_connection_not_found:10100,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_wallet_keepkey_not_installed:10109,core_wallet_talisman_not_installed:10110,core_wallet_not_keypair_wallet:10111,core_wallet_sign_message_not_supported:10110,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,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,wallet_connection_rejected_by_user:20000,wallet_missing_api_key:20001,wallet_chain_not_supported:20002,wallet_missing_params:20003,wallet_provider_not_found:20004,wallet_failed_to_add_or_switch_network:20005,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_phantom_not_found:20201,wallet_xdefi_not_found:20301,wallet_xdefi_send_transaction_no_address:20302,wallet_xdefi_contract_address_not_provided:20303,wallet_xdefi_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,wallet_polkadot_not_found:20701,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30100,chainflip_broker_recipient_error:30101,chainflip_broker_register:30102,chainflip_broker_tx_error:30103,chainflip_broker_withdraw:30104,chainflip_broker_fund_only_flip_supported:30105,chainflip_broker_fund_invalid_address:30106,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_swapin_router_required:40100,thorchain_swapin_vault_required:40101,thorchain_swapin_memo_required:40102,thorchain_swapin_token_required:40103,api_v2_invalid_response:50001,toolbox_cosmos_signer_not_defined:90101,toolbox_cosmos_no_accounts_found:90102,toolbox_cosmos_verify_signature_no_pubkey:90103,toolbox_evm_no_abi_fragment:90201,toolbox_evm_no_signer:90202,toolbox_evm_no_signer_address:90203,toolbox_evm_no_from_address:90204,toolbox_evm_no_contract_address:90205,toolbox_evm_no_fee_data:90206,toolbox_evm_no_gas_price:90207,toolbox_evm_no_to_address:90208,toolbox_evm_invalid_gas_asset_address:90209,toolbox_evm_provider_not_eip1193_compatible:90210,toolbox_evm_error_estimating_gas_limit:90211,toolbox_evm_error_sending_transaction:90212,helpers_invalid_number_different_decimals:99000,helpers_invalid_number_of_years:99001,helpers_invalid_identifier:99002,helpers_invalid_asset_url:99003,helpers_invalid_asset_identifier:99004,helpers_invalid_memo_type:99005,helpers_failed_to_switch_network:99103,helpers_not_found_provider:99200,not_implemented:99999};class z extends Error{static ErrorCode=Wn;constructor(n,F){const x=typeof n==="string",H=x?n:n.errorKey;if(F)console.error(F,{stack:F?.stack,message:F?.message});super(H,{cause:{code:z.ErrorCode[H],message:`${H}${x?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,z.prototype)}}function uF(n){if(n<0)throw new z({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function vF(n){if(n<0)throw new z({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return Math.round((10+n*1.0512)*10000000000)/10000000000}function EF(n,F){try{return n()}catch(x){if(F)throw new z(F,x);return console.error(x)}}function bF(n){switch(n){case"THOR":return`${n}.RUNE`;case"GAIA":return`${n}.ATOM`;case"BSC":return`${n}`;default:return`${n}.${n}`}}function hn(n,F){if(!Kn&&n){if(Hn.has(F))return;Hn.add(F),console.warn(F)}}var Kn=["production","test"].includes("development"),Hn=new Set;function Rn(n=""){const F=n.toUpperCase(),[x]=F.split(".");if(Nn.includes(x))return!0;const[H]=F.split("/");if(Nn.includes(H))return!0;throw new z({errorKey:"helpers_invalid_identifier",info:{message:`Invalid identifier: ${n}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`,identifier:n}})}function tF(n){if(n.length>30)return!1;const F=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(F)}var Nn=[...Object.values(w),"TERRA"];function K({value:n,bigIntDecimal:F=S,decimal:x=S}){if(x===0)return n.toString();const H=n<0n;let h=n.toString().substring(H?1:0);const R=x-(h.length-1);if(R>0)h="0".repeat(R)+h;const k=h.length-x;let _=h.slice(-x);if(Number.parseInt(_[F]||"0")>=5)_=`${_.substring(0,F-1)}${(Number.parseInt(_[F-1]||"0")+1).toString()}`;else _=_.substring(0,F);return`${H?"-":""}${h.slice(0,k)}.${_}`.replace(/\.?0*$/,"")}function v(n){const x=`${typeof n==="number"?Mn.format(n):i(n)}`.replaceAll(",",".").split(".");return x.length>1?`${x.slice(0,-1).join("")}.${x.at(-1)}`:x[0]||"0"}function kn(n){const F=n.split(".")[1]?.length||0;return Math.max(F,S)}function i(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n}var S=8,B=(n)=>10n**BigInt(n),C=(n)=>Math.log10(Number.parseFloat(n.toString()));class q{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,F){return new q({decimal:F,value:K({value:n,bigIntDecimal:F,decimal:F})})}static shiftDecimals({value:n,from:F,to:x}){return q.fromBigInt(n.getBaseValue("bigint")*B(x)/B(F),x)}constructor(n){const F=i(n),x=typeof n==="object";this.decimal=x?n.decimal:void 0,this.decimalMultiplier=x&&"decimalMultiplier"in n?n.decimalMultiplier:B(Math.max(kn(v(F)),this.decimal||0)),this.#h(F)}set(n){return new this.constructor({decimal:this.decimal,value:n,identifier:this.toString()})}add(...n){return this.#F("add",...n)}sub(...n){return this.#F("sub",...n)}mul(...n){return this.#F("mul",...n)}div(...n){return this.#F("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){const F=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||C(this.decimalMultiplier));switch(n){case"number":return Number(F);case"string":return F;case"bigint":return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(n){const F=this.decimalMultiplier/B(this.decimal||8),x=this.bigIntValue/F;switch(n){case"number":return Number(x);case"string":return x.toString();case"bigint":return x}}getBigIntValue(n,F){if(!F&&typeof n==="object")return n.bigIntValue;const x=i(n),H=v(x);if(H==="0"||H==="undefined")return 0n;return this.#H(H,F)}toSignificant(n=6){const[F,x]=this.getValue("string").split("."),H=F||"",h=x||"";if((Number.parseInt(H)?H.length+h.length:h.length)<=n)return this.getValue("string");if(H.length>=n)return H.slice(0,n).padEnd(H.length,"0");if(Number.parseInt(H))return`${H}.${h.slice(0,n-H.length)}`.padEnd(n-H.length,"0");const k=Number.parseInt(h),_=`${k}`.slice(0,n);return`0.${_.padStart(h.length-`${k}`.length+_.length,"0")}`}toFixed(n=6){const[F,x]=this.getValue("string").split("."),H=F||"",h=x||"";if(Number.parseInt(H))return`${H}.${h.slice(0,n)}`.padEnd(n,"0");const R=Number.parseInt(h),k=`${R}`.slice(0,n);return`0.${k.padStart(h.length-`${R}`.length+k.length,"0")}`}toAbbreviation(n=2){const F=this.getValue("number"),x=["","K","M","B","T","Q","Qi","S"],H=Math.floor(Math.log10(Math.abs(F))/3),h=x[H];if(!h)return this.getValue("string");const R=10**(H*3);return`${(F/R).toFixed(n)}${h}`}toCurrency(n="$",{currencyPosition:F="start",decimal:x=2,decimalSeparator:H=".",thousandSeparator:h=","}={}){const R=this.getValue("number"),[k="",_=""]=R.toFixed(6).split("."),L=k.replace(/\B(?=(\d{3})+(?!\d))/g,h),O=k||_?k==="0"?`${Number.parseFloat(`0.${_}`)}`.replace(".",H):`${L}${Number.parseInt(_)?`${H}${_.slice(0,x)}`:""}`:"0.00";return`${F==="start"?n:""}${O}${F==="end"?n:""}`}formatBigIntToSafeValue(n,F){const x=F||this.decimal||S,H=Math.max(x,C(this.decimalMultiplier)),h=n<0n,R=n.toString().substring(h?1:0),k=H-(R.length-1),_=k>0?"0".repeat(k)+R:R,L=_.length-H;let O=_.slice(-H);if(Number.parseInt(O[x]||"0")>=5)O=`${O.substring(0,x-1)}${(Number.parseInt(O[x-1]||"0")+1).toString()}`;else O=O.substring(0,x);return`${h?"-":""}${_.slice(0,L)}.${O}`.replace(/\.?0*$/,"")}#F(n,...F){const x=this.#x(this,...F),H=Math.max(x,C(this.decimalMultiplier)),h=B(H),R=F.reduce((_,L)=>{const O=this.getBigIntValue(L,H);switch(n){case"add":return _+O;case"sub":return _-O;case"mul":return _*O/h;case"div":{if(O===0n)throw new RangeError("Division by zero");return _*h/O}default:return _}},this.bigIntValue*h/this.decimalMultiplier),k=K({bigIntDecimal:H,decimal:H,value:R});return new this.constructor({decimalMultiplier:B(H),decimal:this.decimal,value:k,identifier:this.toString()})}#n(n,...F){const x=this.#x(this,...F),H=this.getBigIntValue(F[0]||"0",x),h=this.getBigIntValue(this,x);switch(n){case"gt":return h>H;case"gte":return h>=H;case"lt":return h<H;case"lte":return h<=H;case"eqValue":return h===H}}#h(n){const F=v(n)||"0";this.bigIntValue=this.#H(F)}#x(...n){const F=n.map((x)=>{return typeof x==="object"?x.decimal||C(x.decimalMultiplier):kn(v(x))}).filter(Boolean);return Math.max(...F,S)}#H(n,F){const x=F?B(F):this.decimalMultiplier,H=C(x),[h="",R=""]=n.split(".");return BigInt(`${h}${R.padEnd(H,"0")}`)}}var Mn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function Hx(n){const F=X.from({chain:n});switch(n){case"BTC":case"LTC":case"BCH":case"DASH":return F.set(0.00010001);case"DOGE":return F.set(1.00000001);case"AVAX":case"ETH":case"ARB":case"BSC":return F.set(0.00000001);case"THOR":case"MAYA":return F.set(0);case"GAIA":case"KUJI":return F.set(0.000001);default:return F.set(0.00000001)}}async function Cn(n,F=0){Rn(n);const x=E.get(n.toUpperCase()),H=x?.decimal||await _n(l(n));if(!x)E.set(n.toUpperCase(),{identifier:n,decimal:H});return new X({decimal:H,value:b(F,H),identifier:n})}function Sn(n,F=0){const[x,H]=n.split(".")?.[0]?.toUpperCase()==="THOR"?n.split(".").slice(1).join().split("/"):n.split("/");if(!(x&&H))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new X({decimal:8,value:b(F,8),identifier:`${"THOR"}.${x}/${H}`})}function b(n,F){return typeof n==="bigint"?K({value:n,bigIntDecimal:F,decimal:F}):n}function l(n){const F=n.slice(0,14).includes("/"),x=n.split(".")?.[0]?.toUpperCase()==="THOR",H=n.split(".")?.[0]?.toUpperCase()==="MAYA",[h,R=""]=x||H?n.split(".").slice(1).join().split("/"):n.split("/");if(F&&!(h&&R))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const k=n.includes(".")&&!F?n:`${H?"MAYA":"THOR"}.${R}`,[_,...L]=k.split("."),O=F?R:L.join("."),G=O.split("-"),Z=G.length===1?G[0]:G.slice(0,-1).join("-"),P=G.length===1?void 0:G[G.length-1];return{address:P?.toLowerCase(),chain:_,isGasAsset:a({chain:_,symbol:O}),isSynthetic:F,ticker:Z,symbol:(F?`${h}/`:"")+(P?`${Z}-${P?.toLowerCase()??""}`:O)}}var E=new Map;class X extends q{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:F,tax:x,chain:H,symbol:h,identifier:R}){super(typeof n==="object"?n:{decimal:F,value:n});const k=l(R||`${H}.${h}`);this.type=Gn(k),this.tax=x,this.chain=k.chain,this.ticker=k.ticker,this.symbol=k.symbol,this.address=k.address,this.isSynthetic=k.isSynthetic,this.isGasAsset=k.isGasAsset,this.chainId=nn[k.chain]}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eqAsset({chain:n,symbol:F}){return this.chain===n&&this.symbol===F}eq(n){return this.eqAsset(n)&&this.eqValue(n)}static fromUrl(n,F=0){const[x,H,h]=n.split(".");if(!(x&&H))throw new z({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const R=x==="THOR"&&h?`${x}.${H}/${h}`:n;return X.from({asset:R,value:F})}static from({value:n=0,fromBaseDecimal:F,asyncTokenLookup:x,...H}){const h=n instanceof q?n.getValue("string"):n,R="chain"in H,k=R?H.chain:H.asset,_=R||Tn.includes(k),{identifier:L,decimal:O}=_?On(k):{identifier:k,decimal:void 0},{chain:G,isSynthetic:Z}=l(L),P=E.get(L.toUpperCase()),U=P?.decimal||O;hn(!(x||U),Vn(`Couldn't find static decimal for ${In(L)} (Using default ${In(J[G])} decimal as fallback).
|
|
2
2
|
This can result in incorrect calculations and mess with amount sent on transactions.
|
|
3
3
|
You can load static assets by installing @swapkit/tokens package and calling AssetValue.loadStaticAssets()
|
|
4
|
-
or by passing asyncTokenLookup: true to the from() function, which will make it async and return a promise.`));const{decimal:N,identifier:g,tax:h}=O||{decimal:A||w[m],identifier:H},b=e?K(BigInt(y),e):K(y,N);return t?vn(g,e?b:y):$?Cn(g,b):new R({tax:h,decimal:N,identifier:g,value:b})}static loadStaticAssets(){return new Promise((n,e)=>{try{import("@swapkit/tokens").then((t)=>{for(let a of Object.values(t))for(let{identifier:y,chain:d,...u}of a.tokens)F.set(y.toUpperCase(),{identifier:y,decimal:"decimals"in u?u.decimals:w[d]});n({ok:!0})})}catch(t){console.error(t),e({ok:!1,error:t,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}static fromString(n,e=0){return R.from({asset:n,value:e,asyncTokenLookup:!0})}static fromIdentifier(n,e=0){return R.from({asset:n,value:e,asyncTokenLookup:!0})}static fromStringSync(n,e=0){return R.from({asset:n,value:e})}static fromStringWithBase(n,e=0n,t=8){return R.from({asyncTokenLookup:!0,asset:n,value:e,fromBaseDecimal:t})}static fromStringWithBaseSync(n,e=0n,t=8){return R.from({asset:n,value:e,fromBaseDecimal:t})}static fromIdentifierSync(n,e=0){return R.from({asset:n,value:e})}static fromChainOrSignature(n,e=0){if(Object.values(G).includes(n))return R.from({chain:n,value:e});return R.from({asset:n,value:e})}}function qt({apiKey:n,...e}){an={...e,apiKey:n}}async function B(n,e){const{apiKey:t,...a}=an,{searchParams:y,json:d,body:u}=e,r={...Un,...a.headers,...e.headers,...d?{"Content-Type":"application/json"}:{}},H=d?JSON.stringify(d):u,x=new URL(n);if(y)x.search=new URLSearchParams(y).toString();if(t)r["x-api-key"]=t;try{const $=await(await fetch(x.toString(),{...a,...e,body:H,headers:r})).json();if(e.responseHandler)return e.responseHandler($);return $}catch(m){if(e.onError)return e.onError(m);console.error(m)}}var an={},Un=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},I={get:async(n,e)=>B(n,{...e,method:"GET"}),post:async(n,e)=>B(n,{...e,method:"POST"}),extend:(n)=>{const e={...an,...n};return{get:async(t,a)=>B(t,{...e,...a,method:"GET"}),post:async(t,a)=>B(t,{...e,...a,method:"POST"}),extend:(t)=>I.extend({...e,...t})}}};async function vt(n){const e=await import("@swapkit/tokens");for(let t of Object.values(e))for(let{identifier:a,chain:y,...d}of t.tokens){if("identifier"in n&&a===n.identifier)return a;if("address"in d&&"chain"in n&&y===n.chain&&d.address.toLowerCase()===n.contract.toLowerCase())return a}return}var cn="0x313ce567",Rn=[`${"MAYA"}.MAYA`,`${"ETH"}.THOR`,`${"ETH"}.vTHOR`,`${"KUJI"}.USK`],$n=async({chain:n,to:e})=>{try{const{result:t}=await I.post(c[n],{headers:{accept:"*/*","content-type":"application/json","cache-control":"no-cache"},body:JSON.stringify({id:44,jsonrpc:"2.0",method:"eth_call",params:[{to:e.toLowerCase(),data:cn},"latest"]})});return Number.parseInt(BigInt(t||w[n]).toString())}catch(t){return console.error(t),w[n]}},Sn=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await I.post(`${c["XRD"]}/state/resource`,{headers:{Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify({network:"mainnet",resource_address:e})});return t.divisibility.value.divisibility}catch(e){return console.error(e),w["XRD"]}},Dn=(n)=>{if(n==="ETH")return 18;const e=n.split("-"),t=e.length===1?void 0:e[e.length-1]?.toLowerCase();return t?.startsWith("0x")?$n({chain:"ETH",to:t}):18},En=(n)=>{const e=n.split("-"),t=e.length===1?void 0:e[e.length-1];return t?.startsWith("0x")?$n({chain:"AVAX",to:t.toLowerCase()}):18},ne=(n)=>{if(n==="BSC")return 18;return 18},ee=(n)=>{if(n==="XRD")return 18;return Sn({symbol:n})},hn=({chain:n,symbol:e})=>{switch(n){case"ETH":return Dn(e);case"AVAX":return En(e);case"BSC":return ne(e);case"XRD":return ee(e);default:return w[n]}},Kt=({chain:n})=>{switch(n){case"ARB":case"OP":return R.from({asset:`${n}.ETH`});case"MAYA":return R.from({asset:`${n}.CACAO`});case"GAIA":return R.from({asset:`${n}.ATOM`});case"BSC":return R.from({asset:`${n}.BNB`});case"THOR":return R.from({asset:`${n}.RUNE`});default:return R.from({asset:`${n}.${n}`})}},tn=({chain:n,symbol:e})=>{switch(n){case"ARB":case"OP":return e==="ETH";case"MAYA":return e==="CACAO";case"GAIA":return e==="ATOM";case"BSC":return e==="BNB";case"THOR":return e==="RUNE";default:return e===n}},wn=(n)=>{switch(n){case"ARB":case"OP":return{identifier:`${n}.ETH`,decimal:w[n]};case`${"ETH"}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${"ETH"}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case"GAIA":return{identifier:`${n}.ATOM`,decimal:w[n]};case"THOR":return{identifier:`${n}.RUNE`,decimal:w[n]};case"BSC":return{identifier:`${n}.BNB`,decimal:w[n]};case"MAYA":return{identifier:`${n}.CACAO`,decimal:10};case"XRD":return{identifier:`${"XRD"}.XRD`,decimal:w[n]};case`${"MAYA"}.MAYA`:return{identifier:n,decimal:4};case`${"KUJI"}.USK`:return{identifier:n,decimal:6};default:return{identifier:`${n}.${n}`,decimal:w[n]}}},_n=({chain:n,symbol:e})=>{if(e.includes("/"))return"Synth";switch(n){case"GAIA":return e==="ATOM"?"Native":"GAIA";case"KUJI":return e==="KUJI"?"Native":"KUJI";case"BSC":return e==="BNB"?"Native":"BEP20";case"ETH":return e==="ETH"?"Native":"ERC20";case"AVAX":return e==="AVAX"?"Native":"AVAX";case"MATIC":return e==="MATIC"?"Native":"POLYGON";case"ARB":return["ETH","ARB"].includes(e)?"Native":"ARBITRUM";case"OP":return["ETH","OP"].includes(e)?"Native":"OPTIMISM";case"XRD":return e==="XRD"?"Native":"RADIX";default:return"Native"}},Bt=(n)=>{const[e,...t]=n.split("."),a=n.includes("/"),y=t.join("."),d=y?.split("-"),u=d?.length?d.length===1?d[0]:d.slice(0,-1).join("-"):void 0;return{chain:e,symbol:y,ticker:u,synth:a}},te=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),ae=(n)=>{const[e,t]=n.split(".");if(!P.includes(e))return!0;const a=t.split("-"),y=a.length===1?void 0:a[a.length-1];return tn({chain:e,symbol:t})||!!y},It=(n)=>n.filter(({chain:e,value:t,symbol:a})=>{const y=`${e}.${a}`;return!te.test(y)&&ae(y)&&t!=="0"});function ct([n,e,t,a,y]){return`m/${n}'/${e}'/${t}'/${a}${typeof y!=="number"?"":`/${y}`}`}function St({chain:n,index:e,addressIndex:t=0,type:a}){if(P.includes(n)){if(a==="legacy")return[44,60,0,e];if(a==="ledgerLive")return[44,60,e,0,t];return jn(S[n],e)}const y=n==="LTC"?2:0;switch(a){case"nativeSegwitMiddleAccount":return[84,y,e,0,t];case"segwit":return[49,y,0,0,e];case"legacy":return[44,y,0,0,e];default:return jn(S[n],e)}}function Dt(n){const[e,t,a]=n.split("/").map((y)=>Number.parseInt(y,10));switch(t){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var jn=(n,e)=>{return[...n.slice(0,n.length-1),e]};function pe({liquidityUnits:n,poolUnits:e,runeDepth:t}){const a=j(n),y=j(e),d=j(t),u=a.mul(d),r=y.mul(y).mul(2),H=y.mul(a).mul(2),x=a.mul(a),m=y.mul(y).mul(y);return u.mul(r.sub(H).add(x)).div(m)}function ye({liquidityUnits:n,poolUnits:e,assetDepth:t}){const a=j(n),y=j(e),d=j(t),u=a.mul(d),r=y.mul(y).mul(2),H=y.mul(a).mul(2),x=a.mul(a),m=u.mul(r.sub(H).add(x)),$=y.mul(y).mul(y);return m.div($)}function ta({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:a}){return pe({runeDepth:e,liquidityUnits:t,poolUnits:a}).mul(n)}function aa({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:a}){return ye({assetDepth:e,liquidityUnits:t,poolUnits:a}).mul(n)}function j(n){return z.fromBigInt(BigInt(n),8)}function se({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a}){return{assetAmount:j(a).mul(n).div(e),runeAmount:j(t).mul(n).div(e)}}function pa({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a,percent:y}){return Object.fromEntries(Object.entries(se({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a})).map(([d,u])=>[d,u.mul(y)]))}function ya({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:a,runeAmount:y,assetAmount:d}){const u=new z({value:n,decimal:8}),r=new z({value:t,decimal:8}),H=new z({value:e,decimal:8}),x=new z({value:y,decimal:8}),m=new z({value:d,decimal:8}),$=x.mul(r),O=m.mul(u),A=x.mul(m),N=u.mul(r),g=H.mul($.add(O.add(A.mul(2)))),h=$.add(O.add(N.mul(2))),b=g.div(h),Q=j(a).add(b);if(b.getBaseValue("number")===0)return Q.div(H).getBaseValue("number");const i=H.add(Q);return Q.div(i).getBaseValue("number")}function sa({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:a}){if(n==="0"||e==="0"||t==="0"||a==="0")return 0;const y=j(t),d=j(a),u=j(e),r=j(n),H=u.mul(y).sub(d.mul(r)),x=d.mul(r).add(y.mul(d));return Math.abs(H.div(x).getBaseValue("number"))}function v(n,{affiliateAddress:e,affiliateBasisPoints:t}){const a=e?`:${e}:${t||0}`:"";return`${n}${a}`}function de({chain:n,symbol:e}){switch(n){case"BTC":case"DOGE":case"LTC":return n.slice(0,1).toLowerCase();case"BCH":return"c";default:return`${n}.${e}`}}function ue({type:n,address:e}){return`${n}:${e}`}function ie({address:n,unbondAmount:e}){return`${"UNBOND"}:${n}:${e}`}function Te({name:n,chain:e,address:t,owner:a}){const y=`${"~"}:${n}:${e}:${t}`,d=a?`:${a}`:"";return`${y}${d}`}function ra({name:n,chain:e,asset:t,payout:a,owner:y}){const d=[n,e,a,y,t].join(":");return`${"~"}:${d}`}function re(n,{asset:e,address:t,minAmount:a,...y}){const d=`${n}:${e}:${t}`,u=a?`:${a}`:"";return v(`${d}${u}`,y)}function xe({chain:n,symbol:e,...t}){return v(`${"+"}:${n}/${e}`,t)}function me({chain:n,symbol:e,address:t,...a}){const y=de({chain:n,symbol:e}),d=!!a.affiliateAddress,u=t?`:${t}`:d?":":"";return v(`${"+"}:${y}${u}`,a)}function fe({chain:n,symbol:e,basisPoints:t}){return`${"-"}:${n}/${e}:${t}`}function le({chain:n,symbol:e,ticker:t,basisPoints:a,targetAsset:y}){const d=n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,u=y?`:${y}`:"";return`${"-"}:${n}.${d}:${a}${u}`}function xa(){return`${"POOL+"}`}function ma({basisPoints:n,...e}){return v(`${"POOL-"}:${n}`,e)}var fa=(n,e)=>{switch(n){case"LEAVE":case"BOND":{const{address:t}=e;return ue({type:n,address:t})}case"UNBOND":{const{address:t,unbondAmount:a}=e;return ie({address:t,unbondAmount:a})}case"~":return Te(e);case"$+":case"$-":return re(n,e);case"+":{const{chain:t,symbol:a,address:y,singleSide:d}=e;if(d)return xe({chain:t,symbol:a});return me({chain:t,symbol:a,address:y})}case"-":{const{chain:t,ticker:a,symbol:y,basisPoints:d,targetAssetString:u,singleSide:r}=e;if(r)return fe({chain:t,symbol:y,basisPoints:d});return le({chain:t,ticker:a,symbol:y,basisPoints:d,targetAsset:u})}default:throw new _({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function $a(){const n=[];function e(a){if(n.map((y)=>y.info.uuid).includes(a.detail.info.uuid))return;n.push(a.detail)}window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new Event("eip6963:requestProvider"));function t(){window.removeEventListener("eip6963:announceProvider",e)}return{providers:n,removeEIP6963EventListener:t}}var He=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],Oe=(n,e,t)=>async(...a)=>{try{await oe(e,t)}catch(y){throw new _({errorKey:"helpers_failed_to_switch_network",info:{error:y}})}return n(...a)},Gn=({provider:n,params:e,method:t})=>{if(!n?.send)throw new _("helpers_not_found_provider");const a=e?Array.isArray(e)?e:[e]:[];return n.send(t,a)},oa=({toolbox:n,chainId:e,provider:t=window.ethereum})=>{const a=He.reduce((y,d)=>{if(!n[d])return y;const u=n[d];if(typeof u!=="function")return y;return{...y,[d]:Oe(u,t,e)}},{});return{...n,...a}},Ra=(n,e)=>Gn({provider:n,method:"wallet_addEthereumChain",params:[e]}),oe=(n,e="0x1")=>Gn({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),ha=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},wa=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:a,selectedProvider:y}=window?.ethereum||{};if(n)return"TRUSTWALLET_WEB";if(e)return"BRAVE";if(a&&y?.isCoinbaseWallet)return"COINBASE_WEB";if(t)"XDEFI";return"METAMASK"},_a=(n)=>{return Re().includes(n)},Re=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,e=window?.xfi||window?.ethereum?.__XDEFI,t=window?.ethereum?.isBraveWallet,a=window?.ethereum?.isTrust||window?.trustwallet,y=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,d=[];if(n)d.push("METAMASK");if(e)d.push("XDEFI");if(t)d.push("BRAVE");if(a)d.push("TRUSTWALLET_WEB");if(y)d.push("COINBASE_WEB");if(he())d.push("OKX_MOBILE");return d},he=()=>{const n=navigator.userAgent,e=/iphone|ipad|ipod|ios/i.test(n),t=/android|XiaoMi|MiuiBrowser/i.test(n),a=e||t,y=/OKApp/i.test(n);return a&&y},ja=()=>typeof window.ethereum!=="undefined";class z extends J{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new z({decimal:e,value:k({value:n,bigIntDecimal:e,decimal:e})})}}export{wt as wrapWithThrow,Oe as wrapMethodWithNetworkSwitch,fn as warnOnce,Xt as validateTNS,Hn as validateIdentifier,oe as switchEVMWalletNetwork,qt as setRequestClientConfig,oa as prepareNetworkSwitch,he as okxMobileEnabled,Re as listWeb3EVMWallets,ja as isWeb3Detected,tn as isGasAsset,_a as isDetected,Dt as getWalletFormatFor,Rt as getTHORNameCost,pa as getSymmetricWithdraw,se as getSymmetricPoolShare,Nt as getMinAmountByChain,le as getMemoForWithdraw,ie as getMemoForUnbond,fe as getMemoForSaverWithdraw,xe as getMemoForSaverDeposit,ma as getMemoForRunePoolWithdraw,xa as getMemoForRunePoolDeposit,Te as getMemoForNameRegister,ra as getMemoForNamePreferredAssetRegister,re as getMemoForLoan,ue as getMemoForLeaveAndBond,me as getMemoForDeposit,fa as getMemoFor,ht as getMAYANameCost,sa as getLiquiditySlippage,Kt as getGasAsset,ya as getEstimatedPoolShare,wa as getETHDefaultWallet,$a as getEIP6963Wallets,St as getDerivationPathFor,hn as getDecimal,wn as getCommonAssetInfo,_t as getChainIdentifier,ta as getAsymmetricRuneWithdrawAmount,pe as getAsymmetricRuneShare,aa as getAsymmetricAssetWithdrawAmount,ye as getAsymmetricAssetShare,_n as getAssetType,k as formatBigIntToSafeValue,vt as findAssetBy,It as filterAssets,_e as erc20ABI,ct as derivationPathToString,Un as defaultRequestHeaders,Bt as assetFromString,Ra as addEVMWalletNetwork,ha as addAccountsChangedCallback,dn as WarningCodeEnum,sn as WalletOption,Ye as UTXOChains,Ne as TCSupportedChains,ze as TCEthereumVaultAbi,Ze as TCBscDepositABI,Je as TCAvalancheDepositABI,z as SwapKitNumber,_ as SwapKitError,Me as SubstrateChains,Ke as SWAP_OUT,Fe as SWAP_IN,rn as RouteQuoteWarningSchema,Tn as RouteQuoteMetadataSchema,An as RouteQuoteMetadataAssetSchema,Ue as RouteLegWithoutAddressesSchema,Yn as RouteLegSchema,I as RequestClient,C as RPCUrl,ce as QuoteResponseSchemaDev,Se as QuoteResponseSchema,et as QuoteRequestSchema,zn as QuoteMode,X as ProviderName,S as NetworkDerivationPath,xn as MemoType,je as MayaEthereumVaultAbi,Ge as MayaArbitrumVaultAbi,Qe as MAYASupportedChains,bn as LedgerErrorCode,E as FeesSchema,un as FeeTypeEnum,Wn as FeeOption,U as ExplorerUrl,D as EstimatedTimeSchema,kn as ErrorCode,gn as EVMTransactionSchema,Mn as EVMTransactionDetailsSchema,Ln as EVMTransactionDetailsParamsSchema,P as EVMChains,Zn as DerivationPath,Ae as CosmosChains,Jn as ContractAddress,Rn as CommonAssetStrings,c as ChainToRPC,qe as ChainToHexChainId,Pe as ChainToExplorerUrl,yn as ChainToChainId,Le as ChainIdToChain,q as ChainId,G as Chain,J as BigIntArithmetics,w as BaseDecimal,R as AssetValue,Vn as ApproveMode,Ve as AGG_SWAP};
|
|
4
|
+
or by passing asyncTokenLookup: true to the from() function, which will make it async and return a promise.`));const{decimal:f,identifier:M,tax:j}=P||{decimal:U||J[G],identifier:L},W=F?b(BigInt(h),F):b(h,f);return x?Cn(M,F?W:h):Z?Sn(M,W):new X({tax:j,decimal:f,identifier:M,value:W})}static loadStaticAssets(){return new Promise((n,F)=>{try{import("@swapkit/tokens").then((x)=>{for(let H of Object.values(x))for(let{identifier:h,chain:R,...k}of H.tokens)E.set(h.toUpperCase(),{identifier:h,decimal:"decimals"in k?k.decimals:J[R]});n({ok:!0})})}catch(x){console.error(x),F({ok:!1,error:x,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}static fromString(n,F=0){return X.from({asset:n,value:F,asyncTokenLookup:!0})}static fromIdentifier(n,F=0){return X.from({asset:n,value:F,asyncTokenLookup:!0})}static fromStringSync(n,F=0){return X.from({asset:n,value:F})}static fromStringWithBase(n,F=0n,x=8){return X.from({asyncTokenLookup:!0,asset:n,value:F,fromBaseDecimal:x})}static fromStringWithBaseSync(n,F=0n,x=8){return X.from({asset:n,value:F,fromBaseDecimal:x})}static fromIdentifierSync(n,F=0){return X.from({asset:n,value:F})}static fromChainOrSignature(n,F=0){if(Object.values(w).includes(n))return X.from({chain:n,value:F});return X.from({asset:n,value:F})}}function Nx({apiKey:n,...F}){r={...F,apiKey:n}}async function D(n,F){const{apiKey:x,...H}=r,{searchParams:h,json:R,body:k}=F,_={...pn,...H.headers,...F.headers,...R?{"Content-Type":"application/json"}:{}},L=R?JSON.stringify(R):k,O=new URL(n);if(h)O.search=new URLSearchParams(h).toString();if(x)_["x-api-key"]=x;try{const Z=await(await fetch(O.toString(),{...H,...F,body:L,headers:_})).json();if(F.responseHandler)return F.responseHandler(Z);return Z}catch(G){if(F.onError)return F.onError(G);console.error(G)}}var r={},pn=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},c={get:async(n,F)=>D(n,{...F,method:"GET"}),post:async(n,F)=>D(n,{...F,method:"POST"}),extend:(n)=>{const F={...r,...n};return{get:async(x,H)=>D(x,{...F,...H,method:"GET"}),post:async(x,H)=>D(x,{...F,...H,method:"POST"}),extend:(x)=>c.extend({...F,...x})}}};async function Ax(n){const F=await import("@swapkit/tokens");for(let x of Object.values(F))for(let{identifier:H,chain:h,...R}of x.tokens){if("identifier"in n&&H===n.identifier)return H;if("address"in R&&"chain"in n&&h===n.chain&&R.address.toLowerCase()===n.contract.toLowerCase())return H}return}var Un="0x313ce567",Tn=[`${"MAYA"}.MAYA`,`${"ETH"}.THOR`,`${"ETH"}.vTHOR`,`${"KUJI"}.USK`],An=async({chain:n,to:F})=>{try{const{result:x}=await c.post(m[n],{headers:{accept:"*/*","content-type":"application/json","cache-control":"no-cache"},body:JSON.stringify({id:44,jsonrpc:"2.0",method:"eth_call",params:[{to:F.toLowerCase(),data:Un},"latest"]})});return Number.parseInt(BigInt(x||J[n]).toString())}catch(x){return console.error(x),J[n]}},fn=async({symbol:n})=>{try{const F=n.split("-")[1]?.toLowerCase(),{manager:x}=await c.post(`${m["XRD"]}/state/resource`,{headers:{Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify({network:"mainnet",resource_address:F})});return x.divisibility.value.divisibility}catch(F){return console.error(F),J["XRD"]}},gn=(n)=>{if(n==="ETH")return 18;const F=n.split("-"),x=F.length===1?void 0:F[F.length-1]?.toLowerCase();return x?.startsWith("0x")?An({chain:"ETH",to:x}):18},yn=(n)=>{const F=n.split("-"),x=F.length===1?void 0:F[F.length-1];return x?.startsWith("0x")?An({chain:"AVAX",to:x.toLowerCase()}):18},on=(n)=>{if(n==="BSC")return 18;return 18},un=(n)=>{if(n==="XRD")return 18;return fn({symbol:n})},_n=({chain:n,symbol:F})=>{switch(n){case"ETH":return gn(F);case"AVAX":return yn(F);case"BSC":return on(F);case"XRD":return un(F);default:return J[n]}},_x=({chain:n})=>{switch(n){case"ARB":case"OP":return X.from({asset:`${n}.ETH`});case"MAYA":return X.from({asset:`${n}.CACAO`});case"GAIA":return X.from({asset:`${n}.ATOM`});case"BSC":return X.from({asset:`${n}.BNB`});case"THOR":return X.from({asset:`${n}.RUNE`});default:return X.from({asset:`${n}.${n}`})}},a=({chain:n,symbol:F})=>{switch(n){case"ARB":case"OP":return F==="ETH";case"MAYA":return F==="CACAO";case"GAIA":return F==="ATOM";case"BSC":return F==="BNB";case"THOR":return F==="RUNE";default:return F===n}},On=(n)=>{switch(n){case"ARB":case"OP":return{identifier:`${n}.ETH`,decimal:J[n]};case`${"ETH"}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${"ETH"}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case"GAIA":return{identifier:`${n}.ATOM`,decimal:J[n]};case"THOR":return{identifier:`${n}.RUNE`,decimal:J[n]};case"BSC":return{identifier:`${n}.BNB`,decimal:J[n]};case"MAYA":return{identifier:`${n}.CACAO`,decimal:10};case"XRD":return{identifier:`${"XRD"}.XRD`,decimal:J[n]};case`${"MAYA"}.MAYA`:return{identifier:n,decimal:4};case`${"KUJI"}.USK`:return{identifier:n,decimal:6};default:return{identifier:`${n}.${n}`,decimal:J[n]}}},Gn=({chain:n,symbol:F})=>{if(F.includes("/"))return"Synth";switch(n){case"GAIA":return F==="ATOM"?"Native":"GAIA";case"KUJI":return F==="KUJI"?"Native":"KUJI";case"BSC":return F==="BNB"?"Native":"BEP20";case"ETH":return F==="ETH"?"Native":"ERC20";case"AVAX":return F==="AVAX"?"Native":"AVAX";case"MATIC":return F==="MATIC"?"Native":"POLYGON";case"ARB":return["ETH","ARB"].includes(F)?"Native":"ARBITRUM";case"OP":return["ETH","OP"].includes(F)?"Native":"OPTIMISM";case"XRD":return F==="XRD"?"Native":"RADIX";default:return"Native"}},Ox=(n)=>{const[F,...x]=n.split("."),H=n.includes("/"),h=x.join("."),R=h?.split("-"),k=R?.length?R.length===1?R[0]:R.slice(0,-1).join("-"):void 0;return{chain:F,symbol:h,ticker:k,synth:H}},vn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),En=(n)=>{const[F,x]=n.split(".");if(!o.includes(F))return!0;const H=x.split("-"),h=H.length===1?void 0:H[H.length-1];return a({chain:F,symbol:x})||!!h},Gx=(n)=>n.filter(({chain:F,value:x,symbol:H})=>{const h=`${F}.${H}`;return!vn.test(h)&&En(h)&&x!=="0"});function $x([n,F,x,H,h]){return`m/${n}'/${F}'/${x}'/${H}${typeof h!=="number"?"":`/${h}`}`}function Xx({chain:n,index:F,addressIndex:x=0,type:H}){if(o.includes(n)){if(H==="legacy")return[44,60,0,F];if(H==="ledgerLive")return[44,60,F,0,x];return Ln(s[n],F)}const h=n==="LTC"?2:0;switch(H){case"nativeSegwitMiddleAccount":return[84,h,F,0,x];case"segwit":return[49,h,0,0,F];case"legacy":return[44,h,0,0,F];default:return Ln(s[n],F)}}function jx(n){const[F,x,H]=n.split("/").map((h)=>Number.parseInt(h,10));switch(x){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var Ln=(n,F)=>{return[...n.slice(0,n.length-1),F]};function bn({liquidityUnits:n,poolUnits:F,runeDepth:x}){const H=Y(n),h=Y(F),R=Y(x),k=H.mul(R),_=h.mul(h).mul(2),L=h.mul(H).mul(2),O=H.mul(H),G=h.mul(h).mul(h);return k.mul(_.sub(L).add(O)).div(G)}function Dn({liquidityUnits:n,poolUnits:F,assetDepth:x}){const H=Y(n),h=Y(F),R=Y(x),k=H.mul(R),_=h.mul(h).mul(2),L=h.mul(H).mul(2),O=H.mul(H),G=k.mul(_.sub(L).add(O)),Z=h.mul(h).mul(h);return G.div(Z)}function Yx({percent:n,runeDepth:F,liquidityUnits:x,poolUnits:H}){return bn({runeDepth:F,liquidityUnits:x,poolUnits:H}).mul(n)}function wx({percent:n,assetDepth:F,liquidityUnits:x,poolUnits:H}){return Dn({assetDepth:F,liquidityUnits:x,poolUnits:H}).mul(n)}function Y(n){return Q.fromBigInt(BigInt(n),8)}function cn({liquidityUnits:n,poolUnits:F,runeDepth:x,assetDepth:H}){return{assetAmount:Y(H).mul(n).div(F),runeAmount:Y(x).mul(n).div(F)}}function Qx({liquidityUnits:n,poolUnits:F,runeDepth:x,assetDepth:H,percent:h}){return Object.fromEntries(Object.entries(cn({liquidityUnits:n,poolUnits:F,runeDepth:x,assetDepth:H})).map(([R,k])=>[R,k.mul(h)]))}function qx({runeDepth:n,poolUnits:F,assetDepth:x,liquidityUnits:H,runeAmount:h,assetAmount:R}){const k=new Q({value:n,decimal:8}),_=new Q({value:x,decimal:8}),L=new Q({value:F,decimal:8}),O=new Q({value:h,decimal:8}),G=new Q({value:R,decimal:8}),Z=O.mul(_),P=G.mul(k),U=O.mul(G),f=k.mul(_),M=L.mul(Z.add(P.add(U.mul(2)))),j=Z.add(P.add(f.mul(2))),W=M.div(j),g=Y(H).add(W);if(W.getBaseValue("number")===0)return g.div(L).getBaseValue("number");const I=L.add(g);return g.div(I).getBaseValue("number")}function Bx({runeAmount:n,assetAmount:F,runeDepth:x,assetDepth:H}){if(n==="0"||F==="0"||x==="0"||H==="0")return 0;const h=Y(x),R=Y(H),k=Y(F),_=Y(n),L=k.mul(h).sub(R.mul(_)),O=R.mul(_).add(h.mul(R));return Math.abs(L.div(O).getBaseValue("number"))}function dn({type:n,address:F}){return`${n}:${F}`}function tn({address:n,unbondAmount:F}){return`${"UNBOND"}:${n}:${F}`}function Cx(n){return p("POOL+",n)}function mn({chain:n,symbol:F,...x}){return p(`${"+"}:${n}/${F}`,x)}function sn({chain:n,symbol:F,address:x,...H}){const h=nF({chain:n,symbol:F}),R=x?`:${x}:`:":";return p(`${"+"}:${h}${R}`,H)}function ln({chain:n,symbol:F,basisPoints:x}){return`${"-"}:${n}/${F}:${x}`}function an({chain:n,symbol:F,ticker:x,basisPoints:H,targetAsset:h}){const R=n==="ETH"&&x!=="ETH"?`${x}-${F.slice(-3)}`:F,k=h?`:${h}`:"";return`${"-"}:${n}.${R}:${H}${k}`}function Sx({basisPoints:n,...F}){return p(`${"POOL-"}:${n}`,F)}function rn({name:n,chain:F,address:x,owner:H}){const h=`${"~"}:${n}:${F}:${x}`,R=H?`:${H}`:"";return`${h}${R}`}function px({name:n,chain:F,asset:x,payout:H,owner:h}){return`${"~"}:${n}:${F}:${H}:${h}:${x}`}function en(n,{asset:F,address:x,minAmount:H,...h}){const R=`${n}:${F}:${x}`,k=H?`:${H}`:"";return p(`${R}${k}`,h)}function p(n,{affiliateAddress:F,affiliateBasisPoints:x}={}){const H=`${n}${F?`:${F}:${x||0}`:""}`;return H.endsWith(":")?H.slice(0,-1):H}function nF({chain:n,symbol:F}){switch(n){case"BTC":case"DOGE":case"LTC":return n.slice(0,1).toLowerCase();case"BCH":return"c";default:return`${n}.${F}`}}var Ux=(n,F)=>{switch(n){case"LEAVE":case"BOND":return dn({type:n,address:F?.address});case"UNBOND":return tn({address:F?.address,unbondAmount:F?.unbondAmount});case"~":return rn(F);case"$+":case"$-":return en(n,F);case"+":{const{chain:x,symbol:H,address:h,singleSide:R}=F;if(R)return mn({chain:x,symbol:H});return sn({chain:x,symbol:H,address:h})}case"-":{const{chain:x,ticker:H,symbol:h,basisPoints:R,targetAssetString:k,singleSide:_}=F;if(_)return ln({chain:x,symbol:h,basisPoints:R});return an({chain:x,ticker:H,symbol:h,basisPoints:R,targetAsset:k})}default:throw new z({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function Dx(){const n=[];function F(H){if(n.map((h)=>h.info.uuid).includes(H.detail.info.uuid))return;n.push(H.detail)}window.addEventListener("eip6963:announceProvider",F),window.dispatchEvent(new Event("eip6963:requestProvider"));function x(){window.removeEventListener("eip6963:announceProvider",F)}return{providers:n,removeEIP6963EventListener:x}}var FF=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],xF=(n,F,x)=>async(...H)=>{try{await HF(F,x)}catch(h){throw new z({errorKey:"helpers_failed_to_switch_network",info:{error:h}})}return n(...H)},Pn=({provider:n,params:F,method:x})=>{if(!n?.send)throw new z("helpers_not_found_provider");const H=F?Array.isArray(F)?F:[F]:[];return n.send(x,H)},ox=({toolbox:n,chainId:F,provider:x=window.ethereum})=>{const H=FF.reduce((h,R)=>{if(!n[R])return h;const k=n[R];if(typeof k!=="function")return h;return{...h,[R]:xF(k,x,F)}},{});return{...n,...H}},ux=(n,F)=>Pn({provider:n,method:"wallet_addEthereumChain",params:[F]}),HF=(n,F="0x1")=>Pn({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:F}]}),vx=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},Ex=()=>{const{isTrust:n,isBraveWallet:F,__XDEFI:x,overrideIsMetaMask:H,selectedProvider:h}=window?.ethereum||{};if(n)return"TRUSTWALLET_WEB";if(F)return"BRAVE";if(H&&h?.isCoinbaseWallet)return"COINBASE_WEB";if(x)"XDEFI";return"METAMASK"},bx=(n)=>{return hF().includes(n)},hF=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,F=window?.xfi||window?.ethereum?.__XDEFI,x=window?.ethereum?.isBraveWallet,H=window?.ethereum?.isTrust||window?.trustwallet,h=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,R=[];if(n)R.push("METAMASK");if(F)R.push("XDEFI");if(x)R.push("BRAVE");if(H)R.push("TRUSTWALLET_WEB");if(h)R.push("COINBASE_WEB");if(NF())R.push("OKX_MOBILE");return R},NF=()=>{const n=navigator.userAgent,F=/iphone|ipad|ipod|ios/i.test(n),x=/android|XiaoMi|MiuiBrowser/i.test(n),H=F||x,h=/OKApp/i.test(n);return H&&h},cx=()=>typeof window.ethereum!=="undefined";class Q extends q{eq(n){return this.eqValue(n)}static fromBigInt(n,F){return new Q({decimal:F,value:K({value:n,bigIntDecimal:F,decimal:F})})}}export{EF as wrapWithThrow,xF as wrapMethodWithNetworkSwitch,hn as warnOnce,tF as validateTNS,Rn as validateIdentifier,HF as switchEVMWalletNetwork,Nx as setRequestClientConfig,ox as prepareNetworkSwitch,NF as okxMobileEnabled,hF as listWeb3EVMWallets,cx as isWeb3Detected,a as isGasAsset,bx as isDetected,jx as getWalletFormatFor,uF as getTHORNameCost,Qx as getSymmetricWithdraw,cn as getSymmetricPoolShare,Hx as getMinAmountByChain,an as getMemoForWithdraw,tn as getMemoForUnbond,ln as getMemoForSaverWithdraw,mn as getMemoForSaverDeposit,Sx as getMemoForRunePoolWithdraw,Cx as getMemoForRunePoolDeposit,rn as getMemoForNameRegister,px as getMemoForNamePreferredAssetRegister,en as getMemoForLoan,dn as getMemoForLeaveAndBond,sn as getMemoForDeposit,Ux as getMemoFor,vF as getMAYANameCost,Bx as getLiquiditySlippage,_x as getGasAsset,qx as getEstimatedPoolShare,Ex as getETHDefaultWallet,Dx as getEIP6963Wallets,Xx as getDerivationPathFor,_n as getDecimal,On as getCommonAssetInfo,bF as getChainIdentifier,Yx as getAsymmetricRuneWithdrawAmount,bn as getAsymmetricRuneShare,wx as getAsymmetricAssetWithdrawAmount,Dn as getAsymmetricAssetShare,Gn as getAssetType,K as formatBigIntToSafeValue,Ax as findAssetBy,Gx as filterAssets,$x as derivationPathToString,pn as defaultRequestHeaders,Ox as assetFromString,ux as addEVMWalletNetwork,vx as addAccountsChangedCallback,Qn as WarningCodeEnum,Fn as WalletOption,OF as UTXOChains,AF as TCSupportedChains,Q as SwapKitNumber,z as SwapKitError,_F as SubstrateChains,zF as SWAP_OUT,JF as SWAP_IN,c as RequestClient,d as RPCUrl,Xn as QuoteMode,qn as ProviderName,s as NetworkDerivationPath,xn as MemoType,LF as MAYASupportedChains,zn as LedgerErrorCode,Bn as FeeTypeEnum,Zn as FeeOption,t as ExplorerUrl,wn as ErrorCode,o as EVMChains,Jn as DerivationPath,GF as CosmosChains,jn as ContractAddress,Tn as CommonAssetStrings,m as ChainToRPC,PF as ChainToHexChainId,$F as ChainToExplorerUrl,nn as ChainToChainId,TF as ChainIdToChain,y as ChainId,w as Chain,q as BigIntArithmetics,J as BaseDecimal,X as AssetValue,Yn as ApproveMode,jF as AGG_SWAP};
|
|
5
5
|
|
|
6
|
-
//# debugId=
|
|
6
|
+
//# debugId=7B404A3D55B97C2164756E2164756E21
|