@swapkit/helpers 1.0.0-rc.118 → 1.0.0-rc.119
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 +2 -2
- package/dist/index.js.map +10 -10
- package/package.json +3 -3
- package/src/helpers/__tests__/asset.test.ts +0 -7
- package/src/helpers/asset.ts +28 -27
- package/src/modules/__tests__/assetValue.test.ts +116 -117
- package/src/modules/assetValue.ts +119 -94
- package/src/types/chains.ts +2 -18
- package/src/types/derivationPath.ts +0 -2
- package/src/types/network.ts +0 -2
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var an=((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 He=[{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 we=[{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"}],_e=[{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 Oe=[{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"}],$e=[{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"}],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 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 Q;(function(m){m["Arbitrum"]="https://arb1.arbitrum.io/rpc";m["Avalanche"]="https://node-router.thorswap.net/avalanche-c";m["Binance"]="";m["BinanceSmartChain"]="https://bsc-dataseed.binance.org";m["Bitcoin"]="https://node-router.thorswap.net/bitcoin";m["BitcoinCash"]="https://node-router.thorswap.net/bitcoin-cash";m["Chainflip"]="wss://mainnet-archive.chainflip.io";m["Cosmos"]="https://node-router.thorswap.net/cosmos/rpc";m["Dash"]="https://node-router.thorswap.net/dash";m["Dogecoin"]="https://node-router.thorswap.net/dogecoin";m["Ethereum"]="https://node-router.thorswap.net/ethereum";m["Kujira"]="https://rpc-kujira.synergynodes.com/";m["Litecoin"]="https://node-router.thorswap.net/litecoin";m["Maya"]="https://tendermint.mayachain.info";m["MayaStagenet"]="https://stagenet.tendermint.mayachain.info";m["Optimism"]="https://mainnet.optimism.io";m["Polkadot"]="wss://rpc.polkadot.io";m["Polygon"]="https://polygon-rpc.com";m["Radix"]="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";m["THORChain"]="https://rpc.thorswap.net";m["THORChainStagenet"]="https://stagenet-rpc.ninerealms.com";m["Solana"]="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(Q||(Q={}));var W;(function(d){d["Arbitrum"]="https://arbiscan.io";d["Avalanche"]="https://snowtrace.io";d["Binance"]="https://explorer.binance.org";d["BinanceSmartChain"]="https://bscscan.com";d["Bitcoin"]="https://blockchair.com/bitcoin";d["BitcoinCash"]="https://www.blockchair.com/bitcoin-cash";d["Chainflip"]="https://explorer.polkascan.io/polkadot";d["Cosmos"]="https://www.mintscan.io/cosmos";d["Dash"]="https://blockchair.com/dash";d["Dogecoin"]="https://blockchair.com/dogecoin";d["Ethereum"]="https://etherscan.io";d["Kujira"]="https://finder.kujira.network/kaiyo-1";d["Litecoin"]="https://blockchair.com/litecoin";d["Maya"]="https://www.mayascan.org";d["Optimism"]="https://optimistic.etherscan.io";d["Polkadot"]="https://polkadot.subscan.io";d["Polygon"]="https://polygonscan.com";d["Radix"]="https://dashboard.radixdlt.com";d["THORChain"]="https://runescan.io";d["Solana"]="https://solscan.io"})(W||(W={}));var s;(function(d){d["Arbitrum"]="ARB";d["Avalanche"]="AVAX";d["Binance"]="BNB";d["BinanceSmartChain"]="BSC";d["Bitcoin"]="BTC";d["BitcoinCash"]="BCH";d["Cosmos"]="GAIA";d["Dash"]="DASH";d["Dogecoin"]="DOGE";d["Ethereum"]="ETH";d["Kujira"]="KUJI";d["Litecoin"]="LTC";d["Maya"]="MAYA";d["Optimism"]="OP";d["Polkadot"]="DOT";d["Chainflip"]="FLIP";d["Polygon"]="MATIC";d["Radix"]="XRD";d["THORChain"]="THOR";d["Solana"]="SOL"})(s||(s={}));var w;(function(T){T["Arbitrum"]="42161";T["ArbitrumHex"]="0xa4b1";T["Avalanche"]="43114";T["AvalancheHex"]="0xa86a";T["Binance"]="Binance-Chain-Tigris";T["BinanceSmartChain"]="56";T["BinanceSmartChainHex"]="0x38";T["Bitcoin"]="bitcoin";T["BitcoinCash"]="bitcoincash";T["Chainflip"]="chainflip";T["Cosmos"]="cosmoshub-4";T["Dash"]="dash";T["Dogecoin"]="dogecoin";T["Kujira"]="kaiyo-1";T["Ethereum"]="1";T["EthereumHex"]="0x1";T["Litecoin"]="litecoin";T["Maya"]="mayachain-mainnet-v1";T["MayaStagenet"]="mayachain-stagenet-v1";T["Optimism"]="10";T["OptimismHex"]="0xa";T["Polkadot"]="polkadot";T["Polygon"]="137";T["PolygonHex"]="0x89";T["Radix"]="radix-mainnet";T["THORChain"]="thorchain-mainnet-v1";T["THORChainStagenet"]="thorchain-stagenet-v2";T["Solana"]="solana"})(w||(w={}));var Ze={[w.ArbitrumHex]:s.Arbitrum,[w.Arbitrum]:s.Arbitrum,[w.AvalancheHex]:s.Avalanche,[w.Avalanche]:s.Avalanche,[w.BinanceSmartChainHex]:s.BinanceSmartChain,[w.BinanceSmartChain]:s.BinanceSmartChain,[w.Binance]:s.Binance,[w.BitcoinCash]:s.BitcoinCash,[w.Bitcoin]:s.Bitcoin,[w.Chainflip]:s.Chainflip,[w.Cosmos]:s.Cosmos,[w.Dash]:s.Dash,[w.Dogecoin]:s.Dogecoin,[w.EthereumHex]:s.Ethereum,[w.Kujira]:s.Kujira,[w.Ethereum]:s.Ethereum,[w.Litecoin]:s.Litecoin,[w.MayaStagenet]:s.Maya,[w.Maya]:s.Maya,[w.OptimismHex]:s.Optimism,[w.Optimism]:s.Optimism,[w.Polkadot]:s.Polkadot,[w.PolygonHex]:s.Polygon,[w.Polygon]:s.Polygon,[w.Radix]:s.Radix,[w.THORChainStagenet]:s.THORChain,[w.THORChain]:s.THORChain,[w.Solana]:s.Solana},Bn=Object.keys(s),K=Object.values(s),_;(function(f){f[f["ARB"]=18]="ARB";f[f["AVAX"]=18]="AVAX";f[f["BCH"]=8]="BCH";f[f["BNB"]=8]="BNB";f[f["BSC"]=18]="BSC";f[f["BTC"]=8]="BTC";f[f["DASH"]=8]="DASH";f[f["DOGE"]=8]="DOGE";f[f["DOT"]=10]="DOT";f[f["ETH"]=18]="ETH";f[f["FLIP"]=18]="FLIP";f[f["GAIA"]=6]="GAIA";f[f["KUJI"]=6]="KUJI";f[f["LTC"]=8]="LTC";f[f["MATIC"]=18]="MATIC";f[f["MAYA"]=10]="MAYA";f[f["OP"]=18]="OP";f[f["SOL"]=9]="SOL";f[f["THOR"]=8]="THOR";f[f["XRD"]=18]="XRD";f[f["ZEC"]=8]="ZEC"})(_||(_={}));var ke=[s.Polkadot,s.Chainflip],l=[s.Ethereum,s.Avalanche,s.BinanceSmartChain,s.Arbitrum,s.Optimism,s.Polygon],Re=[s.Bitcoin,s.BitcoinCash,s.Dash,s.Dogecoin,s.Litecoin],Le=[s.Cosmos,s.THORChain,s.Binance,s.Maya,s.Kujira],Ye=[s.Avalanche,s.Binance,s.BinanceSmartChain,s.Bitcoin,s.BitcoinCash,s.Cosmos,s.Dogecoin,s.Ethereum,s.Litecoin,s.THORChain],qe=[s.Arbitrum,s.Dash,s.Ethereum,s.Kujira,s.Maya,s.THORChain],E=K.reduce((n,e)=>{const t=Bn.find((p)=>s[p]===e);if(t)n[e]=t;return n},{}),dn=K.reduce((n,e)=>{return n[e]=w[E[e]],n},{}),S=K.reduce((n,e)=>{return n[e]=Q[E[e]],n},{}),Be=K.reduce((n,e)=>{const t=`${E[e]}Hex`;return n[e]=w[t],n},{}),be=K.reduce((n,e)=>{return n[e]=W[E[e]],n},{});var G;(function(o){o["TC_SUPPORTED_TO_TC_SUPPORTED"]="TC-TC";o["TC_SUPPORTED_TO_ETH"]="TC-ERC20";o["TC_SUPPORTED_TO_AVAX"]="TC-ARC20";o["TC_SUPPORTED_TO_BSC"]="TC-BEP20";o["ETH_TO_TC_SUPPORTED"]="ERC20-TC";o["ETH_TO_ETH"]="ERC20-ERC20";o["ETH_TO_AVAX"]="ERC20-ARC20";o["ETH_TO_BSC"]="ERC20-BEP20";o["AVAX_TO_TC_SUPPORTED"]="ARC20-TC";o["AVAX_TO_ETH"]="ARC20-ERC20";o["AVAX_TO_AVAX"]="ARC20-ARC20";o["AVAX_TO_BSC"]="ARC20-BEP20";o["BSC_TO_TC_SUPPORTED"]="BEP20-TC";o["BSC_TO_ETH"]="BEP20-ERC20";o["BSC_TO_AVAX"]="BEP20-ARC20";o["BSC_TO_BSC"]="BEP20-BEP20"})(G||(G={}));var Ae=[G.ETH_TO_ETH,G.AVAX_TO_AVAX,G.BSC_TO_BSC],ge=[G.ETH_TO_TC_SUPPORTED,G.ETH_TO_AVAX,G.ETH_TO_BSC,G.AVAX_TO_TC_SUPPORTED,G.AVAX_TO_ETH,G.AVAX_TO_BSC,G.BSC_TO_TC_SUPPORTED,G.BSC_TO_ETH,G.BSC_TO_AVAX],Ke=[G.TC_SUPPORTED_TO_TC_SUPPORTED,G.TC_SUPPORTED_TO_ETH,G.TC_SUPPORTED_TO_AVAX,G.TC_SUPPORTED_TO_BSC];var un;(function(u){u["ARB"]="0x0000000000000000000000000000000000000000";u["AVAX"]="0x0000000000000000000000000000000000000000";u["ETH"]="0x0000000000000000000000000000000000000000";u["BSC"]="0x0000000000000000000000000000000000000000";u["MATIC"]="0x0000000000000000000000000000000000001010";u["OP"]="0x4200000000000000000000000000000000000042"})(un||(un={}));var rn;(function(d){d["ARB"]="m/44'/60'/0'/0";d["AVAX"]="m/44'/60'/0'/0";d["BCH"]="m/44'/145'/0'/0";d["BNB"]="m/44'/714'/0'/0";d["BSC"]="m/44'/60'/0'/0";d["BTC"]="m/84'/0'/0'/0";d["DASH"]="m/44'/5'/0'/0";d["DOGE"]="m/44'/3'/0'/0";d["DOT"]="////";d["ETH"]="m/44'/60'/0'/0";d["FLIP"]="////";d["GAIA"]="m/44'/118'/0'/0";d["KUJI"]="m/44'/118'/0'/0";d["LTC"]="m/84'/2'/0'/0";d["MATIC"]="m/44'/60'/0'/0";d["MAYA"]="m/44'/931'/0'/0";d["OP"]="m/44'/60'/0'/0";d["SOL"]="m/44'/501'/0'/0";d["THOR"]="m/44'/931'/0'/0";d["XRD"]="////"})(rn||(rn={}));var I={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BNB:[44,714,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 Z;(function(i){i["BRAVE"]="BRAVE";i["COINBASE_MOBILE"]="COINBASE_MOBILE";i["COINBASE_WEB"]="COINBASE_WEB";i["EIP6963"]="EIP6963";i["EXODUS"]="EXODUS";i["KEEPKEY"]="KEEPKEY";i["KEPLR"]="KEPLR";i["KEYSTORE"]="KEYSTORE";i["LEDGER"]="LEDGER";i["METAMASK"]="METAMASK";i["OKX"]="OKX";i["OKX_MOBILE"]="OKX_MOBILE";i["PHANTOM"]="PHANTOM";i["RADIX_WALLET"]="RADIX_WALLET";i["TREZOR"]="TREZOR";i["TALISMAN"]="TALISMAN";i["TRUSTWALLET_WEB"]="TRUSTWALLET_WEB";i["WALLETCONNECT"]="WALLETCONNECT";i["XDEFI"]="XDEFI"})(Z||(Z={}));var Tn;(function(p){p[p["NoError"]=36864]="NoError";p[p["LockedDevice"]=21781]="LockedDevice";p[p["TC_NotFound"]=65535]="TC_NotFound"})(Tn||(Tn={}));import{z as $} from"zod";var xn;(function(p){p["Average"]="average";p["Fast"]="fast";p["Fastest"]="fastest"})(xn||(xn={}));var mn;(function(t){t["Approve"]="approve";t["CheckOnly"]="checkOnly"})(mn||(mn={}));var z;(function(H){H["BOND"]="BOND";H["DEPOSIT"]="+";H["LEAVE"]="LEAVE";H["NAME_REGISTER"]="~";H["UNBOND"]="UNBOND";H["WITHDRAW"]="-";H["OPEN_LOAN"]="$+";H["CLOSE_LOAN"]="$-"})(z||(z={}));var We=$.object({sellAsset:$.string({description:"Asset to sell"}),buyAsset:$.string({description:"Asset to buy"}),sellAmount:$.number({description:"Amount of asset to sell"}).refine((n)=>n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:$.optional($.array($.string({description:"List of providers to use"}))),sourceAddress:$.optional($.string({description:"Address to send asset from"})),destinationAddress:$.optional($.string({description:"Address to send asset to"})),slippage:$.optional($.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:$.optional($.string({description:"Affiliate thorname"})),affiliateFee:$.optional($.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:$.optional($.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:$.optional($.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:$.optional($.boolean({description:"Disable security checks"}))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]});import{z as y} from"zod";var D;(function(t){t["highSlippage"]="highSlippage";t["highPriceImpact"]="highPriceImpact"})(D||(D={}));var bn=y.array(y.union([y.string(),y.number(),y.array(y.string()),y.object({from:y.string(),value:y.string()}).describe("Parameters to pass to the contract method")])),fn=y.object({contractAddress:y.string({description:"Address of the contract to interact with"}),contractMethod:y.string({description:"Name of the method to call"}),contractParams:bn,contractParamNames:y.array(y.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:y.optional(y.string({description:"Address of the token to approve spending of"})),approvalSpender:y.optional(y.string({description:"Address of the spender to approve"}))}),P=y.object({inbound:y.optional(y.number({description:"Time to receive inbound asset in seconds"})),swap:y.optional(y.number({description:"Time to swap assets in seconds"})),outbound:y.optional(y.number({description:"Time to receive outbound asset in seconds"})),total:y.number({description:"Total time in seconds"})}),Y;(function(j){j["CHAINFLIP"]="CHAINFLIP";j["TRADERJOE_V1"]="TRADERJOE_V1";j["PANGOLIN_V1"]="PANGOLIN_V1";j["UNISWAP_V2"]="UNISWAP_V2";j["THORCHAIN"]="THORCHAIN";j["THORCHAIN_STREAMING"]="THORCHAIN_STREAMING";j["MAYACHAIN"]="MAYACHAIN";j["ONEINCH"]="ONEINCH";j["SUSHISWAP_V2"]="SUSHISWAP_V2";j["WOOFI_V2"]="WOOFI_V2";j["PANCAKESWAP"]="PANCAKESWAP"})(Y||(Y={}));var h;(function(u){u["LIQUIDITY"]="liquidity";u["NETWORK"]="network";u["INBOUND"]="inbound";u["OUTBOUND"]="outbound";u["AFFILIATE"]="affiliate";u["TAX"]="tax"})(h||(h={}));var Hn=y.array(y.object({type:y.nativeEnum(h),amount:y.string(),asset:y.string(),chain:y.string(),protocol:y.nativeEnum(Y)})),Vn=y.object({sellAsset:y.string({description:"Asset to sell"}),buyAsset:y.string({description:"Asset to buy"}),provider:y.nativeEnum(Y),sourceAddress:y.string({description:"Source address"}),destinationAddress:y.string({description:"Destination address"}),estimatedTime:P.optional(),affiliate:y.string({description:"Affiliate address"}).optional(),affiliateFee:y.number({description:"Affiliate fee"}).optional(),slipPercentage:y.number({description:"Slippage as a percentage"})}),Ie=Vn.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),An=y.object({name:y.string({description:"Asset name"}),price:y.number({description:"Price in USD"}),image:y.string({description:"Asset image"})}),on=y.object({priceImpact:y.number({description:"Price impact"}),assets:y.optional(y.array(An))}),wn=y.array(y.object({code:y.nativeEnum(D),display:y.string(),tooltip:y.string().optional()})),gn=y.object({sellAsset:y.string({description:"Asset to sell"}),buyAsset:y.string({description:"Asset to buy"}),provider:y.nativeEnum(Y),buyAmount:y.string({description:"Amount of asset to buy"}),buyAmountMaxSlippage:y.string({description:"Amount of asset to buy"}),sellAmount:y.string({description:"Amount of asset to sell"}),sourceAddress:y.string({description:"Source address"}),destinationAddress:y.string({description:"Destination address"}),slippageBps:y.number({description:"Slippage in bps"}),targetAddress:y.optional(y.string({description:"Target address for contract call or transfer address"})),inboundAddress:y.optional(y.string({description:"Inbound address"})),routerAddress:y.optional(y.string({description:"Inbound address"})),contractMethod:y.optional(y.string({description:"Contract method"})),fees:y.optional(Hn),estimatedTime:y.optional(P),memo:y.optional(y.string({description:"Memo"})),expiration:y.optional(y.string({description:"Expiration"}))}),Pe=y.object({providers:y.array(y.nativeEnum(Y)),sellAsset:y.string({description:"Asset to sell"}),sellAmount:y.string({description:"sell amount"}),buyAsset:y.string({description:"Asset to buy"}),expectedBuyAmount:y.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:y.string({description:"Expected Buy amount max slippage"}),sourceAddress:y.string({description:"Source address"}),destinationAddress:y.string({description:"Destination address"}),targetAddress:y.optional(y.string({description:"Target address"})),routerAddress:y.optional(y.string({description:"Router address"})),inboundAddress:y.optional(y.string({description:"Inbound address"})),expiration:y.optional(y.string({description:"Expiration"})),memo:y.optional(y.string({description:"Memo"})),evmTransactionDetails:y.optional(fn),routePathArray:y.optional(y.array(y.string())),estimatedTime:y.optional(P),totalSlippageBps:y.number({description:"Total slippage in bps"}),legs:y.array(gn),errorCode:y.optional(y.string()),warnings:wn,meta:on}),Kn=y.object({provider:y.nativeEnum(Y),sellAsset:y.string({description:"Asset to sell"}),sellAmount:y.string({description:"Sell amount"}),buyAsset:y.string({description:"Asset to buy"}),buyAmount:y.string({description:"Buy amount"}),buyAmountMaxSlippage:y.string({description:"Buy amount max slippage"}),fees:y.optional(Hn)}),Nn=y.object({providers:y.array(y.nativeEnum(Y)),sellAsset:y.string({description:"Asset to sell"}),sellAmount:y.string({description:"sell amount"}),buyAsset:y.string({description:"Asset to buy"}),expectedBuyAmount:y.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:y.string({description:"Expected Buy amount max slippage"}),sourceAddress:y.string({description:"Source address"}),destinationAddress:y.string({description:"Destination address"}),targetAddress:y.optional(y.string({description:"Target address"})),expiration:y.optional(y.string({description:"Expiration"})),memo:y.optional(y.string({description:"Memo"})),evmTransactionDetails:y.optional(fn),estimatedTime:y.optional(P),totalSlippageBps:y.number({description:"Total slippage in bps"}),legs:y.array(Kn),warnings:wn,meta:on}),ve=y.object({quoteId:y.string({description:"Quote ID"}),routes:y.array(Nn),error:y.optional(y.string({description:"Error message"}))});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_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_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,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,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,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};class X extends Error{static ErrorCode=Fn;constructor(n,e){const t=typeof n==="string",p=t?n:n.errorKey;if(e)console.error(e,{stack:e?.stack,message:e?.message});super(p,{cause:{code:X.ErrorCode[p],message:`${p}${t?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,X.prototype)}}function jn(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(_n.includes(t))return!0;const[p]=e.split("/");if(_n.includes(p))return!0;throw new X({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 _n=[...Object.values(s),"TERRA"];function V({value:n,bigIntDecimal:e=F,decimal:t=F}){if(t===0)return n.toString();const p=n<0n;let a=n.toString().substring(p?1:0);const r=t-(a.length-1);if(r>0)a="0".repeat(r)+a;const u=a.length-t;let x=a.slice(-t);if(Number.parseInt(x[e]||"0")>=5)x=`${x.substring(0,e-1)}${(Number.parseInt(x[e-1]||"0")+1).toString()}`;else x=x.substring(0,e);return`${p?"-":""}${a.slice(0,u)}.${x}`.replace(/\.?0*$/,"")}var v=function(n){const t=`${typeof n==="number"?Mn.format(n):nn(n)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]||"0"},On=function(n){const e=n.split(".")[1]?.length||0;return Math.max(e,F)},nn=function(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n},F=8,B=(n)=>10n**BigInt(n),N=(n)=>Math.log10(Number.parseFloat(n.toString()));class q{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new q({decimal:e,value:V({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return q.fromBigInt(n.getBaseValue("bigint")*B(t)/B(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:B(Math.max(On(v(e)),this.decimal||0)),this.#s(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||N(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/B(this.decimal||_.THOR),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),p=v(t);if(p==="0"||p==="undefined")return 0n;return this.#p(p,e)}toSignificant(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",a=t||"";if((Number.parseInt(p)?p.length+a.length:a.length)<=n)return this.getValue("string");if(p.length>=n)return p.slice(0,n).padEnd(p.length,"0");if(Number.parseInt(p))return`${p}.${a.slice(0,n-p.length)}`.padEnd(n-p.length,"0");const u=Number.parseInt(a),x=`${u}`.slice(0,n);return`0.${x.padStart(a.length-`${u}`.length+x.length,"0")}`}toFixed(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",a=t||"";if(Number.parseInt(p))return`${p}.${a.slice(0,n)}`.padEnd(n,"0");const r=Number.parseInt(a),u=`${r}`.slice(0,n);return`0.${u.padStart(a.length-`${r}`.length+u.length,"0")}`}toAbbreviation(n=2){const e=this.getValue("number"),t=["","K","M","B","T","Q","Qi","S"],p=Math.floor(Math.log10(Math.abs(e))/3),a=t[p];if(!a)return this.getValue("string");const r=10**(p*3);return`${(e/r).toFixed(n)}${a}`}toCurrency(n="$",{currencyPosition:e="start",decimal:t=2,decimalSeparator:p=".",thousandSeparator:a=","}={}){const r=this.getValue("number"),[u="",x=""]=r.toFixed(6).split("."),H=u.replace(/\B(?=(\d{3})+(?!\d))/g,a),O=u||x?u==="0"?`${Number.parseFloat(`0.${x}`)}`.replace(".",p):`${H}${Number.parseInt(x)?`${p}${x.slice(0,t)}`:""}`:"0.00";return`${e==="start"?n:""}${O}${e==="end"?n:""}`}formatBigIntToSafeValue(n,e){const t=e||this.decimal||F,p=Math.max(t,N(this.decimalMultiplier)),a=n<0n,r=n.toString().substring(a?1:0),u=p-(r.length-1),x=u>0?"0".repeat(u)+r:r,H=x.length-p;let O=x.slice(-p);if(Number.parseInt(O[t]||"0")>=5)O=`${O.substring(0,t-1)}${(Number.parseInt(O[t-1]||"0")+1).toString()}`;else O=O.substring(0,t);return`${a?"-":""}${x.slice(0,H)}.${O}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),p=Math.max(t,N(this.decimalMultiplier)),a=B(p),r=e.reduce((x,H)=>{const O=this.getBigIntValue(H,p);switch(n){case"add":return x+O;case"sub":return x-O;case"mul":return x*O/a;case"div":{if(O===0n)throw new RangeError("Division by zero");return x*a/O}default:return x}},this.bigIntValue*a/this.decimalMultiplier),u=V({bigIntDecimal:p,decimal:p,value:r});return new this.constructor({decimalMultiplier:B(p),decimal:this.decimal,value:u,identifier:this.toString()})}#n(n,...e){const t=this.#t(this,...e),p=this.getBigIntValue(e[0]||"0",t),a=this.getBigIntValue(this,t);switch(n){case"gt":return a>p;case"gte":return a>=p;case"lt":return a<p;case"lte":return a<=p;case"eqValue":return a===p}}#s(n){const e=v(n)||"0";this.bigIntValue=this.#p(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||N(t.decimalMultiplier):On(v(t))}).filter(Boolean);return Math.max(...e,F)}#p(n,e){const t=e?B(e):this.decimalMultiplier,p=N(t),[a="",r=""]=n.split(".");return BigInt(`${a}${r.padEnd(p,"0")}`)}}var Mn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});class L extends q{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new L({decimal:e,value:V({value:n,bigIntDecimal:e,decimal:e})})}}function Xt(n){const e=J.fromChainOrSignature(n);switch(n){case s.Bitcoin:case s.Litecoin:case s.BitcoinCash:return e.set(0.00010001);case s.Dogecoin:return e.set(1.00000001);case s.Avalanche:case s.Ethereum:return e.set(0.00000001);case s.THORChain:case s.Maya:return e.set(0);case s.Cosmos:return e.set(0.000001);default:return e.set(0.00000001)}}async function en(n,e=0){jn(n);const t=A.get(n.toUpperCase()),p=t?.decimal||await $n(M(n));if(!t)A.set(n.toUpperCase(),{identifier:n,decimal:p});return new J({decimal:p,value:g(e,p),identifier:n})}var tn=function(n,e=0){const[t,p]=n.split(".")?.[0]?.toUpperCase()===s.THORChain?n.split(".").slice(1).join().split("/"):n.split("/");if(!(t&&p))throw new X({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new J({decimal:8,value:g(e,8),identifier:`${s.THORChain}.${t}/${p}`})},g=function(n,e){return typeof n==="bigint"?V({value:n,bigIntDecimal:e,decimal:e}):n},M=function(n){const e=n.slice(0,14).includes("/"),t=n.split(".")?.[0]?.toUpperCase()===s.THORChain,p=n.split(".")?.[0]?.toUpperCase()===s.Maya,[a,r=""]=t||p?n.split(".").slice(1).join().split("/"):n.split("/");if(e&&!(a&&r))throw new X({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const u=n.includes(".")&&!e?n:`${p?s.Maya:s.THORChain}.${r}`,[x,...H]=u.split("."),O=e?r:H.join("."),k=O.split("-"),j=k.length===1?k[0]:k.slice(0,-1).join("-"),b=k.length===1?void 0:k[k.length-1];return{address:b?.toLowerCase(),chain:x,isGasAsset:pn({chain:x,symbol:O}),isSynthetic:e,symbol:(e?`${a}/`:"")+(b?`${j}-${b?.toLowerCase()??""}`:O),ticker:j}},A=new Map;class J extends q{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:e,tax:t,chain:p,symbol:a,identifier:r}){super(typeof n==="object"?n:{decimal:e,value:n});const u=M(r||`${p}.${a}`);this.type=Xn(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=dn[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,p,a]=n.split(".");if(!(t&&p))throw new X({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const r=t===s.THORChain&&a?`${t}.${p}/${a}`:n;return en(r,e)}static fromString(n,e=0){return en(n,e)}static fromIdentifier(n,e=0){return en(n,e)}static fromStringSync(n,e=0){const{chain:t,isSynthetic:p}=M(n),a=A.get(n.toUpperCase());if(p)return tn(n,e);const{tax:r,decimal:u,identifier:x}=a||{decimal:_[t],identifier:n};return new J({tax:r,value:g(e,u),identifier:p?n:x,decimal:p?8:u})}static async fromStringWithBase(n,e=0,t=_.THOR){const p=q.shiftDecimals({value:L.fromBigInt(BigInt(e)),from:0,to:t}).getBaseValue("string");return(await J.fromString(n)).set(p)}static fromStringWithBaseSync(n,e=0,t=_.THOR){const{chain:p,isSynthetic:a}=M(n),r=A.get(n.toUpperCase());if(a)return tn(n,e);const{tax:u,decimal:x,identifier:H}=r||{decimal:_[p],identifier:n};return new J({tax:u,value:g(BigInt(e),t),identifier:H,decimal:x})}static fromIdentifierSync(n,e=0){const{chain:t,isSynthetic:p}=M(n),a=A.get(n);if(p)return tn(n,e);const{tax:r,decimal:u,identifier:x}=a||{decimal:_[t],identifier:n};return new J({tax:r,decimal:u,identifier:x,value:g(e,u)})}static fromChainOrSignature(n,e=0){const{decimal:t,identifier:p}=Gn(n);return new J({value:g(e,t),decimal:t,identifier:p})}static loadStaticAssets(){return new Promise((n,e)=>{try{import("@swapkit/tokens").then((t)=>{for(let p of Object.values(t))for(let{identifier:a,chain:r,...u}of p.tokens)A.set(a.toUpperCase(),{identifier:a,decimal:"decimals"in u?u.decimals:_[r]});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"})}})}}import Qn from"ky";function Zt({apiKey:n,...e}){Zn={...e,apiKey:n}}var zn=function(){const{apiKey:n,...e}=Zn;return Qn.create({...e,headers:{...Wn,...e.headers,"x-api-key":n}})},Zn={},Wn=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},Jn=(n)=>({get:async(e,t)=>(await n.get(e,t)).json(),post:async(e,t)=>(await n.post(e,t)).json()}),C={...Jn(zn()),extend:(n)=>{const e=zn().extend(n);return{...Jn(e),extend:C.extend}}};async function Vt(n){const e=await import("@swapkit/tokens");for(let t of Object.values(e))for(let{identifier:p,chain:a,...r}of t.tokens){if("identifier"in n&&p===n.identifier)return p;if("address"in r&&"chain"in n&&a===n.chain&&r.address.toLowerCase()===n.contract.toLowerCase())return p}return}var ln="0x313ce567",kn=async({chain:n,to:e})=>{try{const{result:t}=await C.post(S[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:ln},"latest"]})});return Number.parseInt(BigInt(t||_[n]).toString())}catch(t){return console.error(t),_[n]}},En=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await C.post(`${S[s.Radix]}/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),_[s.Radix]}},In=(n)=>{if(n===s.Ethereum)return _.ETH;const e=n.split("-"),t=e.length===1?void 0:e[e.length-1]?.toLowerCase();return t?.startsWith("0x")?kn({chain:s.Ethereum,to:t}):_.ETH},Pn=(n)=>{const e=n.split("-"),t=e.length===1?void 0:e[e.length-1];return t?.startsWith("0x")?kn({chain:s.Avalanche,to:t.toLowerCase()}):_.AVAX},vn=(n)=>{if(n===s.BinanceSmartChain)return _.BSC;return _.BSC},Cn=(n)=>{if(n===s.Radix)return _.XRD;return En({symbol:n})},$n=({chain:n,symbol:e})=>{switch(n){case s.Ethereum:return In(e);case s.Avalanche:return Pn(e);case s.BinanceSmartChain:return vn(e);case s.Radix:return Cn(e);default:return _[n]}},qt=({chain:n})=>{switch(n){case s.Arbitrum:case s.Optimism:return J.fromStringSync(`${n}.ETH`);case s.Maya:return J.fromStringSync(`${n}.CACAO`);case s.Cosmos:return J.fromStringSync(`${n}.ATOM`);case s.BinanceSmartChain:return J.fromStringSync(`${n}.BNB`);case s.THORChain:return J.fromStringSync(`${n}.RUNE`);default:return J.fromStringSync(`${n}.${n}`)}},pn=({chain:n,symbol:e})=>{switch(n){case s.Arbitrum:case s.Optimism:return e==="ETH";case s.Maya:return e==="CACAO";case s.Cosmos:return e==="ATOM";case s.BinanceSmartChain:return e==="BNB";case s.THORChain:return e==="RUNE";default:return e===n}},Gn=(n)=>{switch(n){case`${s.Ethereum}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${s.Ethereum}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case s.Arbitrum:return{identifier:`${s.Arbitrum}.ETH`,decimal:_[n]};case s.Optimism:return{identifier:`${s.Optimism}.ETH`,decimal:_[n]};case s.Cosmos:return{identifier:"GAIA.ATOM",decimal:_[n]};case s.THORChain:return{identifier:"THOR.RUNE",decimal:_[n]};case s.BinanceSmartChain:return{identifier:"BSC.BNB",decimal:_[n]};case s.Maya:return{identifier:"MAYA.CACAO",decimal:_.MAYA};case`${s.Maya}.MAYA`:return{identifier:"MAYA.MAYA",decimal:4};case`${s.Kujira}.USK`:return{identifier:`${s.Kujira}.USK`,decimal:6};case s.Radix:return{identifier:`${s.Radix}.XRD`,decimal:_.XRD};default:return{identifier:`${n}.${n}`,decimal:_[n]}}},Xn=({chain:n,symbol:e})=>{if(e.includes("/"))return"Synth";switch(n){case s.Cosmos:return e==="ATOM"?"Native":s.Cosmos;case s.Kujira:return e===s.Kujira?"Native":s.Kujira;case s.Binance:return e===s.Binance?"Native":"BEP2";case s.BinanceSmartChain:return e===s.Binance?"Native":"BEP20";case s.Ethereum:return e===s.Ethereum?"Native":"ERC20";case s.Avalanche:return e===s.Avalanche?"Native":s.Avalanche;case s.Polygon:return e===s.Polygon?"Native":"POLYGON";case s.Arbitrum:return[s.Ethereum,s.Arbitrum].includes(e)?"Native":"ARBITRUM";case s.Optimism:return[s.Ethereum,s.Optimism].includes(e)?"Native":"OPTIMISM";case s.Radix:return e===s.Radix?"Native":"RADIX";default:return"Native"}},Bt=(n)=>{const[e,...t]=n.split("."),p=n.includes("/"),a=t.join("."),r=a?.split("-"),u=r?.length?r.length===1?r[0]:r.slice(0,-1).join("-"):void 0;return{chain:e,symbol:a,ticker:u,synth:p}},Un=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),cn=(n)=>{const[e,t]=n.split(".");if(!l.includes(e))return!0;const p=t.split("-"),a=p.length===1?void 0:p[p.length-1];return pn({chain:e,symbol:t})||!!a},bt=(n)=>n.filter(({chain:e,value:t,symbol:p})=>{const a=`${e}.${p}`;return!Un.test(a)&&cn(a)&&t!=="0"});function Kt({chain:n,index:e,addressIndex:t=0,type:p}){if(l.includes(n)){if(p==="legacy")return[44,60,0,e];if(p==="ledgerLive")return[44,60,e,0,t];return sn(I[n],e)}if([s.Bitcoin,s.Litecoin].includes(n)){const a=n===s.Bitcoin?0:2;if(p==="nativeSegwitMiddleAccount")return[84,a,e,0,t];if(p==="segwit")return[49,a,0,0,e];if(p==="legacy")return[44,a,0,0,e];return sn(I[n],e)}return sn(I[n],e)}function Nt(n){const[e,t,p]=n.split("/").map((a)=>Number.parseInt(a,10));switch(t){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var sn=(n,e)=>[...n.slice(0,n.length-1),e];function Sn({liquidityUnits:n,poolUnits:e,runeDepth:t}){const p=R(n),a=R(e),r=R(t),u=p.mul(r),x=a.mul(a).mul(2),H=a.mul(p).mul(2),O=p.mul(p),k=a.mul(a).mul(a);return u.mul(x.sub(H).add(O)).div(k)}function Dn({liquidityUnits:n,poolUnits:e,assetDepth:t}){const p=R(n),a=R(e),r=R(t),u=p.mul(r),x=a.mul(a).mul(2),H=a.mul(p).mul(2),O=p.mul(p),k=u.mul(x.sub(H).add(O)),j=a.mul(a).mul(a);return k.div(j)}function Wt({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:p}){return Sn({runeDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}function lt({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:p}){return Dn({assetDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}var R=function(n){return L.fromBigInt(BigInt(n),_.THOR)};function hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p}){return{assetAmount:R(p).mul(n).div(e),runeAmount:R(t).mul(n).div(e)}}function Et({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p,percent:a}){return Object.fromEntries(Object.entries(hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p})).map(([r,u])=>[r,u.mul(a)]))}function It({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:p,runeAmount:a,assetAmount:r}){const u=new L({value:n,decimal:8}),x=new L({value:t,decimal:8}),H=new L({value:e,decimal:8}),O=new L({value:a,decimal:8}),k=new L({value:r,decimal:8}),j=O.mul(x),b=k.mul(u),Ln=O.mul(k),Yn=u.mul(x),qn=H.mul(j.add(b.add(Ln.mul(2)))),o=j.add(b.add(Yn.mul(2))),yn=qn.div(o),c=R(p).add(yn);if(yn.getBaseValue("number")===0)return c.div(H).getBaseValue("number");const i=H.add(c);return c.div(i).getBaseValue("number")}function Pt({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:p}){if(n==="0"||e==="0"||t==="0"||p==="0")return 0;const a=R(t),r=R(p),u=R(e),x=R(n),H=u.mul(a).sub(r.mul(x)),O=r.mul(x).add(a.mul(r));return Math.abs(H.div(O).getBaseValue("number"))}var U=function(n,{affiliateAddress:e,affiliateBasisPoints:t}){const p=e?`:${e}:${t||0}`:"";return`${n}${p}`},ne=function({chain:n,symbol:e}){switch(n){case s.Bitcoin:case s.Dogecoin:case s.Litecoin:return n.slice(0,1).toLowerCase();case s.BitcoinCash:return"c";default:return`${n}.${e}`}};function ee({type:n,address:e}){return`${n}:${e}`}function te({address:n,unbondAmount:e}){return`${z.UNBOND}:${n}:${e}`}function pe({name:n,chain:e,address:t,owner:p}){const a=`${z.NAME_REGISTER}:${n}:${e}:${t}`,r=p?`:${p}`:"";return`${a}${r}`}function se(n,{asset:e,address:t,minAmount:p,...a}){const r=`${n}:${e}:${t}`,u=p?`:${p}`:"";return U(`${r}${u}`,a)}function ye({chain:n,symbol:e,...t}){return U(`${z.DEPOSIT}:${n}/${e}`,t)}function ae({chain:n,symbol:e,address:t}){const p=ne({chain:n,symbol:e}),a=t?`:${t}`:"";return`${z.DEPOSIT}:${p}${a}`}function de({chain:n,symbol:e,basisPoints:t,...p}){return U(`${z.WITHDRAW}:${n}/${e}:${t}`,p)}function ue({chain:n,symbol:e,ticker:t,basisPoints:p,targetAsset:a,...r}){const u=n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,x=a?`:${a}`:"";return U(`${z.WITHDRAW}:${n}.${u}:${p}${x}`,r)}var St=(n,e)=>{switch(n){case z.LEAVE:case z.BOND:{const{address:t}=e;return ee({type:n,address:t})}case z.UNBOND:{const{address:t,unbondAmount:p}=e;return te({address:t,unbondAmount:p})}case z.NAME_REGISTER:return pe(e);case z.OPEN_LOAN:case z.CLOSE_LOAN:return se(n,e);case z.DEPOSIT:{const{chain:t,symbol:p,address:a,singleSide:r}=e;if(r)return ye({chain:t,symbol:p});return ae({chain:t,symbol:p,address:a})}case z.WITHDRAW:{const{chain:t,ticker:p,symbol:a,basisPoints:r,targetAssetString:u,singleSide:x}=e;if(x)return de({chain:t,symbol:a,basisPoints:r});return ue({chain:t,ticker:p,symbol:a,basisPoints:r,targetAsset:u})}default:throw new X({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function ep(n){if(n<0)throw new X({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function tp(n){if(n<0)throw new X({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return Math.round((10+n*1.0512)*10000000000)/10000000000}function pp([n,e,t,p,a]){return`m/${n}'/${e}'/${t}'/${p}${typeof a!=="number"?"":`/${a}`}`}function sp(n,e){try{return n()}catch(t){if(e)throw new X(e,t);return console.error(t)}}var yp=(n)=>{switch(n){case s.THORChain:return`${n}.RUNE`;case s.Cosmos:return`${n}.ATOM`;case s.BinanceSmartChain:return`${n}`;default:return`${n}.${n}`}};function ip(){const n=[];function e(p){if(n.map((a)=>a.info.uuid).includes(p.detail.info.uuid))return;n.push(p.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 re=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],Te=(n,e,t)=>async(...p)=>{try{await xe(e,t)}catch(a){throw new X({errorKey:"helpers_failed_to_switch_network",info:{error:a}})}return n(...p)},Rn=({provider:n,params:e,method:t})=>{if(!n?.send)throw new X("helpers_not_found_provider");const p=e?Array.isArray(e)?e:[e]:[];return n.send(t,p)},rp=({toolbox:n,chainId:e,provider:t=window.ethereum})=>{const p=re.reduce((a,r)=>{if(!n[r])return a;const u=n[r];if(typeof u!=="function")return a;return{...a,[r]:Te(u,t,e)}},{});return{...n,...p}},Tp=(n,e)=>Rn({provider:n,method:"wallet_addEthereumChain",params:[e]}),xe=(n,e=w.EthereumHex)=>Rn({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),xp=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},mp=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:p,selectedProvider:a}=window?.ethereum||{};if(n)return Z.TRUSTWALLET_WEB;if(e)return Z.BRAVE;if(p&&a?.isCoinbaseWallet)return Z.COINBASE_WEB;if(t)Z.XDEFI;return Z.METAMASK},fp=(n)=>{return me().includes(n)},me=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,e=window?.xfi||window?.ethereum?.__XDEFI,t=window?.ethereum?.isBraveWallet,p=window?.ethereum?.isTrust||window?.trustwallet,a=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,r=[];if(n)r.push(Z.METAMASK);if(e)r.push(Z.XDEFI);if(t)r.push(Z.BRAVE);if(p)r.push(Z.TRUSTWALLET_WEB);if(a)r.push(Z.COINBASE_WEB);if(fe())r.push(Z.OKX_MOBILE);return r},fe=()=>{const n=navigator.userAgent,e=/iphone|ipad|ipod|ios/i.test(n),t=/android|XiaoMi|MiuiBrowser/i.test(n),p=e||t,a=/OKApp/i.test(n);return p&&a},Hp=()=>typeof window.ethereum!=="undefined";export{sp as wrapWithThrow,Te as wrapMethodWithNetworkSwitch,xt as validateTNS,jn as validateIdentifier,xe as switchEVMWalletNetwork,Zt as setRequestClientConfig,rp as prepareNetworkSwitch,fe as okxMobileEnabled,me as listWeb3EVMWallets,Hp as isWeb3Detected,pn as isGasAsset,fp as isDetected,Nt as getWalletFormatFor,ep as getTHORNameCost,Et as getSymmetricWithdraw,hn as getSymmetricPoolShare,Xt as getMinAmountByChain,ue as getMemoForWithdraw,te as getMemoForUnbond,de as getMemoForSaverWithdraw,ye as getMemoForSaverDeposit,pe as getMemoForNameRegister,se as getMemoForLoan,ee as getMemoForLeaveAndBond,ae as getMemoForDeposit,St as getMemoFor,tp as getMAYANameCost,Pt as getLiquiditySlippage,qt as getGasAsset,It as getEstimatedPoolShare,mp as getETHDefaultWallet,ip as getEIP6963Wallets,Kt as getDerivationPathFor,$n as getDecimal,Gn as getCommonAssetInfo,yp as getChainIdentifier,Wt as getAsymmetricRuneWithdrawAmount,Sn as getAsymmetricRuneShare,lt as getAsymmetricAssetWithdrawAmount,Dn as getAsymmetricAssetShare,Xn as getAssetType,V as formatBigIntToSafeValue,Vt as findAssetBy,bt as filterAssets,He as erc20ABI,pp as derivationPathToString,Wn as defaultRequestHeaders,Bt as assetFromString,Tp as addEVMWalletNetwork,xp as addAccountsChangedCallback,D as WarningCodeEnum,Z as WalletOption,Re as UTXOChains,Ye as TCSupportedChains,Oe as TCEthereumVaultAbi,Ge as TCBscDepositABI,$e as TCAvalancheDepositABI,L as SwapKitNumber,X as SwapKitError,ke as SubstrateChains,Ke as SWAP_OUT,ge as SWAP_IN,wn as RouteQuoteWarningSchema,Pe as RouteQuoteSchema,on as RouteQuoteMetadataSchema,An as RouteQuoteMetadataAssetSchema,gn as RouteQuoteLegSchema,Ie as RouteLegWithoutAddressesSchema,Vn as RouteLegSchema,C as RequestClient,Q as RPCUrl,ve as QuoteResponseSchema,We as QuoteRequestSchema,G as QuoteMode,Y as ProviderName,I as NetworkDerivationPath,z as MemoType,we as MayaEthereumVaultAbi,_e as MayaArbitrumVaultAbi,qe as MAYASupportedChains,Tn as LedgerErrorCode,Hn as FeesSchema,h as FeeTypeEnum,xn as FeeOption,W as ExplorerUrl,P as EstimatedTimeSchema,fn as EVMTransactionDetailsSchema,bn as EVMTransactionDetailsParamsSchema,l as EVMChains,rn as DerivationPath,Le as CosmosChains,un as ContractAddress,S as ChainToRPC,Be as ChainToHexChainId,be as ChainToExplorerUrl,dn as ChainToChainId,Ze as ChainIdToChain,w as ChainId,s as Chain,q as BigIntArithmetics,_ as BaseDecimal,J as AssetValue,mn as ApproveMode,Ae as AGG_SWAP};
|
|
1
|
+
var an=((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 He=[{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 oe=[{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"}],_e=[{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 $e=[{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"}],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 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"}],Xe=[{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 M;(function(m){m["Arbitrum"]="https://arb1.arbitrum.io/rpc";m["Avalanche"]="https://node-router.thorswap.net/avalanche-c";m["BinanceSmartChain"]="https://bsc-dataseed.binance.org";m["Bitcoin"]="https://node-router.thorswap.net/bitcoin";m["BitcoinCash"]="https://node-router.thorswap.net/bitcoin-cash";m["Chainflip"]="wss://mainnet-archive.chainflip.io";m["Cosmos"]="https://node-router.thorswap.net/cosmos/rpc";m["Dash"]="https://node-router.thorswap.net/dash";m["Dogecoin"]="https://node-router.thorswap.net/dogecoin";m["Ethereum"]="https://node-router.thorswap.net/ethereum";m["Kujira"]="https://rpc-kujira.synergynodes.com/";m["Litecoin"]="https://node-router.thorswap.net/litecoin";m["Maya"]="https://tendermint.mayachain.info";m["MayaStagenet"]="https://stagenet.tendermint.mayachain.info";m["Optimism"]="https://mainnet.optimism.io";m["Polkadot"]="wss://rpc.polkadot.io";m["Polygon"]="https://polygon-rpc.com";m["Radix"]="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";m["THORChain"]="https://rpc.thorswap.net";m["THORChainStagenet"]="https://stagenet-rpc.ninerealms.com";m["Solana"]="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(M||(M={}));var Q;(function(s){s["Arbitrum"]="https://arbiscan.io";s["Avalanche"]="https://snowtrace.io";s["BinanceSmartChain"]="https://bscscan.com";s["Bitcoin"]="https://blockchair.com/bitcoin";s["BitcoinCash"]="https://www.blockchair.com/bitcoin-cash";s["Chainflip"]="https://explorer.polkascan.io/polkadot";s["Cosmos"]="https://www.mintscan.io/cosmos";s["Dash"]="https://blockchair.com/dash";s["Dogecoin"]="https://blockchair.com/dogecoin";s["Ethereum"]="https://etherscan.io";s["Kujira"]="https://finder.kujira.network/kaiyo-1";s["Litecoin"]="https://blockchair.com/litecoin";s["Maya"]="https://www.mayascan.org";s["Optimism"]="https://optimistic.etherscan.io";s["Polkadot"]="https://polkadot.subscan.io";s["Polygon"]="https://polygonscan.com";s["Radix"]="https://dashboard.radixdlt.com";s["THORChain"]="https://runescan.io";s["Solana"]="https://solscan.io"})(Q||(Q={}));var y;(function(s){s["Arbitrum"]="ARB";s["Avalanche"]="AVAX";s["BinanceSmartChain"]="BSC";s["Bitcoin"]="BTC";s["BitcoinCash"]="BCH";s["Cosmos"]="GAIA";s["Dash"]="DASH";s["Dogecoin"]="DOGE";s["Ethereum"]="ETH";s["Kujira"]="KUJI";s["Litecoin"]="LTC";s["Maya"]="MAYA";s["Optimism"]="OP";s["Polkadot"]="DOT";s["Chainflip"]="FLIP";s["Polygon"]="MATIC";s["Radix"]="XRD";s["THORChain"]="THOR";s["Solana"]="SOL"})(y||(y={}));var o;(function(T){T["Arbitrum"]="42161";T["ArbitrumHex"]="0xa4b1";T["Avalanche"]="43114";T["AvalancheHex"]="0xa86a";T["BinanceSmartChain"]="56";T["BinanceSmartChainHex"]="0x38";T["Bitcoin"]="bitcoin";T["BitcoinCash"]="bitcoincash";T["Chainflip"]="chainflip";T["Cosmos"]="cosmoshub-4";T["Dash"]="dash";T["Dogecoin"]="dogecoin";T["Kujira"]="kaiyo-1";T["Ethereum"]="1";T["EthereumHex"]="0x1";T["Litecoin"]="litecoin";T["Maya"]="mayachain-mainnet-v1";T["MayaStagenet"]="mayachain-stagenet-v1";T["Optimism"]="10";T["OptimismHex"]="0xa";T["Polkadot"]="polkadot";T["Polygon"]="137";T["PolygonHex"]="0x89";T["Radix"]="radix-mainnet";T["THORChain"]="thorchain-mainnet-v1";T["THORChainStagenet"]="thorchain-stagenet-v2";T["Solana"]="solana"})(o||(o={}));var ke={[o.ArbitrumHex]:y.Arbitrum,[o.Arbitrum]:y.Arbitrum,[o.AvalancheHex]:y.Avalanche,[o.Avalanche]:y.Avalanche,[o.BinanceSmartChainHex]:y.BinanceSmartChain,[o.BinanceSmartChain]:y.BinanceSmartChain,[o.BitcoinCash]:y.BitcoinCash,[o.Bitcoin]:y.Bitcoin,[o.Chainflip]:y.Chainflip,[o.Cosmos]:y.Cosmos,[o.Dash]:y.Dash,[o.Dogecoin]:y.Dogecoin,[o.EthereumHex]:y.Ethereum,[o.Kujira]:y.Kujira,[o.Ethereum]:y.Ethereum,[o.Litecoin]:y.Litecoin,[o.MayaStagenet]:y.Maya,[o.Maya]:y.Maya,[o.OptimismHex]:y.Optimism,[o.Optimism]:y.Optimism,[o.Polkadot]:y.Polkadot,[o.PolygonHex]:y.Polygon,[o.Polygon]:y.Polygon,[o.Radix]:y.Radix,[o.THORChainStagenet]:y.THORChain,[o.THORChain]:y.THORChain,[o.Solana]:y.Solana},On=Object.keys(y),V=Object.values(y),j;(function(f){f[f["ARB"]=18]="ARB";f[f["AVAX"]=18]="AVAX";f[f["BCH"]=8]="BCH";f[f["BSC"]=18]="BSC";f[f["BTC"]=8]="BTC";f[f["DASH"]=8]="DASH";f[f["DOGE"]=8]="DOGE";f[f["DOT"]=10]="DOT";f[f["ETH"]=18]="ETH";f[f["FLIP"]=18]="FLIP";f[f["GAIA"]=6]="GAIA";f[f["KUJI"]=6]="KUJI";f[f["LTC"]=8]="LTC";f[f["MATIC"]=18]="MATIC";f[f["MAYA"]=10]="MAYA";f[f["OP"]=18]="OP";f[f["SOL"]=9]="SOL";f[f["THOR"]=8]="THOR";f[f["XRD"]=18]="XRD";f[f["ZEC"]=8]="ZEC"})(j||(j={}));var Re=[y.Polkadot,y.Chainflip],W=[y.Ethereum,y.Avalanche,y.BinanceSmartChain,y.Arbitrum,y.Optimism,y.Polygon],Ye=[y.Bitcoin,y.BitcoinCash,y.Dash,y.Dogecoin,y.Litecoin],Le=[y.Cosmos,y.THORChain,y.Maya,y.Kujira],Oe=[y.Avalanche,y.BinanceSmartChain,y.Bitcoin,y.BitcoinCash,y.Cosmos,y.Dogecoin,y.Ethereum,y.Litecoin,y.THORChain],be=[y.Arbitrum,y.Dash,y.Ethereum,y.Kujira,y.Maya,y.THORChain],l=V.reduce((n,e)=>{const t=On.find((p)=>y[p]===e);if(t)n[e]=t;return n},{}),dn=V.reduce((n,e)=>{return n[e]=o[l[e]],n},{}),D=V.reduce((n,e)=>{return n[e]=M[l[e]],n},{}),ge=V.reduce((n,e)=>{const t=`${l[e]}Hex`;return n[e]=o[t],n},{}),qe=V.reduce((n,e)=>{return n[e]=Q[l[e]],n},{});var X;(function(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"})(X||(X={}));var Ve=[X.ETH_TO_ETH,X.AVAX_TO_AVAX,X.BSC_TO_BSC],Ne=[X.ETH_TO_TC_SUPPORTED,X.ETH_TO_AVAX,X.ETH_TO_BSC,X.AVAX_TO_TC_SUPPORTED,X.AVAX_TO_ETH,X.AVAX_TO_BSC,X.BSC_TO_TC_SUPPORTED,X.BSC_TO_ETH,X.BSC_TO_AVAX],Ae=[X.TC_SUPPORTED_TO_TC_SUPPORTED,X.TC_SUPPORTED_TO_ETH,X.TC_SUPPORTED_TO_AVAX,X.TC_SUPPORTED_TO_BSC];var un;(function(u){u["ARB"]="0x0000000000000000000000000000000000000000";u["AVAX"]="0x0000000000000000000000000000000000000000";u["ETH"]="0x0000000000000000000000000000000000000000";u["BSC"]="0x0000000000000000000000000000000000000000";u["MATIC"]="0x0000000000000000000000000000000000001010";u["OP"]="0x4200000000000000000000000000000000000042"})(un||(un={}));var rn;(function(s){s["ARB"]="m/44'/60'/0'/0";s["AVAX"]="m/44'/60'/0'/0";s["BCH"]="m/44'/145'/0'/0";s["BSC"]="m/44'/60'/0'/0";s["BTC"]="m/84'/0'/0'/0";s["DASH"]="m/44'/5'/0'/0";s["DOGE"]="m/44'/3'/0'/0";s["DOT"]="////";s["ETH"]="m/44'/60'/0'/0";s["FLIP"]="////";s["GAIA"]="m/44'/118'/0'/0";s["KUJI"]="m/44'/118'/0'/0";s["LTC"]="m/84'/2'/0'/0";s["MATIC"]="m/44'/60'/0'/0";s["MAYA"]="m/44'/931'/0'/0";s["OP"]="m/44'/60'/0'/0";s["SOL"]="m/44'/501'/0'/0";s["THOR"]="m/44'/931'/0'/0";s["XRD"]="////"})(rn||(rn={}));var E={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 k;(function(s){s["BRAVE"]="BRAVE";s["COINBASE_MOBILE"]="COINBASE_MOBILE";s["COINBASE_WEB"]="COINBASE_WEB";s["EIP6963"]="EIP6963";s["EXODUS"]="EXODUS";s["KEEPKEY"]="KEEPKEY";s["KEPLR"]="KEPLR";s["KEYSTORE"]="KEYSTORE";s["LEDGER"]="LEDGER";s["METAMASK"]="METAMASK";s["OKX"]="OKX";s["OKX_MOBILE"]="OKX_MOBILE";s["PHANTOM"]="PHANTOM";s["RADIX_WALLET"]="RADIX_WALLET";s["TREZOR"]="TREZOR";s["TALISMAN"]="TALISMAN";s["TRUSTWALLET_WEB"]="TRUSTWALLET_WEB";s["WALLETCONNECT"]="WALLETCONNECT";s["XDEFI"]="XDEFI"})(k||(k={}));var Tn;(function(p){p[p["NoError"]=36864]="NoError";p[p["LockedDevice"]=21781]="LockedDevice";p[p["TC_NotFound"]=65535]="TC_NotFound"})(Tn||(Tn={}));import{z as $} from"zod";var xn;(function(p){p["Average"]="average";p["Fast"]="fast";p["Fastest"]="fastest"})(xn||(xn={}));var mn;(function(t){t["Approve"]="approve";t["CheckOnly"]="checkOnly"})(mn||(mn={}));var J;(function(i){i["BOND"]="BOND";i["DEPOSIT"]="+";i["LEAVE"]="LEAVE";i["NAME_REGISTER"]="~";i["UNBOND"]="UNBOND";i["WITHDRAW"]="-";i["OPEN_LOAN"]="$+";i["CLOSE_LOAN"]="$-"})(J||(J={}));var We=$.object({sellAsset:$.string({description:"Asset to sell"}),buyAsset:$.string({description:"Asset to buy"}),sellAmount:$.number({description:"Amount of asset to sell"}).refine((n)=>n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:$.optional($.array($.string({description:"List of providers to use"}))),sourceAddress:$.optional($.string({description:"Address to send asset from"})),destinationAddress:$.optional($.string({description:"Address to send asset to"})),slippage:$.optional($.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:$.optional($.string({description:"Affiliate thorname"})),affiliateFee:$.optional($.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:$.optional($.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:$.optional($.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:$.optional($.boolean({description:"Disable security checks"}))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]});import{z as a} from"zod";var h;(function(t){t["highSlippage"]="highSlippage";t["highPriceImpact"]="highPriceImpact"})(h||(h={}));var bn=a.array(a.union([a.string(),a.number(),a.array(a.string()),a.object({from:a.string(),value:a.string()}).describe("Parameters to pass to the contract method")])),fn=a.object({contractAddress:a.string({description:"Address of the contract to interact with"}),contractMethod:a.string({description:"Name of the method to call"}),contractParams:bn,contractParamNames:a.array(a.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:a.optional(a.string({description:"Address of the token to approve spending of"})),approvalSpender:a.optional(a.string({description:"Address of the spender to approve"}))}),I=a.object({inbound:a.optional(a.number({description:"Time to receive inbound asset in seconds"})),swap:a.optional(a.number({description:"Time to swap assets in seconds"})),outbound:a.optional(a.number({description:"Time to receive outbound asset in seconds"})),total:a.number({description:"Total time in seconds"})}),O;(function(w){w["CHAINFLIP"]="CHAINFLIP";w["TRADERJOE_V1"]="TRADERJOE_V1";w["PANGOLIN_V1"]="PANGOLIN_V1";w["UNISWAP_V2"]="UNISWAP_V2";w["THORCHAIN"]="THORCHAIN";w["THORCHAIN_STREAMING"]="THORCHAIN_STREAMING";w["MAYACHAIN"]="MAYACHAIN";w["ONEINCH"]="ONEINCH";w["SUSHISWAP_V2"]="SUSHISWAP_V2";w["WOOFI_V2"]="WOOFI_V2";w["PANCAKESWAP"]="PANCAKESWAP"})(O||(O={}));var nn;(function(u){u["LIQUIDITY"]="liquidity";u["NETWORK"]="network";u["INBOUND"]="inbound";u["OUTBOUND"]="outbound";u["AFFILIATE"]="affiliate";u["TAX"]="tax"})(nn||(nn={}));var Hn=a.array(a.object({type:a.nativeEnum(nn),amount:a.string(),asset:a.string(),chain:a.string(),protocol:a.nativeEnum(O)})),gn=a.object({sellAsset:a.string({description:"Asset to sell"}),buyAsset:a.string({description:"Asset to buy"}),provider:a.nativeEnum(O),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),estimatedTime:I.optional(),affiliate:a.string({description:"Affiliate address"}).optional(),affiliateFee:a.number({description:"Affiliate fee"}).optional(),slipPercentage:a.number({description:"Slippage as a percentage"})}),Ie=gn.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),qn=a.object({name:a.string({description:"Asset name"}),price:a.number({description:"Price in USD"}),image:a.string({description:"Asset image"})}),wn=a.object({priceImpact:a.number({description:"Price impact"}),assets:a.optional(a.array(qn))}),on=a.array(a.object({code:a.nativeEnum(h),display:a.string(),tooltip:a.string().optional()})),Kn=a.object({sellAsset:a.string({description:"Asset to sell"}),buyAsset:a.string({description:"Asset to buy"}),provider:a.nativeEnum(O),buyAmount:a.string({description:"Amount of asset to buy"}),buyAmountMaxSlippage:a.string({description:"Amount of asset to buy"}),sellAmount:a.string({description:"Amount of asset to sell"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),slippageBps:a.number({description:"Slippage in bps"}),targetAddress:a.optional(a.string({description:"Target address for contract call or transfer address"})),inboundAddress:a.optional(a.string({description:"Inbound address"})),routerAddress:a.optional(a.string({description:"Inbound address"})),contractMethod:a.optional(a.string({description:"Contract method"})),fees:a.optional(Hn),estimatedTime:a.optional(I),memo:a.optional(a.string({description:"Memo"})),expiration:a.optional(a.string({description:"Expiration"}))}),Pe=a.object({providers:a.array(a.nativeEnum(O)),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"sell amount"}),buyAsset:a.string({description:"Asset to buy"}),expectedBuyAmount:a.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:a.string({description:"Expected Buy amount max slippage"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),targetAddress:a.optional(a.string({description:"Target address"})),routerAddress:a.optional(a.string({description:"Router address"})),inboundAddress:a.optional(a.string({description:"Inbound address"})),expiration:a.optional(a.string({description:"Expiration"})),memo:a.optional(a.string({description:"Memo"})),evmTransactionDetails:a.optional(fn),routePathArray:a.optional(a.array(a.string())),estimatedTime:a.optional(I),totalSlippageBps:a.number({description:"Total slippage in bps"}),legs:a.array(Kn),errorCode:a.optional(a.string()),warnings:on,meta:wn}),Vn=a.object({provider:a.nativeEnum(O),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"Sell amount"}),buyAsset:a.string({description:"Asset to buy"}),buyAmount:a.string({description:"Buy amount"}),buyAmountMaxSlippage:a.string({description:"Buy amount max slippage"}),fees:a.optional(Hn)}),Nn=a.object({providers:a.array(a.nativeEnum(O)),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"sell amount"}),buyAsset:a.string({description:"Asset to buy"}),expectedBuyAmount:a.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:a.string({description:"Expected Buy amount max slippage"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),targetAddress:a.optional(a.string({description:"Target address"})),expiration:a.optional(a.string({description:"Expiration"})),memo:a.optional(a.string({description:"Memo"})),evmTransactionDetails:a.optional(fn),estimatedTime:a.optional(I),totalSlippageBps:a.number({description:"Total slippage in bps"}),legs:a.array(Vn),warnings:on,meta:wn}),Se=a.object({quoteId:a.string({description:"Quote ID"}),routes:a.array(Nn),error:a.optional(a.string({description:"Error message"}))});var An={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_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_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,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,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,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};class z extends Error{static ErrorCode=An;constructor(n,e){const t=typeof n==="string",p=t?n:n.errorKey;if(e)console.error(e,{stack:e?.stack,message:e?.message});super(p,{cause:{code:z.ErrorCode[p],message:`${p}${t?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,z.prototype)}}function jn(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(_n.includes(t))return!0;const[p]=e.split("/");if(_n.includes(p))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 xt(n){if(n.length>30)return!1;const e=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(e)}var _n=[...Object.values(y),"TERRA"];function q({value:n,bigIntDecimal:e=A,decimal:t=A}){if(t===0)return n.toString();const p=n<0n;let d=n.toString().substring(p?1:0);const r=t-(d.length-1);if(r>0)d="0".repeat(r)+d;const u=d.length-t;let x=d.slice(-t);if(Number.parseInt(x[e]||"0")>=5)x=`${x.substring(0,e-1)}${(Number.parseInt(x[e-1]||"0")+1).toString()}`;else x=x.substring(0,e);return`${p?"-":""}${d.slice(0,u)}.${x}`.replace(/\.?0*$/,"")}var P=function(n){const t=`${typeof n==="number"?Bn.format(n):en(n)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]||"0"},$n=function(n){const e=n.split(".")[1]?.length||0;return Math.max(e,A)},en=function(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n},A=8,g=(n)=>10n**BigInt(n),N=(n)=>Math.log10(Number.parseFloat(n.toString()));class b{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new b({decimal:e,value:q({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return b.fromBigInt(n.getBaseValue("bigint")*g(t)/g(e),t)}constructor(n){const e=en(n),t=typeof n==="object";this.decimal=t?n.decimal:void 0,this.decimalMultiplier=t&&"decimalMultiplier"in n?n.decimalMultiplier:g(Math.max($n(P(e)),this.decimal||0)),this.#y(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||N(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/g(this.decimal||j.THOR),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=en(n),p=P(t);if(p==="0"||p==="undefined")return 0n;return this.#p(p,e)}toSignificant(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",d=t||"";if((Number.parseInt(p)?p.length+d.length:d.length)<=n)return this.getValue("string");if(p.length>=n)return p.slice(0,n).padEnd(p.length,"0");if(Number.parseInt(p))return`${p}.${d.slice(0,n-p.length)}`.padEnd(n-p.length,"0");const u=Number.parseInt(d),x=`${u}`.slice(0,n);return`0.${x.padStart(d.length-`${u}`.length+x.length,"0")}`}toFixed(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",d=t||"";if(Number.parseInt(p))return`${p}.${d.slice(0,n)}`.padEnd(n,"0");const r=Number.parseInt(d),u=`${r}`.slice(0,n);return`0.${u.padStart(d.length-`${r}`.length+u.length,"0")}`}toAbbreviation(n=2){const e=this.getValue("number"),t=["","K","M","B","T","Q","Qi","S"],p=Math.floor(Math.log10(Math.abs(e))/3),d=t[p];if(!d)return this.getValue("string");const r=10**(p*3);return`${(e/r).toFixed(n)}${d}`}toCurrency(n="$",{currencyPosition:e="start",decimal:t=2,decimalSeparator:p=".",thousandSeparator:d=","}={}){const r=this.getValue("number"),[u="",x=""]=r.toFixed(6).split("."),i=u.replace(/\B(?=(\d{3})+(?!\d))/g,d),_=u||x?u==="0"?`${Number.parseFloat(`0.${x}`)}`.replace(".",p):`${i}${Number.parseInt(x)?`${p}${x.slice(0,t)}`:""}`:"0.00";return`${e==="start"?n:""}${_}${e==="end"?n:""}`}formatBigIntToSafeValue(n,e){const t=e||this.decimal||A,p=Math.max(t,N(this.decimalMultiplier)),d=n<0n,r=n.toString().substring(d?1:0),u=p-(r.length-1),x=u>0?"0".repeat(u)+r:r,i=x.length-p;let _=x.slice(-p);if(Number.parseInt(_[t]||"0")>=5)_=`${_.substring(0,t-1)}${(Number.parseInt(_[t-1]||"0")+1).toString()}`;else _=_.substring(0,t);return`${d?"-":""}${x.slice(0,i)}.${_}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),p=Math.max(t,N(this.decimalMultiplier)),d=g(p),r=e.reduce((x,i)=>{const _=this.getBigIntValue(i,p);switch(n){case"add":return x+_;case"sub":return x-_;case"mul":return x*_/d;case"div":{if(_===0n)throw new RangeError("Division by zero");return x*d/_}default:return x}},this.bigIntValue*d/this.decimalMultiplier),u=q({bigIntDecimal:p,decimal:p,value:r});return new this.constructor({decimalMultiplier:g(p),decimal:this.decimal,value:u,identifier:this.toString()})}#n(n,...e){const t=this.#t(this,...e),p=this.getBigIntValue(e[0]||"0",t),d=this.getBigIntValue(this,t);switch(n){case"gt":return d>p;case"gte":return d>=p;case"lt":return d<p;case"lte":return d<=p;case"eqValue":return d===p}}#y(n){const e=P(n)||"0";this.bigIntValue=this.#p(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||N(t.decimalMultiplier):$n(P(t))}).filter(Boolean);return Math.max(...e,A)}#p(n,e){const t=e?g(e):this.decimalMultiplier,p=N(t),[d="",r=""]=n.split(".");return BigInt(`${d}${r.padEnd(p,"0")}`)}}var Bn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function $t(n){const e=G.from({chain:n});switch(n){case y.Bitcoin:case y.Litecoin:case y.BitcoinCash:case y.Dash:return e.set(0.00010001);case y.Dogecoin:return e.set(1.00000001);case y.Avalanche:case y.Ethereum:case y.Arbitrum:case y.BinanceSmartChain:return e.set(0.00000001);case y.THORChain:case y.Maya:return e.set(0);case y.Cosmos:case y.Kujira:return e.set(0.000001);default:return e.set(0.00000001)}}async function Fn(n,e=0){jn(n);const t=S.get(n.toUpperCase()),p=t?.decimal||await Xn(tn(n));if(!t)S.set(n.toUpperCase(),{identifier:n,decimal:p});return new G({decimal:p,value:v(e,p),identifier:n})}var Mn=function(n,e=0){const[t,p]=n.split(".")?.[0]?.toUpperCase()===y.THORChain?n.split(".").slice(1).join().split("/"):n.split("/");if(!(t&&p))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new G({decimal:8,value:v(e,8),identifier:`${y.THORChain}.${t}/${p}`})},v=function(n,e){return typeof n==="bigint"?q({value:n,bigIntDecimal:e,decimal:e}):n},tn=function(n){const e=n.slice(0,14).includes("/"),t=n.split(".")?.[0]?.toUpperCase()===y.THORChain,p=n.split(".")?.[0]?.toUpperCase()===y.Maya,[d,r=""]=t||p?n.split(".").slice(1).join().split("/"):n.split("/");if(e&&!(d&&r))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const u=n.includes(".")&&!e?n:`${p?y.Maya:y.THORChain}.${r}`,[x,...i]=u.split("."),_=e?r:i.join("."),Z=_.split("-"),w=Z.length===1?Z[0]:Z.slice(0,-1).join("-"),L=Z.length===1?void 0:Z[Z.length-1];return{address:L?.toLowerCase(),chain:x,isGasAsset:pn({chain:x,symbol:_}),isSynthetic:e,ticker:w,symbol:(e?`${d}/`:"")+(L?`${w}-${L?.toLowerCase()??""}`:_)}},S=new Map;class G extends b{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:e,tax:t,chain:p,symbol:d,identifier:r}){super(typeof n==="object"?n:{decimal:e,value:n});const u=tn(r||`${p}.${d}`);this.type=Jn(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=dn[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,p,d]=n.split(".");if(!(t&&p))throw new z({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const r=t===y.THORChain&&d?`${t}.${p}/${d}`:n;return G.from({asset:r,value:e})}static from({value:n=0,fromBaseDecimal:e,asyncTokenLookup:t,...p}){const d=n instanceof b?n.getValue("string"):n,r="chain"in p,u=r?p.chain:p.asset,x=r||Gn.includes(u),{identifier:i,decimal:_}=x?zn(u):{identifier:u,decimal:void 0},{chain:Z,isSynthetic:w}=tn(i),{tax:L,decimal:B,identifier:K}=S.get(i.toUpperCase())||{decimal:_||j[Z],identifier:i},F=e?v(BigInt(d),e):v(d,B);return t?Fn(K,e?F:d):w?Mn(K,d):new G({tax:L,decimal:B,identifier:K,value:F})}static loadStaticAssets(){return new Promise((n,e)=>{try{import("@swapkit/tokens").then((t)=>{for(let p of Object.values(t))for(let{identifier:d,chain:r,...u}of p.tokens)S.set(d.toUpperCase(),{identifier:d,decimal:"decimals"in u?u.decimals:j[r]});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 G.from({asset:n,value:e,asyncTokenLookup:!0})}static fromIdentifier(n,e=0){return G.from({asset:n,value:e,asyncTokenLookup:!0})}static fromStringSync(n,e=0){return G.from({asset:n,value:e})}static fromStringWithBase(n,e=0n,t=j.THOR){return G.from({asyncTokenLookup:!0,asset:n,value:e,fromBaseDecimal:t})}static fromStringWithBaseSync(n,e=0n,t=j.THOR){return G.from({asset:n,value:e,fromBaseDecimal:t})}static fromIdentifierSync(n,e=0){return G.from({asset:n,value:e})}static fromChainOrSignature(n,e=0){if(n in y)return G.from({chain:n,value:e});return G.from({asset:n,value:e})}}import Qn from"ky";function zt({apiKey:n,...e}){Rn={...e,apiKey:n}}var Zn=function(){const{apiKey:n,...e}=Rn;return Qn.create({...e,headers:{...Wn,...e.headers,"x-api-key":n}})},Rn={},Wn=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},kn=(n)=>({get:async(e,t)=>(await n.get(e,t)).json(),post:async(e,t)=>(await n.post(e,t)).json()}),U={...kn(Zn()),extend:(n)=>{const e=Zn().extend(n);return{...kn(e),extend:U.extend}}};async function bt(n){const e=await import("@swapkit/tokens");for(let t of Object.values(e))for(let{identifier:p,chain:d,...r}of t.tokens){if("identifier"in n&&p===n.identifier)return p;if("address"in r&&"chain"in n&&d===n.chain&&r.address.toLowerCase()===n.contract.toLowerCase())return p}return}var ln="0x313ce567",Gn=[`${y.Maya}.MAYA`,`${y.Ethereum}.THOR`,`${y.Ethereum}.vTHOR`,`${y.Kujira}.USK`],Yn=async({chain:n,to:e})=>{try{const{result:t}=await U.post(D[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:ln},"latest"]})});return Number.parseInt(BigInt(t||j[n]).toString())}catch(t){return console.error(t),j[n]}},En=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await U.post(`${D[y.Radix]}/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),j[y.Radix]}},In=(n)=>{if(n===y.Ethereum)return j.ETH;const e=n.split("-"),t=e.length===1?void 0:e[e.length-1]?.toLowerCase();return t?.startsWith("0x")?Yn({chain:y.Ethereum,to:t}):j.ETH},Pn=(n)=>{const e=n.split("-"),t=e.length===1?void 0:e[e.length-1];return t?.startsWith("0x")?Yn({chain:y.Avalanche,to:t.toLowerCase()}):j.AVAX},Sn=(n)=>{if(n===y.BinanceSmartChain)return j.BSC;return j.BSC},vn=(n)=>{if(n===y.Radix)return j.XRD;return En({symbol:n})},Xn=({chain:n,symbol:e})=>{switch(n){case y.Ethereum:return In(e);case y.Avalanche:return Pn(e);case y.BinanceSmartChain:return Sn(e);case y.Radix:return vn(e);default:return j[n]}},Yt=({chain:n})=>{switch(n){case y.Arbitrum:case y.Optimism:return G.from({asset:`${n}.ETH`});case y.Maya:return G.from({asset:`${n}.CACAO`});case y.Cosmos:return G.from({asset:`${n}.ATOM`});case y.BinanceSmartChain:return G.from({asset:`${n}.BNB`});case y.THORChain:return G.from({asset:`${n}.RUNE`});default:return G.from({asset:`${n}.${n}`})}},pn=({chain:n,symbol:e})=>{switch(n){case y.Arbitrum:case y.Optimism:return e==="ETH";case y.Maya:return e==="CACAO";case y.Cosmos:return e==="ATOM";case y.BinanceSmartChain:return e==="BNB";case y.THORChain:return e==="RUNE";default:return e===n}},zn=(n)=>{switch(n){case y.Arbitrum:case y.Optimism:return{identifier:`${n}.ETH`,decimal:j[n]};case`${y.Ethereum}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${y.Ethereum}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case y.Cosmos:return{identifier:`${n}.ATOM`,decimal:j[n]};case y.THORChain:return{identifier:`${n}.RUNE`,decimal:j[n]};case y.BinanceSmartChain:return{identifier:`${n}.BNB`,decimal:j[n]};case y.Maya:return{identifier:`${n}.CACAO`,decimal:j[n]};case y.Radix:return{identifier:`${y.Radix}.XRD`,decimal:j[n]};case`${y.Maya}.MAYA`:return{identifier:n,decimal:4};case`${y.Kujira}.USK`:return{identifier:n,decimal:6};default:return{identifier:`${n}.${n}`,decimal:j[n]}}},Jn=({chain:n,symbol:e})=>{if(e.includes("/"))return"Synth";switch(n){case y.Cosmos:return e==="ATOM"?"Native":y.Cosmos;case y.Kujira:return e===y.Kujira?"Native":y.Kujira;case y.BinanceSmartChain:return e==="BNB"?"Native":"BEP20";case y.Ethereum:return e===y.Ethereum?"Native":"ERC20";case y.Avalanche:return e===y.Avalanche?"Native":y.Avalanche;case y.Polygon:return e===y.Polygon?"Native":"POLYGON";case y.Arbitrum:return[y.Ethereum,y.Arbitrum].includes(e)?"Native":"ARBITRUM";case y.Optimism:return[y.Ethereum,y.Optimism].includes(e)?"Native":"OPTIMISM";case y.Radix:return e===y.Radix?"Native":"RADIX";default:return"Native"}},Lt=(n)=>{const[e,...t]=n.split("."),p=n.includes("/"),d=t.join("."),r=d?.split("-"),u=r?.length?r.length===1?r[0]:r.slice(0,-1).join("-"):void 0;return{chain:e,symbol:d,ticker:u,synth:p}},Un=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),cn=(n)=>{const[e,t]=n.split(".");if(!W.includes(e))return!0;const p=t.split("-"),d=p.length===1?void 0:p[p.length-1];return pn({chain:e,symbol:t})||!!d},Ot=(n)=>n.filter(({chain:e,value:t,symbol:p})=>{const d=`${e}.${p}`;return!Un.test(d)&&cn(d)&&t!=="0"});function Kt({chain:n,index:e,addressIndex:t=0,type:p}){if(W.includes(n)){if(p==="legacy")return[44,60,0,e];if(p==="ledgerLive")return[44,60,e,0,t];return yn(E[n],e)}if([y.Bitcoin,y.Litecoin].includes(n)){const d=n===y.Bitcoin?0:2;if(p==="nativeSegwitMiddleAccount")return[84,d,e,0,t];if(p==="segwit")return[49,d,0,0,e];if(p==="legacy")return[44,d,0,0,e];return yn(E[n],e)}return yn(E[n],e)}function Vt(n){const[e,t,p]=n.split("/").map((d)=>Number.parseInt(d,10));switch(t){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var yn=(n,e)=>[...n.slice(0,n.length-1),e];function Cn({liquidityUnits:n,poolUnits:e,runeDepth:t}){const p=R(n),d=R(e),r=R(t),u=p.mul(r),x=d.mul(d).mul(2),i=d.mul(p).mul(2),_=p.mul(p),Z=d.mul(d).mul(d);return u.mul(x.sub(i).add(_)).div(Z)}function Dn({liquidityUnits:n,poolUnits:e,assetDepth:t}){const p=R(n),d=R(e),r=R(t),u=p.mul(r),x=d.mul(d).mul(2),i=d.mul(p).mul(2),_=p.mul(p),Z=u.mul(x.sub(i).add(_)),w=d.mul(d).mul(d);return Z.div(w)}function Ft({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:p}){return Cn({runeDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}function Mt({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:p}){return Dn({assetDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}var R=function(n){return Y.fromBigInt(BigInt(n),j.THOR)};function hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p}){return{assetAmount:R(p).mul(n).div(e),runeAmount:R(t).mul(n).div(e)}}function Qt({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p,percent:d}){return Object.fromEntries(Object.entries(hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p})).map(([r,u])=>[r,u.mul(d)]))}function Wt({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:p,runeAmount:d,assetAmount:r}){const u=new Y({value:n,decimal:8}),x=new Y({value:t,decimal:8}),i=new Y({value:e,decimal:8}),_=new Y({value:d,decimal:8}),Z=new Y({value:r,decimal:8}),w=_.mul(x),L=Z.mul(u),B=_.mul(Z),K=u.mul(x),F=i.mul(w.add(L.add(B.mul(2)))),H=w.add(L.add(K.mul(2))),sn=F.div(H),C=R(p).add(sn);if(sn.getBaseValue("number")===0)return C.div(i).getBaseValue("number");const s=i.add(C);return C.div(s).getBaseValue("number")}function lt({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:p}){if(n==="0"||e==="0"||t==="0"||p==="0")return 0;const d=R(t),r=R(p),u=R(e),x=R(n),i=u.mul(d).sub(r.mul(x)),_=r.mul(x).add(d.mul(r));return Math.abs(i.div(_).getBaseValue("number"))}var c=function(n,{affiliateAddress:e,affiliateBasisPoints:t}){const p=e?`:${e}:${t||0}`:"";return`${n}${p}`},ne=function({chain:n,symbol:e}){switch(n){case y.Bitcoin:case y.Dogecoin:case y.Litecoin:return n.slice(0,1).toLowerCase();case y.BitcoinCash:return"c";default:return`${n}.${e}`}};function ee({type:n,address:e}){return`${n}:${e}`}function te({address:n,unbondAmount:e}){return`${J.UNBOND}:${n}:${e}`}function pe({name:n,chain:e,address:t,owner:p}){const d=`${J.NAME_REGISTER}:${n}:${e}:${t}`,r=p?`:${p}`:"";return`${d}${r}`}function ye(n,{asset:e,address:t,minAmount:p,...d}){const r=`${n}:${e}:${t}`,u=p?`:${p}`:"";return c(`${r}${u}`,d)}function se({chain:n,symbol:e,...t}){return c(`${J.DEPOSIT}:${n}/${e}`,t)}function ae({chain:n,symbol:e,address:t}){const p=ne({chain:n,symbol:e}),d=t?`:${t}`:"";return`${J.DEPOSIT}:${p}${d}`}function de({chain:n,symbol:e,basisPoints:t,...p}){return c(`${J.WITHDRAW}:${n}/${e}:${t}`,p)}function ue({chain:n,symbol:e,ticker:t,basisPoints:p,targetAsset:d,...r}){const u=n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,x=d?`:${d}`:"";return c(`${J.WITHDRAW}:${n}.${u}:${p}${x}`,r)}var vt=(n,e)=>{switch(n){case J.LEAVE:case J.BOND:{const{address:t}=e;return ee({type:n,address:t})}case J.UNBOND:{const{address:t,unbondAmount:p}=e;return te({address:t,unbondAmount:p})}case J.NAME_REGISTER:return pe(e);case J.OPEN_LOAN:case J.CLOSE_LOAN:return ye(n,e);case J.DEPOSIT:{const{chain:t,symbol:p,address:d,singleSide:r}=e;if(r)return se({chain:t,symbol:p});return ae({chain:t,symbol:p,address:d})}case J.WITHDRAW:{const{chain:t,ticker:p,symbol:d,basisPoints:r,targetAssetString:u,singleSide:x}=e;if(x)return de({chain:t,symbol:d,basisPoints:r});return ue({chain:t,ticker:p,symbol:d,basisPoints:r,targetAsset:u})}default:throw new z({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function Dt(n){if(n<0)throw new z({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function ht(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 np([n,e,t,p,d]){return`m/${n}'/${e}'/${t}'/${p}${typeof d!=="number"?"":`/${d}`}`}function ep(n,e){try{return n()}catch(t){if(e)throw new z(e,t);return console.error(t)}}var tp=(n)=>{switch(n){case y.THORChain:return`${n}.RUNE`;case y.Cosmos:return`${n}.ATOM`;case y.BinanceSmartChain:return`${n}`;default:return`${n}.${n}`}};function xp(){const n=[];function e(p){if(n.map((d)=>d.info.uuid).includes(p.detail.info.uuid))return;n.push(p.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 re=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],Te=(n,e,t)=>async(...p)=>{try{await xe(e,t)}catch(d){throw new z({errorKey:"helpers_failed_to_switch_network",info:{error:d}})}return n(...p)},Ln=({provider:n,params:e,method:t})=>{if(!n?.send)throw new z("helpers_not_found_provider");const p=e?Array.isArray(e)?e:[e]:[];return n.send(t,p)},ap=({toolbox:n,chainId:e,provider:t=window.ethereum})=>{const p=re.reduce((d,r)=>{if(!n[r])return d;const u=n[r];if(typeof u!=="function")return d;return{...d,[r]:Te(u,t,e)}},{});return{...n,...p}},dp=(n,e)=>Ln({provider:n,method:"wallet_addEthereumChain",params:[e]}),xe=(n,e=o.EthereumHex)=>Ln({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),up=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},rp=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:p,selectedProvider:d}=window?.ethereum||{};if(n)return k.TRUSTWALLET_WEB;if(e)return k.BRAVE;if(p&&d?.isCoinbaseWallet)return k.COINBASE_WEB;if(t)k.XDEFI;return k.METAMASK},Tp=(n)=>{return me().includes(n)},me=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,e=window?.xfi||window?.ethereum?.__XDEFI,t=window?.ethereum?.isBraveWallet,p=window?.ethereum?.isTrust||window?.trustwallet,d=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,r=[];if(n)r.push(k.METAMASK);if(e)r.push(k.XDEFI);if(t)r.push(k.BRAVE);if(p)r.push(k.TRUSTWALLET_WEB);if(d)r.push(k.COINBASE_WEB);if(fe())r.push(k.OKX_MOBILE);return r},fe=()=>{const n=navigator.userAgent,e=/iphone|ipad|ipod|ios/i.test(n),t=/android|XiaoMi|MiuiBrowser/i.test(n),p=e||t,d=/OKApp/i.test(n);return p&&d},mp=()=>typeof window.ethereum!=="undefined";class Y extends b{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new Y({decimal:e,value:q({value:n,bigIntDecimal:e,decimal:e})})}}export{ep as wrapWithThrow,Te as wrapMethodWithNetworkSwitch,xt as validateTNS,jn as validateIdentifier,xe as switchEVMWalletNetwork,zt as setRequestClientConfig,ap as prepareNetworkSwitch,fe as okxMobileEnabled,me as listWeb3EVMWallets,mp as isWeb3Detected,pn as isGasAsset,Tp as isDetected,Vt as getWalletFormatFor,Dt as getTHORNameCost,Qt as getSymmetricWithdraw,hn as getSymmetricPoolShare,$t as getMinAmountByChain,ue as getMemoForWithdraw,te as getMemoForUnbond,de as getMemoForSaverWithdraw,se as getMemoForSaverDeposit,pe as getMemoForNameRegister,ye as getMemoForLoan,ee as getMemoForLeaveAndBond,ae as getMemoForDeposit,vt as getMemoFor,ht as getMAYANameCost,lt as getLiquiditySlippage,Yt as getGasAsset,Wt as getEstimatedPoolShare,rp as getETHDefaultWallet,xp as getEIP6963Wallets,Kt as getDerivationPathFor,Xn as getDecimal,zn as getCommonAssetInfo,tp as getChainIdentifier,Ft as getAsymmetricRuneWithdrawAmount,Cn as getAsymmetricRuneShare,Mt as getAsymmetricAssetWithdrawAmount,Dn as getAsymmetricAssetShare,Jn as getAssetType,q as formatBigIntToSafeValue,bt as findAssetBy,Ot as filterAssets,He as erc20ABI,np as derivationPathToString,Wn as defaultRequestHeaders,Lt as assetFromString,dp as addEVMWalletNetwork,up as addAccountsChangedCallback,h as WarningCodeEnum,k as WalletOption,Ye as UTXOChains,Oe as TCSupportedChains,$e as TCEthereumVaultAbi,Xe as TCBscDepositABI,Ge as TCAvalancheDepositABI,Y as SwapKitNumber,z as SwapKitError,Re as SubstrateChains,Ae as SWAP_OUT,Ne as SWAP_IN,on as RouteQuoteWarningSchema,Pe as RouteQuoteSchema,wn as RouteQuoteMetadataSchema,qn as RouteQuoteMetadataAssetSchema,Kn as RouteQuoteLegSchema,Ie as RouteLegWithoutAddressesSchema,gn as RouteLegSchema,U as RequestClient,M as RPCUrl,Se as QuoteResponseSchema,We as QuoteRequestSchema,X as QuoteMode,O as ProviderName,E as NetworkDerivationPath,J as MemoType,oe as MayaEthereumVaultAbi,_e as MayaArbitrumVaultAbi,be as MAYASupportedChains,Tn as LedgerErrorCode,Hn as FeesSchema,nn as FeeTypeEnum,xn as FeeOption,Q as ExplorerUrl,I as EstimatedTimeSchema,fn as EVMTransactionDetailsSchema,bn as EVMTransactionDetailsParamsSchema,W as EVMChains,rn as DerivationPath,Le as CosmosChains,un as ContractAddress,Gn as CommonAssetStrings,D as ChainToRPC,ge as ChainToHexChainId,qe as ChainToExplorerUrl,dn as ChainToChainId,ke as ChainIdToChain,o as ChainId,y as Chain,b as BigIntArithmetics,j as BaseDecimal,G as AssetValue,mn as ApproveMode,Ve as AGG_SWAP};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=10B3754A9D3A879764756E2164756E21
|