@swapkit/helpers 1.0.0-rc.115 → 1.0.0-rc.116
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 +9 -9
- package/package.json +2 -2
- package/src/helpers/__tests__/others.test.ts +1 -1
- package/src/helpers/memo.ts +5 -1
- package/src/helpers/others.ts +10 -2
- package/src/helpers/validators.ts +8 -3
- package/src/helpers/web3wallets.ts +8 -2
- package/src/modules/__tests__/assetValue.test.ts +2 -2
- package/src/modules/assetValue.ts +21 -9
- package/src/modules/swapKitError.ts +68 -19
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 oe=[{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"}],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 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"}],$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 M;(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"})(M||(M={}));var Q;(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"})(Q||(Q={}));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),V=Object.values(s),O;(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"})(O||(O={}));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],Ye=[s.Cosmos,s.THORChain,s.Binance,s.Maya,s.Kujira],Le=[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],W=V.reduce((n,e)=>{const t=bn.find((p)=>s[p]===e);if(t)n[e]=t;return n},{}),dn=V.reduce((n,e)=>{return n[e]=w[W[e]],n},{}),c=V.reduce((n,e)=>{return n[e]=M[W[e]],n},{}),be=V.reduce((n,e)=>{const t=`${W[e]}Hex`;return n[e]=w[t],n},{}),Ke=V.reduce((n,e)=>{return n[e]=Q[W[e]],n},{});var G;(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"})(G||(G={}));var Ae=[G.ETH_TO_ETH,G.AVAX_TO_AVAX,G.BSC_TO_BSC],Ve=[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],ge=[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 E={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 J;(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"})(J||(J={}));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 X;(function(o){o["BOND"]="BOND";o["DEPOSIT"]="+";o["LEAVE"]="LEAVE";o["NAME_REGISTER"]="~";o["UNBOND"]="UNBOND";o["WITHDRAW"]="-";o["OPEN_LOAN"]="$+";o["CLOSE_LOAN"]="$-"})(X||(X={}));var le=$.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 Kn=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:Kn,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"}))}),I=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 on=y.array(y.object({type:y.nativeEnum(h),amount:y.string(),asset:y.string(),chain:y.string(),protocol:y.nativeEnum(Y)})),Bn=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:I.optional(),affiliate:y.string({description:"Affiliate address"}).optional(),affiliateFee:y.number({description:"Affiliate fee"}).optional(),slipPercentage:y.number({description:"Slippage as a percentage"})}),Ie=Bn.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"})}),Hn=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()})),Vn=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(on),estimatedTime:y.optional(I),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(I),totalSlippageBps:y.number({description:"Total slippage in bps"}),legs:y.array(Vn),errorCode:y.optional(y.string()),warnings:wn,meta:Hn}),gn=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(on)}),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(I),totalSlippageBps:y.number({description:"Total slippage in bps"}),legs:y.array(gn),warnings:wn,meta:Hn}),ve=y.object({quoteId:y.string({description:"Quote ID"}),routes:y.array(Nn),error:y.optional(y.string({description:"Error message"}))});function jn(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(On.includes(t))return!0;const[p]=e.split("/");if(On.includes(p))return!0;throw new Error(`Invalid identifier: ${n}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`)}function rt(n){if(n.length>30)return!1;const e=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(e)}var On=[...Object.values(s),"TERRA"];function K({value:n,bigIntDecimal:e=N,decimal:t=N}){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 P=function(n){const t=`${typeof n==="number"?Fn.format(n):nn(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,N)},nn=function(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n},N=8,q=(n)=>10n**BigInt(n),g=(n)=>Math.log10(Number.parseFloat(n.toString()));class L{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new L({decimal:e,value:K({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return L.fromBigInt(n.getBaseValue("bigint")*q(t)/q(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:q(Math.max(_n(P(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||g(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/q(this.decimal||O.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=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||"",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("."),o=u.replace(/\B(?=(\d{3})+(?!\d))/g,a),_=u||x?u==="0"?`${Number.parseFloat(`0.${x}`)}`.replace(".",p):`${o}${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||N,p=Math.max(t,g(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,o=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`${a?"-":""}${x.slice(0,o)}.${_}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),p=Math.max(t,g(this.decimalMultiplier)),a=q(p),r=e.reduce((x,o)=>{const _=this.getBigIntValue(o,p);switch(n){case"add":return x+_;case"sub":return x-_;case"mul":return x*_/a;case"div":{if(_===0n)throw new RangeError("Division by zero");return x*a/_}default:return x}},this.bigIntValue*a/this.decimalMultiplier),u=K({bigIntDecimal:p,decimal:p,value:r});return new this.constructor({decimalMultiplier:q(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=P(n)||"0";this.bigIntValue=this.#p(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||g(t.decimalMultiplier):_n(P(t))}).filter(Boolean);return Math.max(...e,N)}#p(n,e){const t=e?q(e):this.decimalMultiplier,p=g(t),[a="",r=""]=n.split(".");return BigInt(`${a}${r.padEnd(p,"0")}`)}}var Fn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});class R extends L{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new R({decimal:e,value:K({value:n,bigIntDecimal:e,decimal:e})})}}function _t(n){const e=z.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=B.get(n.toUpperCase()),p=t?.decimal||await $n(F(n));if(!t)B.set(n.toUpperCase(),{identifier:n,decimal:p});return new z({decimal:p,value:A(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 Error("Invalid asset identifier");return new z({decimal:8,value:A(e,8),identifier:`${s.THORChain}.${t}/${p}`})},A=function(n,e){return typeof n==="bigint"?K({value:n,bigIntDecimal:e,decimal:e}):n},F=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 Error("Invalid asset identifier");const u=n.includes(".")&&!e?n:`${p?s.Maya:s.THORChain}.${r}`,[x,...o]=u.split("."),_=e?r:o.join("."),Z=_.split("-"),j=Z.length===1?Z[0]:Z.slice(0,-1).join("-"),b=Z.length===1?void 0:Z[Z.length-1];return{address:b?.toLowerCase(),chain:x,isGasAsset:pn({chain:x,symbol:_}),isSynthetic:e,symbol:(e?`${a}/`:"")+(b?`${j}-${b?.toLowerCase()??""}`:_),ticker:j}},B=new Map;class z extends L{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=F(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 Error("Invalid asset url");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}=F(n),a=B.get(n.toUpperCase());if(p)return tn(n,e);const{tax:r,decimal:u,identifier:x}=a||{decimal:O[t],identifier:n};return new z({tax:r,value:A(e,u),identifier:p?n:x,decimal:p?8:u})}static async fromStringWithBase(n,e=0,t=O.THOR){const p=L.shiftDecimals({value:R.fromBigInt(BigInt(e)),from:0,to:t}).getBaseValue("string");return(await z.fromString(n,e)).set(p)}static fromStringWithBaseSync(n,e=0,t=O.THOR){const{chain:p,isSynthetic:a}=F(n),r=B.get(n.toUpperCase());if(a)return tn(n,e);const{tax:u,decimal:x,identifier:o}=r||{decimal:O[p],identifier:n};return new z({tax:u,value:A(BigInt(e),t),identifier:o,decimal:x})}static fromIdentifierSync(n,e=0){const{chain:t,isSynthetic:p}=F(n),a=B.get(n);if(p)return tn(n,e);const{tax:r,decimal:u,identifier:x}=a||{decimal:O[t],identifier:n};return new z({tax:r,decimal:u,identifier:x,value:A(e,u)})}static fromChainOrSignature(n,e=0){const{decimal:t,identifier:p}=Gn(n);return new z({value:A(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)B.set(a.toUpperCase(),{identifier:a,decimal:"decimals"in u?u.decimals:O[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 Mn from"ky";function Xt({apiKey:n,...e}){Zn={...e,apiKey:n}}var zn=function(){const{apiKey:n,...e}=Zn;return Mn.create({...e,headers:{...Qn,...e.headers,"x-api-key":n}})},Zn={},Qn=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()}),v={...Jn(zn()),extend:(n)=>{const e=zn().extend(n);return{...Jn(e),extend:v.extend}}};async function qt(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 v.post(c[n],{headers:{accept:"*/*","content-type":"application/json","cache-control":"no-cache"},body:JSON.stringify({id:44,jsonrpc:"2.0",method:"eth_call",params:[{to:e.toLowerCase(),data:ln},"latest"]})});return Number.parseInt(BigInt(t||O[n]).toString())}catch(t){return console.error(t),O[n]}},Wn=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await v.post(`${c[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),O[s.Radix]}},En=(n)=>{if(n===s.Ethereum)return O.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}):O.ETH},In=(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()}):O.AVAX},Pn=(n)=>{if(n===s.BinanceSmartChain)return O.BSC;return O.BSC},vn=(n)=>{if(n===s.Radix)return O.XRD;return Wn({symbol:n})},$n=({chain:n,symbol:e})=>{switch(n){case s.Ethereum:return En(e);case s.Avalanche:return In(e);case s.BinanceSmartChain:return Pn(e);case s.Radix:return vn(e);default:return O[n]}},Rt=({chain:n})=>{switch(n){case s.Arbitrum:case s.Optimism:return z.fromStringSync(`${n}.ETH`);case s.Maya:return z.fromStringSync(`${n}.CACAO`);case s.Cosmos:return z.fromStringSync(`${n}.ATOM`);case s.BinanceSmartChain:return z.fromStringSync(`${n}.BNB`);case s.THORChain:return z.fromStringSync(`${n}.RUNE`);default:return z.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:O[n]};case s.Optimism:return{identifier:`${s.Optimism}.ETH`,decimal:O[n]};case s.Cosmos:return{identifier:"GAIA.ATOM",decimal:O[n]};case s.THORChain:return{identifier:"THOR.RUNE",decimal:O[n]};case s.BinanceSmartChain:return{identifier:"BSC.BNB",decimal:O[n]};case s.Maya:return{identifier:"MAYA.CACAO",decimal:O.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:O.XRD};default:return{identifier:`${n}.${n}`,decimal:O[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"}},Yt=(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}},Cn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),Un=(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},Lt=(n)=>n.filter(({chain:e,value:t,symbol:p})=>{const a=`${e}.${p}`;return!Cn.test(a)&&Un(a)&&t!=="0"});function Bt({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(E[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(E[n],e)}return sn(E[n],e)}function At(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=k(n),a=k(e),r=k(t),u=p.mul(r),x=a.mul(a).mul(2),o=a.mul(p).mul(2),_=p.mul(p),Z=a.mul(a).mul(a);return u.mul(x.sub(o).add(_)).div(Z)}function cn({liquidityUnits:n,poolUnits:e,assetDepth:t}){const p=k(n),a=k(e),r=k(t),u=p.mul(r),x=a.mul(a).mul(2),o=a.mul(p).mul(2),_=p.mul(p),Z=u.mul(x.sub(o).add(_)),j=a.mul(a).mul(a);return Z.div(j)}function Ft({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:p}){return Sn({runeDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}function Mt({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:p}){return cn({assetDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}var k=function(n){return R.fromBigInt(BigInt(n),O.THOR)};function Dn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p}){return{assetAmount:k(p).mul(n).div(e),runeAmount:k(t).mul(n).div(e)}}function Qt({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p,percent:a}){return Object.fromEntries(Object.entries(Dn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p})).map(([r,u])=>[r,u.mul(a)]))}function lt({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:p,runeAmount:a,assetAmount:r}){const u=new R({value:n,decimal:8}),x=new R({value:t,decimal:8}),o=new R({value:e,decimal:8}),_=new R({value:a,decimal:8}),Z=new R({value:r,decimal:8}),j=_.mul(x),b=Z.mul(u),Yn=_.mul(Z),Ln=u.mul(x),qn=o.mul(j.add(b.add(Yn.mul(2)))),H=j.add(b.add(Ln.mul(2))),yn=qn.div(H),S=k(p).add(yn);if(yn.getBaseValue("number")===0)return S.div(o).getBaseValue("number");const i=o.add(S);return S.div(i).getBaseValue("number")}function Wt({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:p}){if(n==="0"||e==="0"||t==="0"||p==="0")return 0;const a=k(t),r=k(p),u=k(e),x=k(n),o=u.mul(a).sub(r.mul(x)),_=r.mul(x).add(a.mul(r));return Math.abs(o.div(_).getBaseValue("number"))}var C=function(n,{affiliateAddress:e,affiliateBasisPoints:t}){const p=e?`:${e}:${t||0}`:"";return`${n}${p}`},hn=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 ne({type:n,address:e}){return`${n}:${e}`}function ee({address:n,unbondAmount:e}){return`${X.UNBOND}:${n}:${e}`}function te({name:n,chain:e,address:t,owner:p}){const a=`${X.NAME_REGISTER}:${n}:${e}:${t}`,r=p?`:${p}`:"";return`${a}${r}`}function pe(n,{asset:e,address:t,minAmount:p,...a}){const r=`${n}:${e}:${t}`,u=p?`:${p}`:"";return C(`${r}${u}`,a)}function se({chain:n,symbol:e,...t}){return C(`${X.DEPOSIT}:${n}/${e}`,t)}function ye({chain:n,symbol:e,address:t}){const p=hn({chain:n,symbol:e}),a=t?`:${t}`:"";return`${X.DEPOSIT}:${p}${a}`}function ae({chain:n,symbol:e,basisPoints:t,...p}){return C(`${X.WITHDRAW}:${n}/${e}:${t}`,p)}function de({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 C(`${X.WITHDRAW}:${n}.${u}:${p}${x}`,r)}var vt=(n,e)=>{switch(n){case X.LEAVE:case X.BOND:{const{address:t}=e;return ne({type:n,address:t})}case X.UNBOND:{const{address:t,unbondAmount:p}=e;return ee({address:t,unbondAmount:p})}case X.NAME_REGISTER:return te(e);case X.OPEN_LOAN:case X.CLOSE_LOAN:return pe(n,e);case X.DEPOSIT:{const{chain:t,symbol:p,address:a,singleSide:r}=e;if(r)return se({chain:t,symbol:p});return ye({chain:t,symbol:p,address:a})}case X.WITHDRAW:{const{chain:t,ticker:p,symbol:a,basisPoints:r,targetAssetString:u,singleSide:x}=e;if(x)return ae({chain:t,symbol:a,basisPoints:r});return de({chain:t,ticker:p,symbol:a,basisPoints:r,targetAsset:u})}default:throw new Error(`Unsupported memo type: ${n}`)}};var ue={core_wallet_connection_not_found:10001,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_chain_halted:10099,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_ledger_connection_error:20001,wallet_ledger_connection_claimed:20002,wallet_ledger_get_address_error:20003,wallet_ledger_device_not_found:20004,wallet_ledger_device_locked:20005,wallet_phantom_not_found:20101,wallet_xdefi_not_found:20201,wallet_xdefi_failed_to_add_or_switch_network:20202,chainflip_channel_error:30001,chainflip_broker_recipient_error:30002,chainflip_unknown_asset:30003,thorchain_chain_halted:40001,thorchain_trading_halted:40002,api_v2_invalid_response:50001,helpers_number_different_decimals:99001};class U extends Error{constructor(n,e){if(e)console.error(e,{stack:e?.stack,message:e?.message});super(n,{cause:{code:ue[n],message:n}});Object.setPrototypeOf(this,U.prototype)}}function Dt(n){if(n<0)throw new Error("Invalid number of years");return 10+n}function ht(n){if(n<0)throw new Error("Invalid number of year");return Math.round((10+n*1.0512)*10000000000)/10000000000}function np([n,e,t,p,a]){return`m/${n}'/${e}'/${t}'/${p}${typeof a!=="number"?"":`/${a}`}`}function ep(n,e){try{return n()}catch(t){if(e)throw new U(e,t);return console.error(t)}}var tp=(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 Tp(){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 Error(`Failed to switch network: ${a}`)}return n(...p)},Rn=({provider:n,params:e,method:t})=>{if(!n?.send)throw new Error("Provider not found");const p=e?Array.isArray(e)?e:[e]:[];return n.send(t,p)},yp=({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}},ap=(n,e)=>Rn({provider:n,method:"wallet_addEthereumChain",params:[e]}),xe=(n,e=w.EthereumHex)=>Rn({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),dp=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},up=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:p,selectedProvider:a}=window?.ethereum||{};if(n)return J.TRUSTWALLET_WEB;if(e)return J.BRAVE;if(p&&a?.isCoinbaseWallet)return J.COINBASE_WEB;if(t)J.XDEFI;return J.METAMASK},rp=(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(J.METAMASK);if(e)r.push(J.XDEFI);if(t)r.push(J.BRAVE);if(p)r.push(J.TRUSTWALLET_WEB);if(a)r.push(J.COINBASE_WEB);if(fe())r.push(J.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},xp=()=>typeof window.ethereum!=="undefined";export{ep as wrapWithThrow,Te as wrapMethodWithNetworkSwitch,rt as validateTNS,jn as validateIdentifier,xe as switchEVMWalletNetwork,Xt as setRequestClientConfig,yp as prepareNetworkSwitch,fe as okxMobileEnabled,me as listWeb3EVMWallets,xp as isWeb3Detected,pn as isGasAsset,rp as isDetected,At as getWalletFormatFor,Dt as getTHORNameCost,Qt as getSymmetricWithdraw,Dn as getSymmetricPoolShare,_t as getMinAmountByChain,de as getMemoForWithdraw,ee as getMemoForUnbond,ae as getMemoForSaverWithdraw,se as getMemoForSaverDeposit,te as getMemoForNameRegister,pe as getMemoForLoan,ne as getMemoForLeaveAndBond,ye as getMemoForDeposit,vt as getMemoFor,ht as getMAYANameCost,Wt as getLiquiditySlippage,Rt as getGasAsset,lt as getEstimatedPoolShare,up as getETHDefaultWallet,Tp as getEIP6963Wallets,Bt as getDerivationPathFor,$n as getDecimal,Gn as getCommonAssetInfo,tp as getChainIdentifier,Ft as getAsymmetricRuneWithdrawAmount,Sn as getAsymmetricRuneShare,Mt as getAsymmetricAssetWithdrawAmount,cn as getAsymmetricAssetShare,Xn as getAssetType,K as formatBigIntToSafeValue,qt as findAssetBy,Lt as filterAssets,oe as erc20ABI,np as derivationPathToString,Qn as defaultRequestHeaders,Yt as assetFromString,ap as addEVMWalletNetwork,dp as addAccountsChangedCallback,D as WarningCodeEnum,J as WalletOption,Re as UTXOChains,Le as TCSupportedChains,_e as TCEthereumVaultAbi,Ge as TCBscDepositABI,$e as TCAvalancheDepositABI,R as SwapKitNumber,U as SwapKitError,ke as SubstrateChains,ge as SWAP_OUT,Ve as SWAP_IN,wn as RouteQuoteWarningSchema,Pe as RouteQuoteSchema,Hn as RouteQuoteMetadataSchema,An as RouteQuoteMetadataAssetSchema,Vn as RouteQuoteLegSchema,Ie as RouteLegWithoutAddressesSchema,Bn as RouteLegSchema,v as RequestClient,M as RPCUrl,ve as QuoteResponseSchema,le as QuoteRequestSchema,G as QuoteMode,Y as ProviderName,E as NetworkDerivationPath,X as MemoType,we as MayaEthereumVaultAbi,Oe as MayaArbitrumVaultAbi,qe as MAYASupportedChains,Tn as LedgerErrorCode,on as FeesSchema,h as FeeTypeEnum,xn as FeeOption,Q as ExplorerUrl,I as EstimatedTimeSchema,fn as EVMTransactionDetailsSchema,Kn as EVMTransactionDetailsParamsSchema,l as EVMChains,rn as DerivationPath,Ye as CosmosChains,un as ContractAddress,c as ChainToRPC,be as ChainToHexChainId,Ke as ChainToExplorerUrl,dn as ChainToChainId,Ze as ChainIdToChain,w as ChainId,s as Chain,L as BigIntArithmetics,O as BaseDecimal,z 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 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};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=B7F3033E62BB137664756E2164756E21
|