@swapkit/helpers 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3 -3
- package/dist/index.js.map +8 -8
- package/package.json +7 -8
- package/src/helpers/__tests__/memo.test.ts +35 -0
- package/src/helpers/asset.ts +1 -1
- package/src/helpers/memo.ts +24 -11
- package/src/modules/__tests__/assetValue.test.ts +1 -1
- package/src/modules/assetValue.ts +1 -1
- package/src/modules/requestClient.ts +39 -22
- package/src/types/chains.ts +1 -1
- package/src/types/sdk.ts +2 -0
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var nn=((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 $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 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 Xe=[{inputs:[{internalType:"address",name:"rune",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[],name:"RUNE",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"aggregator",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Ge=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],ze=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var P;((C)=>{C.Arbitrum="https://arb1.arbitrum.io/rpc";C.Avalanche="https://node-router.thorswap.net/avalanche-c";C.BinanceSmartChain="https://bsc-dataseed.binance.org";C.Bitcoin="https://node-router.thorswap.net/bitcoin";C.BitcoinCash="https://node-router.thorswap.net/bitcoin-cash";C.Chainflip="wss://mainnet-archive.chainflip.io";C.Cosmos="https://node-router.thorswap.net/cosmos/rpc";C.Dash="https://node-router.thorswap.net/dash";C.Dogecoin="https://node-router.thorswap.net/dogecoin";C.Ethereum="https://node-router.thorswap.net/ethereum";C.Kujira="https://rpc-kujira.synergynodes.com/";C.Litecoin="https://node-router.thorswap.net/litecoin";C.Maya="https://tendermint.mayachain.info";C.MayaStagenet="https://stagenet.tendermint.mayachain.info";C.Optimism="https://mainnet.optimism.io";C.Polkadot="wss://rpc.polkadot.io";C.Polygon="https://polygon-rpc.com";C.Radix="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";C.THORChain="https://rpc.thorswap.net";C.THORChainStagenet="https://stagenet-rpc.ninerealms.com";C.Solana="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(P||={});var E;((r)=>{r.Arbitrum="https://arbiscan.io";r.Avalanche="https://snowtrace.io";r.BinanceSmartChain="https://bscscan.com";r.Bitcoin="https://blockchair.com/bitcoin";r.BitcoinCash="https://www.blockchair.com/bitcoin-cash";r.Chainflip="https://explorer.polkascan.io/polkadot";r.Cosmos="https://www.mintscan.io/cosmos";r.Dash="https://blockchair.com/dash";r.Dogecoin="https://blockchair.com/dogecoin";r.Ethereum="https://etherscan.io";r.Kujira="https://finder.kujira.network/kaiyo-1";r.Litecoin="https://blockchair.com/litecoin";r.Maya="https://www.mayascan.org";r.Optimism="https://optimistic.etherscan.io";r.Polkadot="https://polkadot.subscan.io";r.Polygon="https://polygonscan.com";r.Radix="https://dashboard.radixdlt.com";r.THORChain="https://runescan.io";r.Solana="https://solscan.io"})(E||={});var _;((r)=>{r.Arbitrum="ARB";r.Avalanche="AVAX";r.BinanceSmartChain="BSC";r.Bitcoin="BTC";r.BitcoinCash="BCH";r.Cosmos="GAIA";r.Dash="DASH";r.Dogecoin="DOGE";r.Ethereum="ETH";r.Kujira="KUJI";r.Litecoin="LTC";r.Maya="MAYA";r.Optimism="OP";r.Polkadot="DOT";r.Chainflip="FLIP";r.Polygon="MATIC";r.Radix="XRD";r.THORChain="THOR";r.Solana="SOL"})(_||={});var g;((o)=>{o.Arbitrum="42161";o.ArbitrumHex="0xa4b1";o.Avalanche="43114";o.AvalancheHex="0xa86a";o.BinanceSmartChain="56";o.BinanceSmartChainHex="0x38";o.Bitcoin="bitcoin";o.BitcoinCash="bitcoincash";o.Chainflip="chainflip";o.Cosmos="cosmoshub-4";o.Dash="dash";o.Dogecoin="dogecoin";o.Kujira="kaiyo-1";o.Ethereum="1";o.EthereumHex="0x1";o.Litecoin="litecoin";o.Maya="mayachain-mainnet-v1";o.MayaStagenet="mayachain-stagenet-v1";o.Optimism="10";o.OptimismHex="0xa";o.Polkadot="polkadot";o.Polygon="137";o.PolygonHex="0x89";o.Radix="radix-mainnet";o.THORChain="thorchain-mainnet-v1";o.THORChainStagenet="thorchain-stagenet-v2";o.Solana="solana"})(g||={});var he={["0xa4b1"]:"ARB",["42161"]:"ARB",["0xa86a"]:"AVAX",["43114"]:"AVAX",["0x38"]:"BSC",["56"]:"BSC",["bitcoincash"]:"BCH",["bitcoin"]:"BTC",["chainflip"]:"FLIP",["cosmoshub-4"]:"GAIA",["dash"]:"DASH",["dogecoin"]:"DOGE",["0x1"]:"ETH",["kaiyo-1"]:"KUJI",["1"]:"ETH",["litecoin"]:"LTC",["mayachain-stagenet-v1"]:"MAYA",["mayachain-mainnet-v1"]:"MAYA",["0xa"]:"OP",["10"]:"OP",["polkadot"]:"DOT",["0x89"]:"MATIC",["137"]:"MATIC",["radix-mainnet"]:"XRD",["thorchain-stagenet-v2"]:"THOR",["thorchain-mainnet-v1"]:"THOR",["solana"]:"SOL"},zn=Object.keys(_),M=Object.values(_),w;((u)=>{u[u.ARB=18]="ARB";u[u.AVAX=18]="AVAX";u[u.BCH=8]="BCH";u[u.BSC=18]="BSC";u[u.BTC=8]="BTC";u[u.DASH=8]="DASH";u[u.DOGE=8]="DOGE";u[u.DOT=10]="DOT";u[u.ETH=18]="ETH";u[u.FLIP=18]="FLIP";u[u.GAIA=6]="GAIA";u[u.KUJI=6]="KUJI";u[u.LTC=8]="LTC";u[u.MATIC=18]="MATIC";u[u.MAYA=10]="MAYA";u[u.OP=18]="OP";u[u.SOL=9]="SOL";u[u.THOR=8]="THOR";u[u.XRD=18]="XRD";u[u.ZEC=8]="ZEC"})(w||={});var Me=["DOT","FLIP"],N=["ETH","AVAX","BSC","ARB","OP","MATIC"],be=["BTC","BCH","DASH","DOGE","LTC"],Ye=["GAIA","THOR","MAYA","KUJI"],Le=["AVAX","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"],Ae=["ARB","DASH","ETH","KUJI","MAYA","THOR"],K=M.reduce((n,e)=>{const t=zn.find((a)=>_[a]===e);if(t)n[e]=t;return n},{}),en=M.reduce((n,e)=>{return n[e]=g[K[e]],n},{}),v=M.reduce((n,e)=>{return n[e]=P[K[e]],n},{}),qe=M.reduce((n,e)=>{const t=`${K[e]}Hex`;return n[e]=g[t],n},{}),Qe=M.reduce((n,e)=>{return n[e]=E[K[e]],n},{});var Jn;((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"})(Jn||={});var Ne=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],Ke=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],Ve=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var Zn;((d)=>{d.ARB="0x0000000000000000000000000000000000000000";d.AVAX="0x0000000000000000000000000000000000000000";d.ETH="0x0000000000000000000000000000000000000000";d.BSC="0x0000000000000000000000000000000000000000";d.MATIC="0x0000000000000000000000000000000000001010";d.OP="0x4200000000000000000000000000000000000042"})(Zn||={});var kn;((r)=>{r.ARB="m/44'/60'/0'/0";r.AVAX="m/44'/60'/0'/0";r.BCH="m/44'/145'/0'/0";r.BSC="m/44'/60'/0'/0";r.BTC="m/84'/0'/0'/0";r.DASH="m/44'/5'/0'/0";r.DOGE="m/44'/3'/0'/0";r.DOT="////";r.ETH="m/44'/60'/0'/0";r.FLIP="////";r.GAIA="m/44'/118'/0'/0";r.KUJI="m/44'/118'/0'/0";r.LTC="m/84'/2'/0'/0";r.MATIC="m/44'/60'/0'/0";r.MAYA="m/44'/931'/0'/0";r.OP="m/44'/60'/0'/0";r.SOL="m/44'/501'/0'/0";r.THOR="m/44'/931'/0'/0";r.XRD="////"})(kn||={});var U={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],SOL:[44,501,0,0,0],THOR:[44,931,0,0,0],XRD:[0,0,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var tn;((u)=>{u.BRAVE="BRAVE";u.COINBASE_MOBILE="COINBASE_MOBILE";u.COINBASE_WEB="COINBASE_WEB";u.EIP6963="EIP6963";u.EXODUS="EXODUS";u.KEEPKEY="KEEPKEY";u.KEPLR="KEPLR";u.KEYSTORE="KEYSTORE";u.LEDGER="LEDGER";u.METAMASK="METAMASK";u.OKX="OKX";u.OKX_MOBILE="OKX_MOBILE";u.PHANTOM="PHANTOM";u.POLKADOT_JS="POLKADOT_JS";u.RADIX_WALLET="RADIX_WALLET";u.TREZOR="TREZOR";u.TALISMAN="TALISMAN";u.TRUSTWALLET_WEB="TRUSTWALLET_WEB";u.WALLETCONNECT="WALLETCONNECT";u.XDEFI="XDEFI"})(tn||={});var hn;((a)=>{a[a.NoError=36864]="NoError";a[a.LockedDevice=21781]="LockedDevice";a[a.TC_NotFound=65535]="TC_NotFound"})(hn||={});import{z as m} from"zod";var Mn;((a)=>{a.Average="average";a.Fast="fast";a.Fastest="fastest"})(Mn||={});var bn;((t)=>{t.Approve="approve";t.CheckOnly="checkOnly"})(bn||={});var an;((i)=>{i.NAME_REGISTER="~";i.BOND="BOND";i.DEPOSIT="+";i.LEAVE="LEAVE";i.UNBOND="UNBOND";i.WITHDRAW="-";i.OPEN_LOAN="$+";i.CLOSE_LOAN="$-"})(an||={});var Pe=m.object({sellAsset:m.string({description:"Asset to sell"}),buyAsset:m.string({description:"Asset to buy"}),sellAmount:m.number({description:"Amount of asset to sell"}).refine((n)=>n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:m.optional(m.array(m.string({description:"List of providers to use"}))),sourceAddress:m.optional(m.string({description:"Address to send asset from"})),destinationAddress:m.optional(m.string({description:"Address to send asset to"})),slippage:m.optional(m.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:m.optional(m.string({description:"Affiliate thorname"})),affiliateFee:m.optional(m.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:m.optional(m.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:m.optional(m.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:m.optional(m.boolean({description:"Disable security checks"}))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]});import{z as p} from"zod";var pn;((t)=>{t.highSlippage="highSlippage";t.highPriceImpact="highPriceImpact"})(pn||={});var Yn=p.array(p.union([p.string(),p.number(),p.array(p.string()),p.object({from:p.string(),value:p.string()}).describe("Parameters to pass to the contract method")])),yn=p.object({contractAddress:p.string({description:"Address of the contract to interact with"}),contractMethod:p.string({description:"Name of the method to call"}),contractParams:Yn,contractParamNames:p.array(p.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:p.optional(p.string({description:"Address of the token to approve spending of"})),approvalSpender:p.optional(p.string({description:"Address of the spender to approve"}))}),V=p.object({inbound:p.optional(p.number({description:"Time to receive inbound asset in seconds"})),swap:p.optional(p.number({description:"Time to swap assets in seconds"})),outbound:p.optional(p.number({description:"Time to receive outbound asset in seconds"})),total:p.number({description:"Total time in seconds"})}),z;((f)=>{f.CHAINFLIP="CHAINFLIP";f.TRADERJOE_V1="TRADERJOE_V1";f.PANGOLIN_V1="PANGOLIN_V1";f.UNISWAP_V2="UNISWAP_V2";f.THORCHAIN="THORCHAIN";f.THORCHAIN_STREAMING="THORCHAIN_STREAMING";f.MAYACHAIN="MAYACHAIN";f.ONEINCH="ONEINCH";f.SUSHISWAP_V2="SUSHISWAP_V2";f.WOOFI_V2="WOOFI_V2";f.PANCAKESWAP="PANCAKESWAP"})(z||={});var sn;((d)=>{d.LIQUIDITY="liquidity";d.NETWORK="network";d.INBOUND="inbound";d.OUTBOUND="outbound";d.AFFILIATE="affiliate";d.TAX="tax"})(sn||={});var dn=p.array(p.object({type:p.nativeEnum(sn),amount:p.string(),asset:p.string(),chain:p.string(),protocol:p.nativeEnum(z)})),Ln=p.object({sellAsset:p.string({description:"Asset to sell"}),buyAsset:p.string({description:"Asset to buy"}),provider:p.nativeEnum(z),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),estimatedTime:V.optional(),affiliate:p.string({description:"Affiliate address"}).optional(),affiliateFee:p.number({description:"Affiliate fee"}).optional(),slipPercentage:p.number({description:"Slippage as a percentage"})}),Ue=Ln.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),An=p.object({name:p.string({description:"Asset name"}),price:p.number({description:"Price in USD"}),image:p.string({description:"Asset image"})}),rn=p.object({priceImpact:p.number({description:"Price impact"}),assets:p.optional(p.array(An))}),un=p.array(p.object({code:p.nativeEnum(pn),display:p.string(),tooltip:p.string().optional()})),qn=p.object({sellAsset:p.string({description:"Asset to sell"}),buyAsset:p.string({description:"Asset to buy"}),provider:p.nativeEnum(z),buyAmount:p.string({description:"Amount of asset to buy"}),buyAmountMaxSlippage:p.string({description:"Amount of asset to buy"}),sellAmount:p.string({description:"Amount of asset to sell"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),slippageBps:p.number({description:"Slippage in bps"}),targetAddress:p.optional(p.string({description:"Target address for contract call or transfer address"})),inboundAddress:p.optional(p.string({description:"Inbound address"})),routerAddress:p.optional(p.string({description:"Inbound address"})),contractMethod:p.optional(p.string({description:"Contract method"})),fees:p.optional(dn),estimatedTime:p.optional(V),memo:p.optional(p.string({description:"Memo"})),expiration:p.optional(p.string({description:"Expiration"}))}),Se=p.object({providers:p.array(p.nativeEnum(z)),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"sell amount"}),buyAsset:p.string({description:"Asset to buy"}),expectedBuyAmount:p.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:p.string({description:"Expected Buy amount max slippage"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),targetAddress:p.optional(p.string({description:"Target address"})),routerAddress:p.optional(p.string({description:"Router address"})),inboundAddress:p.optional(p.string({description:"Inbound address"})),expiration:p.optional(p.string({description:"Expiration"})),memo:p.optional(p.string({description:"Memo"})),evmTransactionDetails:p.optional(yn),routePathArray:p.optional(p.array(p.string())),estimatedTime:p.optional(V),totalSlippageBps:p.number({description:"Total slippage in bps"}),legs:p.array(qn),errorCode:p.optional(p.string()),warnings:un,meta:rn}),Qn=p.object({provider:p.nativeEnum(z),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"Sell amount"}),buyAsset:p.string({description:"Asset to buy"}),buyAmount:p.string({description:"Buy amount"}),buyAmountMaxSlippage:p.string({description:"Buy amount max slippage"}),fees:p.optional(dn)}),gn=p.object({providers:p.array(p.nativeEnum(z)),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"sell amount"}),buyAsset:p.string({description:"Asset to buy"}),expectedBuyAmount:p.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:p.string({description:"Expected Buy amount max slippage"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),targetAddress:p.optional(p.string({description:"Target address"})),expiration:p.optional(p.string({description:"Expiration"})),memo:p.optional(p.string({description:"Memo"})),evmTransactionDetails:p.optional(yn),estimatedTime:p.optional(V),totalSlippageBps:p.number({description:"Total slippage in bps"}),legs:p.array(Qn),warnings:un,meta:rn}),ce=p.object({quoteId:p.string({description:"Quote ID"}),routes:p.array(gn),error:p.optional(p.string({description:"Error message"}))});import{red as Cn,yellow as Fn} from"picocolors";var Nn={core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_plugin_not_found:10006,core_plugin_swap_not_found:10007,core_approve_asset_target_invalid:10008,core_explorer_unsupported_chain:10009,core_verify_message_not_supported:10010,core_chain_halted:10099,core_wallet_connection_not_found:10100,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_wallet_keepkey_not_installed:10109,core_wallet_talisman_not_installed:10110,core_wallet_not_keypair_wallet:10111,core_wallet_sign_message_not_supported:10110,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,core_transaction_deposit_error:10301,core_transaction_create_liquidity_base_error:10302,core_transaction_create_liquidity_asset_error:10303,core_transaction_create_liquidity_invalid_params:10304,core_transaction_add_liquidity_invalid_params:10305,core_transaction_add_liquidity_base_address:10306,core_transaction_add_liquidity_base_error:10307,core_transaction_add_liquidity_asset_error:10308,core_transaction_withdraw_error:10309,core_transaction_deposit_to_pool_error:10310,core_transaction_deposit_insufficient_funds_error:10311,core_transaction_deposit_gas_error:10312,core_transaction_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,wallet_connection_rejected_by_user:20000,wallet_missing_api_key:20001,wallet_chain_not_supported:20002,wallet_missing_params:20003,wallet_provider_not_found:20004,wallet_failed_to_add_or_switch_network:20005,wallet_ledger_connection_error:20101,wallet_ledger_connection_claimed:20102,wallet_ledger_get_address_error:20103,wallet_ledger_device_not_found:20104,wallet_ledger_device_locked:20105,wallet_phantom_not_found:20201,wallet_xdefi_not_found:20301,wallet_xdefi_send_transaction_no_address:20302,wallet_xdefi_contract_address_not_provided:20303,wallet_xdefi_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,wallet_polkadot_not_found:20701,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30100,chainflip_broker_recipient_error:30101,chainflip_broker_register:30102,chainflip_broker_tx_error:30103,chainflip_broker_withdraw:30104,chainflip_broker_fund_only_flip_supported:30105,chainflip_broker_fund_invalid_address:30106,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_swapin_router_required:40100,thorchain_swapin_vault_required:40101,thorchain_swapin_memo_required:40102,thorchain_swapin_token_required:40103,api_v2_invalid_response:50001,toolbox_cosmos_signer_not_defined:90101,toolbox_cosmos_no_accounts_found:90102,toolbox_cosmos_verify_signature_no_pubkey:90103,toolbox_evm_no_abi_fragment:90201,toolbox_evm_no_signer:90202,toolbox_evm_no_signer_address:90203,toolbox_evm_no_from_address:90204,toolbox_evm_no_contract_address:90205,toolbox_evm_no_fee_data:90206,toolbox_evm_no_gas_price:90207,toolbox_evm_no_to_address:90208,toolbox_evm_invalid_gas_asset_address:90209,toolbox_evm_provider_not_eip1193_compatible:90210,toolbox_evm_error_estimating_gas_limit:90211,toolbox_evm_error_sending_transaction:90212,helpers_invalid_number_different_decimals:99000,helpers_invalid_number_of_years:99001,helpers_invalid_identifier:99002,helpers_invalid_asset_url:99003,helpers_invalid_asset_identifier:99004,helpers_invalid_memo_type:99005,helpers_failed_to_switch_network:99103,helpers_not_found_provider:99200,not_implemented:99999};class R extends Error{static ErrorCode=Nn;constructor(n,e){const t=typeof n==="string",a=t?n:n.errorKey;if(e)console.error(e,{stack:e?.stack,message:e?.message});super(a,{cause:{code:R.ErrorCode[a],message:`${a}${t?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,R.prototype)}}function Ct(n){if(n<0)throw new R({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function lt(n){if(n<0)throw new R({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return Math.round((10+n*1.0512)*10000000000)/10000000000}function Ht(n,e){try{return n()}catch(t){if(e)throw new R(e,t);return console.error(t)}}function Rt(n){switch(n){case"THOR":return`${n}.RUNE`;case"GAIA":return`${n}.ATOM`;case"BSC":return`${n}`;default:return`${n}.${n}`}}function xn(n,e){if(!Kn&&n){if(Tn.has(e))return;Tn.add(e),console.warn(e)}}var Kn=["production","test"].includes("development"),Tn=new Set;function mn(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(on.includes(t))return!0;const[a]=e.split("/");if(on.includes(a))return!0;throw new R({errorKey:"helpers_invalid_identifier",info:{message:`Invalid identifier: ${n}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`,identifier:n}})}function _t(n){if(n.length>30)return!1;const e=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(e)}var on=[...Object.values(_),"TERRA"];function Z({value:n,bigIntDecimal:e=Y,decimal:t=Y}){if(t===0)return n.toString();const a=n<0n;let y=n.toString().substring(a?1:0);const s=t-(y.length-1);if(s>0)y="0".repeat(s)+y;const d=y.length-t;let T=y.slice(-t);if(Number.parseInt(T[e]||"0")>=5)T=`${T.substring(0,e-1)}${(Number.parseInt(T[e-1]||"0")+1).toString()}`;else T=T.substring(0,e);return`${a?"-":""}${y.slice(0,d)}.${T}`.replace(/\.?0*$/,"")}var F=function(n){const t=`${typeof n==="number"?Vn.format(n):S(n)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]||"0"},fn=function(n){const e=n.split(".")[1]?.length||0;return Math.max(e,Y)},S=function(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n},Y=8,J=(n)=>10n**BigInt(n),b=(n)=>Math.log10(Number.parseFloat(n.toString()));class G{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new G({decimal:e,value:Z({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return G.fromBigInt(n.getBaseValue("bigint")*J(t)/J(e),t)}constructor(n){const e=S(n),t=typeof n==="object";this.decimal=t?n.decimal:void 0,this.decimalMultiplier=t&&"decimalMultiplier"in n?n.decimalMultiplier:J(Math.max(fn(F(e)),this.decimal||0)),this.#p(e)}set(n){return new this.constructor({decimal:this.decimal,value:n,identifier:this.toString()})}add(...n){return this.#e("add",...n)}sub(...n){return this.#e("sub",...n)}mul(...n){return this.#e("mul",...n)}div(...n){return this.#e("div",...n)}gt(n){return this.#n("gt",n)}gte(n){return this.#n("gte",n)}lt(n){return this.#n("lt",n)}lte(n){return this.#n("lte",n)}eqValue(n){return this.#n("eqValue",n)}getValue(n){const e=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||b(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/J(this.decimal||8),t=this.bigIntValue/e;switch(n){case"number":return Number(t);case"string":return t.toString();case"bigint":return t}}getBigIntValue(n,e){if(!e&&typeof n==="object")return n.bigIntValue;const t=S(n),a=F(t);if(a==="0"||a==="undefined")return 0n;return this.#a(a,e)}toSignificant(n=6){const[e,t]=this.getValue("string").split("."),a=e||"",y=t||"";if((Number.parseInt(a)?a.length+y.length:y.length)<=n)return this.getValue("string");if(a.length>=n)return a.slice(0,n).padEnd(a.length,"0");if(Number.parseInt(a))return`${a}.${y.slice(0,n-a.length)}`.padEnd(n-a.length,"0");const d=Number.parseInt(y),T=`${d}`.slice(0,n);return`0.${T.padStart(y.length-`${d}`.length+T.length,"0")}`}toFixed(n=6){const[e,t]=this.getValue("string").split("."),a=e||"",y=t||"";if(Number.parseInt(a))return`${a}.${y.slice(0,n)}`.padEnd(n,"0");const s=Number.parseInt(y),d=`${s}`.slice(0,n);return`0.${d.padStart(y.length-`${s}`.length+d.length,"0")}`}toAbbreviation(n=2){const e=this.getValue("number"),t=["","K","M","B","T","Q","Qi","S"],a=Math.floor(Math.log10(Math.abs(e))/3),y=t[a];if(!y)return this.getValue("string");const s=10**(a*3);return`${(e/s).toFixed(n)}${y}`}toCurrency(n="$",{currencyPosition:e="start",decimal:t=2,decimalSeparator:a=".",thousandSeparator:y=","}={}){const s=this.getValue("number"),[d="",T=""]=s.toFixed(6).split("."),i=d.replace(/\B(?=(\d{3})+(?!\d))/g,y),x=d||T?d==="0"?`${Number.parseFloat(`0.${T}`)}`.replace(".",a):`${i}${Number.parseInt(T)?`${a}${T.slice(0,t)}`:""}`:"0.00";return`${e==="start"?n:""}${x}${e==="end"?n:""}`}formatBigIntToSafeValue(n,e){const t=e||this.decimal||Y,a=Math.max(t,b(this.decimalMultiplier)),y=n<0n,s=n.toString().substring(y?1:0),d=a-(s.length-1),T=d>0?"0".repeat(d)+s:s,i=T.length-a;let x=T.slice(-a);if(Number.parseInt(x[t]||"0")>=5)x=`${x.substring(0,t-1)}${(Number.parseInt(x[t-1]||"0")+1).toString()}`;else x=x.substring(0,t);return`${y?"-":""}${T.slice(0,i)}.${x}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),a=Math.max(t,b(this.decimalMultiplier)),y=J(a),s=e.reduce((T,i)=>{const x=this.getBigIntValue(i,a);switch(n){case"add":return T+x;case"sub":return T-x;case"mul":return T*x/y;case"div":{if(x===0n)throw new RangeError("Division by zero");return T*y/x}default:return T}},this.bigIntValue*y/this.decimalMultiplier),d=Z({bigIntDecimal:a,decimal:a,value:s});return new this.constructor({decimalMultiplier:J(a),decimal:this.decimal,value:d,identifier:this.toString()})}#n(n,...e){const t=this.#t(this,...e),a=this.getBigIntValue(e[0]||"0",t),y=this.getBigIntValue(this,t);switch(n){case"gt":return y>a;case"gte":return y>=a;case"lt":return y<a;case"lte":return y<=a;case"eqValue":return y===a}}#p(n){const e=F(n)||"0";this.bigIntValue=this.#a(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||b(t.decimalMultiplier):fn(F(t))}).filter(Boolean);return Math.max(...e,Y)}#a(n,e){const t=e?J(e):this.decimalMultiplier,a=b(t),[y="",s=""]=n.split(".");return BigInt(`${y}${s.padEnd(a,"0")}`)}}var Vn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function Yt(n){const e=l.from({chain:n});switch(n){case"BTC":case"LTC":case"BCH":case"DASH":return e.set(0.00010001);case"DOGE":return e.set(1.00000001);case"AVAX":case"ETH":case"ARB":case"BSC":return e.set(0.00000001);case"THOR":case"MAYA":return e.set(0);case"GAIA":case"KUJI":return e.set(0.000001);default:return e.set(0.00000001)}}async function Wn(n,e=0){mn(n);const t=W.get(n.toUpperCase()),a=t?.decimal||await Hn(c(n));if(!t)W.set(n.toUpperCase(),{identifier:n,decimal:a});return new l({decimal:a,value:B(e,a),identifier:n})}var Bn=function(n,e=0){const[t,a]=n.split(".")?.[0]?.toUpperCase()==="THOR"?n.split(".").slice(1).join().split("/"):n.split("/");if(!(t&&a))throw new R({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new l({decimal:8,value:B(e,8),identifier:`${"THOR"}.${t}/${a}`})},B=function(n,e){return typeof n==="bigint"?Z({value:n,bigIntDecimal:e,decimal:e}):n},c=function(n){const e=n.slice(0,14).includes("/"),t=n.split(".")?.[0]?.toUpperCase()==="THOR",a=n.split(".")?.[0]?.toUpperCase()==="MAYA",[y,s=""]=t||a?n.split(".").slice(1).join().split("/"):n.split("/");if(e&&!(y&&s))throw new R({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const d=n.includes(".")&&!e?n:`${a?"MAYA":"THOR"}.${s}`,[T,...i]=d.split("."),x=e?s:i.join("."),O=x.split("-"),f=O.length===1?O[0]:O.slice(0,-1).join("-"),j=O.length===1?void 0:O[O.length-1];return{address:j?.toLowerCase(),chain:T,isGasAsset:D({chain:T,symbol:x}),isSynthetic:e,ticker:f,symbol:(e?`${y}/`:"")+(j?`${f}-${j?.toLowerCase()??""}`:x)}},W=new Map;class l extends G{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:e,tax:t,chain:a,symbol:y,identifier:s}){super(typeof n==="object"?n:{decimal:e,value:n});const d=c(s||`${a}.${y}`);this.type=On(d),this.tax=t,this.chain=d.chain,this.ticker=d.ticker,this.symbol=d.symbol,this.address=d.address,this.isSynthetic=d.isSynthetic,this.isGasAsset=d.isGasAsset,this.chainId=en[d.chain]}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eqAsset({chain:n,symbol:e}){return this.chain===n&&this.symbol===e}eq(n){return this.eqAsset(n)&&this.eqValue(n)}static fromUrl(n,e=0){const[t,a,y]=n.split(".");if(!(t&&a))throw new R({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const s=t==="THOR"&&y?`${t}.${a}/${y}`:n;return l.from({asset:s,value:e})}static from({value:n=0,fromBaseDecimal:e,asyncTokenLookup:t,...a}){const y=n instanceof G?n.getValue("string"):n,s="chain"in a,d=s?a.chain:a.asset,T=s||ln.includes(d),{identifier:i,decimal:x}=T?Rn(d):{identifier:d,decimal:void 0},{chain:O,isSynthetic:f}=c(i),j=W.get(i.toUpperCase()),A=j?.decimal||x;xn(!(t||A),Fn(`Couldn't find static decimal for ${Cn(i)} (Using default ${Cn(w[O])} decimal as fallback).
|
|
1
|
+
var tn=((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 Re=[{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"}],he=[{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 E;((C)=>{C.Arbitrum="https://arb1.arbitrum.io/rpc";C.Avalanche="https://node-router.thorswap.net/avalanche-c";C.BinanceSmartChain="https://bsc-dataseed.binance.org";C.Bitcoin="https://node-router.thorswap.net/bitcoin";C.BitcoinCash="https://node-router.thorswap.net/bitcoin-cash";C.Chainflip="wss://mainnet-archive.chainflip.io";C.Cosmos="https://node-router.thorswap.net/cosmos/rpc";C.Dash="https://node-router.thorswap.net/dash";C.Dogecoin="https://node-router.thorswap.net/dogecoin";C.Ethereum="https://node-router.thorswap.net/ethereum";C.Kujira="https://rpc-kujira.synergynodes.com/";C.Litecoin="https://node-router.thorswap.net/litecoin";C.Maya="https://tendermint.mayachain.info";C.MayaStagenet="https://stagenet.tendermint.mayachain.info";C.Optimism="https://mainnet.optimism.io";C.Polkadot="wss://rpc.polkadot.io";C.Polygon="https://polygon-rpc.com";C.Radix="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";C.THORChain="https://rpc.thorswap.net";C.THORChainStagenet="https://stagenet-rpc.ninerealms.com";C.Solana="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(E||={});var v;((r)=>{r.Arbitrum="https://arbiscan.io";r.Avalanche="https://snowtrace.io";r.BinanceSmartChain="https://bscscan.com";r.Bitcoin="https://blockchair.com/bitcoin";r.BitcoinCash="https://www.blockchair.com/bitcoin-cash";r.Chainflip="https://explorer.polkascan.io/polkadot";r.Cosmos="https://www.mintscan.io/cosmos";r.Dash="https://blockchair.com/dash";r.Dogecoin="https://blockchair.com/dogecoin";r.Ethereum="https://etherscan.io";r.Kujira="https://finder.kujira.network/kaiyo-1";r.Litecoin="https://blockchair.com/litecoin";r.Maya="https://www.mayascan.org";r.Optimism="https://optimistic.etherscan.io";r.Polkadot="https://polkadot.subscan.io";r.Polygon="https://polygonscan.com";r.Radix="https://dashboard.radixdlt.com";r.THORChain="https://runescan.io";r.Solana="https://solscan.io"})(v||={});var _;((r)=>{r.Arbitrum="ARB";r.Avalanche="AVAX";r.BinanceSmartChain="BSC";r.Bitcoin="BTC";r.BitcoinCash="BCH";r.Cosmos="GAIA";r.Dash="DASH";r.Dogecoin="DOGE";r.Ethereum="ETH";r.Kujira="KUJI";r.Litecoin="LTC";r.Maya="MAYA";r.Optimism="OP";r.Polkadot="DOT";r.Chainflip="FLIP";r.Polygon="MATIC";r.Radix="XRD";r.THORChain="THOR";r.Solana="SOL"})(_||={});var N;((x)=>{x.Arbitrum="42161";x.ArbitrumHex="0xa4b1";x.Avalanche="43114";x.AvalancheHex="0xa86a";x.BinanceSmartChain="56";x.BinanceSmartChainHex="0x38";x.Bitcoin="bitcoin";x.BitcoinCash="bitcoincash";x.Chainflip="chainflip";x.Cosmos="cosmoshub-4";x.Dash="dash";x.Dogecoin="dogecoin";x.Kujira="kaiyo-1";x.Ethereum="1";x.EthereumHex="0x1";x.Litecoin="litecoin";x.Maya="mayachain-mainnet-v1";x.MayaStagenet="mayachain-stagenet-v1";x.Optimism="10";x.OptimismHex="0xa";x.Polkadot="polkadot";x.Polygon="137";x.PolygonHex="0x89";x.Radix="radix-mainnet";x.THORChain="thorchain-mainnet-v1";x.THORChainStagenet="thorchain-stagenet-v2";x.Solana="solana"})(N||={});var Je={["0xa4b1"]:"ARB",["42161"]:"ARB",["0xa86a"]:"AVAX",["43114"]:"AVAX",["0x38"]:"BSC",["56"]:"BSC",["bitcoincash"]:"BCH",["bitcoin"]:"BTC",["chainflip"]:"FLIP",["cosmoshub-4"]:"GAIA",["dash"]:"DASH",["dogecoin"]:"DOGE",["0x1"]:"ETH",["kaiyo-1"]:"KUJI",["1"]:"ETH",["litecoin"]:"LTC",["mayachain-stagenet-v1"]:"MAYA",["mayachain-mainnet-v1"]:"MAYA",["0xa"]:"OP",["10"]:"OP",["polkadot"]:"DOT",["0x89"]:"MATIC",["137"]:"MATIC",["radix-mainnet"]:"XRD",["thorchain-stagenet-v2"]:"THOR",["thorchain-mainnet-v1"]:"THOR",["solana"]:"SOL"},Xn=Object.keys(_),b=Object.values(_),h;((u)=>{u[u.ARB=18]="ARB";u[u.AVAX=18]="AVAX";u[u.BCH=8]="BCH";u[u.BSC=18]="BSC";u[u.BTC=8]="BTC";u[u.DASH=8]="DASH";u[u.DOGE=8]="DOGE";u[u.DOT=10]="DOT";u[u.ETH=18]="ETH";u[u.FLIP=18]="FLIP";u[u.GAIA=6]="GAIA";u[u.KUJI=6]="KUJI";u[u.LTC=8]="LTC";u[u.MATIC=18]="MATIC";u[u.MAYA=8]="MAYA";u[u.OP=18]="OP";u[u.SOL=9]="SOL";u[u.THOR=8]="THOR";u[u.XRD=18]="XRD";u[u.ZEC=8]="ZEC"})(h||={});var Ze=["DOT","FLIP"],Q=["ETH","AVAX","BSC","ARB","OP","MATIC"],ke=["BTC","BCH","DASH","DOGE","LTC"],be=["GAIA","THOR","MAYA","KUJI"],Me=["AVAX","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"],Le=["ARB","DASH","ETH","KUJI","MAYA","THOR"],q=b.reduce((n,e)=>{const t=Xn.find((a)=>_[a]===e);if(t)n[e]=t;return n},{}),an=b.reduce((n,e)=>{return n[e]=N[q[e]],n},{}),U=b.reduce((n,e)=>{return n[e]=E[q[e]],n},{}),Ye=b.reduce((n,e)=>{const t=`${q[e]}Hex`;return n[e]=N[t],n},{}),ge=b.reduce((n,e)=>{return n[e]=v[q[e]],n},{});var jn;((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"})(jn||={});var Ne=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],Qe=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],qe=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var zn;((d)=>{d.ARB="0x0000000000000000000000000000000000000000";d.AVAX="0x0000000000000000000000000000000000000000";d.ETH="0x0000000000000000000000000000000000000000";d.BSC="0x0000000000000000000000000000000000000000";d.MATIC="0x0000000000000000000000000000000000001010";d.OP="0x4200000000000000000000000000000000000042"})(zn||={});var Jn;((r)=>{r.ARB="m/44'/60'/0'/0";r.AVAX="m/44'/60'/0'/0";r.BCH="m/44'/145'/0'/0";r.BSC="m/44'/60'/0'/0";r.BTC="m/84'/0'/0'/0";r.DASH="m/44'/5'/0'/0";r.DOGE="m/44'/3'/0'/0";r.DOT="////";r.ETH="m/44'/60'/0'/0";r.FLIP="////";r.GAIA="m/44'/118'/0'/0";r.KUJI="m/44'/118'/0'/0";r.LTC="m/84'/2'/0'/0";r.MATIC="m/44'/60'/0'/0";r.MAYA="m/44'/931'/0'/0";r.OP="m/44'/60'/0'/0";r.SOL="m/44'/501'/0'/0";r.THOR="m/44'/931'/0'/0";r.XRD="////"})(Jn||={});var c={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],SOL:[44,501,0,0,0],THOR:[44,931,0,0,0],XRD:[0,0,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var pn;((u)=>{u.BRAVE="BRAVE";u.COINBASE_MOBILE="COINBASE_MOBILE";u.COINBASE_WEB="COINBASE_WEB";u.EIP6963="EIP6963";u.EXODUS="EXODUS";u.KEEPKEY="KEEPKEY";u.KEPLR="KEPLR";u.KEYSTORE="KEYSTORE";u.LEDGER="LEDGER";u.METAMASK="METAMASK";u.OKX="OKX";u.OKX_MOBILE="OKX_MOBILE";u.PHANTOM="PHANTOM";u.POLKADOT_JS="POLKADOT_JS";u.RADIX_WALLET="RADIX_WALLET";u.TREZOR="TREZOR";u.TALISMAN="TALISMAN";u.TRUSTWALLET_WEB="TRUSTWALLET_WEB";u.WALLETCONNECT="WALLETCONNECT";u.XDEFI="XDEFI"})(pn||={});var Zn;((a)=>{a[a.NoError=36864]="NoError";a[a.LockedDevice=21781]="LockedDevice";a[a.TC_NotFound=65535]="TC_NotFound"})(Zn||={});import{z as m} from"zod";var kn;((a)=>{a.Average="average";a.Fast="fast";a.Fastest="fastest"})(kn||={});var bn;((t)=>{t.Approve="approve";t.CheckOnly="checkOnly"})(bn||={});var yn;((o)=>{o.NAME_REGISTER="~";o.BOND="BOND";o.DEPOSIT="+";o.LEAVE="LEAVE";o.UNBOND="UNBOND";o.WITHDRAW="-";o.OPEN_LOAN="$+";o.CLOSE_LOAN="$-";o.RUNEPOOL_DEPOSIT="POOL+";o.RUNEPOOL_WITHDRAW="POOL-"})(yn||={});var Ke=m.object({sellAsset:m.string({description:"Asset to sell"}),buyAsset:m.string({description:"Asset to buy"}),sellAmount:m.number({description:"Amount of asset to sell"}).refine((n)=>n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:m.optional(m.array(m.string({description:"List of providers to use"}))),sourceAddress:m.optional(m.string({description:"Address to send asset from"})),destinationAddress:m.optional(m.string({description:"Address to send asset to"})),slippage:m.optional(m.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:m.optional(m.string({description:"Affiliate thorname"})),affiliateFee:m.optional(m.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:m.optional(m.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:m.optional(m.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:m.optional(m.boolean({description:"Disable security checks"}))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]});import{z as p} from"zod";var sn;((t)=>{t.highSlippage="highSlippage";t.highPriceImpact="highPriceImpact"})(sn||={});var Mn=p.array(p.union([p.string(),p.number(),p.array(p.string()),p.object({from:p.string(),value:p.string()}).describe("Parameters to pass to the contract method")])),dn=p.object({contractAddress:p.string({description:"Address of the contract to interact with"}),contractMethod:p.string({description:"Name of the method to call"}),contractParams:Mn,contractParamNames:p.array(p.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:p.optional(p.string({description:"Address of the token to approve spending of"})),approvalSpender:p.optional(p.string({description:"Address of the spender to approve"}))}),W=p.object({inbound:p.optional(p.number({description:"Time to receive inbound asset in seconds"})),swap:p.optional(p.number({description:"Time to swap assets in seconds"})),outbound:p.optional(p.number({description:"Time to receive outbound asset in seconds"})),total:p.number({description:"Total time in seconds"})}),j;((l)=>{l.CHAINFLIP="CHAINFLIP";l.TRADERJOE_V1="TRADERJOE_V1";l.PANGOLIN_V1="PANGOLIN_V1";l.UNISWAP_V2="UNISWAP_V2";l.THORCHAIN="THORCHAIN";l.THORCHAIN_STREAMING="THORCHAIN_STREAMING";l.MAYACHAIN="MAYACHAIN";l.ONEINCH="ONEINCH";l.SUSHISWAP_V2="SUSHISWAP_V2";l.WOOFI_V2="WOOFI_V2";l.PANCAKESWAP="PANCAKESWAP"})(j||={});var rn;((d)=>{d.LIQUIDITY="liquidity";d.NETWORK="network";d.INBOUND="inbound";d.OUTBOUND="outbound";d.AFFILIATE="affiliate";d.TAX="tax"})(rn||={});var un=p.array(p.object({type:p.nativeEnum(rn),amount:p.string(),asset:p.string(),chain:p.string(),protocol:p.nativeEnum(j)})),Ln=p.object({sellAsset:p.string({description:"Asset to sell"}),buyAsset:p.string({description:"Asset to buy"}),provider:p.nativeEnum(j),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),estimatedTime:W.optional(),affiliate:p.string({description:"Affiliate address"}).optional(),affiliateFee:p.number({description:"Affiliate fee"}).optional(),slipPercentage:p.number({description:"Slippage as a percentage"})}),Ee=Ln.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),Yn=p.object({name:p.string({description:"Asset name"}),price:p.number({description:"Price in USD"}),image:p.string({description:"Asset image"})}),Tn=p.object({priceImpact:p.number({description:"Price impact"}),assets:p.optional(p.array(Yn))}),on=p.array(p.object({code:p.nativeEnum(sn),display:p.string(),tooltip:p.string().optional()})),gn=p.object({sellAsset:p.string({description:"Asset to sell"}),buyAsset:p.string({description:"Asset to buy"}),provider:p.nativeEnum(j),buyAmount:p.string({description:"Amount of asset to buy"}),buyAmountMaxSlippage:p.string({description:"Amount of asset to buy"}),sellAmount:p.string({description:"Amount of asset to sell"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),slippageBps:p.number({description:"Slippage in bps"}),targetAddress:p.optional(p.string({description:"Target address for contract call or transfer address"})),inboundAddress:p.optional(p.string({description:"Inbound address"})),routerAddress:p.optional(p.string({description:"Inbound address"})),contractMethod:p.optional(p.string({description:"Contract method"})),fees:p.optional(un),estimatedTime:p.optional(W),memo:p.optional(p.string({description:"Memo"})),expiration:p.optional(p.string({description:"Expiration"}))}),ve=p.object({providers:p.array(p.nativeEnum(j)),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"sell amount"}),buyAsset:p.string({description:"Asset to buy"}),expectedBuyAmount:p.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:p.string({description:"Expected Buy amount max slippage"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),targetAddress:p.optional(p.string({description:"Target address"})),routerAddress:p.optional(p.string({description:"Router address"})),inboundAddress:p.optional(p.string({description:"Inbound address"})),expiration:p.optional(p.string({description:"Expiration"})),memo:p.optional(p.string({description:"Memo"})),evmTransactionDetails:p.optional(dn),routePathArray:p.optional(p.array(p.string())),estimatedTime:p.optional(W),totalSlippageBps:p.number({description:"Total slippage in bps"}),legs:p.array(gn),errorCode:p.optional(p.string()),warnings:on,meta:Tn}),An=p.object({provider:p.nativeEnum(j),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"Sell amount"}),buyAsset:p.string({description:"Asset to buy"}),buyAmount:p.string({description:"Buy amount"}),buyAmountMaxSlippage:p.string({description:"Buy amount max slippage"}),fees:p.optional(un)}),Nn=p.object({providers:p.array(p.nativeEnum(j)),sellAsset:p.string({description:"Asset to sell"}),sellAmount:p.string({description:"sell amount"}),buyAsset:p.string({description:"Asset to buy"}),expectedBuyAmount:p.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:p.string({description:"Expected Buy amount max slippage"}),sourceAddress:p.string({description:"Source address"}),destinationAddress:p.string({description:"Destination address"}),targetAddress:p.optional(p.string({description:"Target address"})),expiration:p.optional(p.string({description:"Expiration"})),memo:p.optional(p.string({description:"Memo"})),evmTransactionDetails:p.optional(dn),estimatedTime:p.optional(W),totalSlippageBps:p.number({description:"Total slippage in bps"}),legs:p.array(An),warnings:on,meta:Tn}),Ue=p.object({quoteId:p.string({description:"Quote ID"}),routes:p.array(Nn),error:p.optional(p.string({description:"Error message"}))});import{red as Hn,yellow as Pn} from"picocolors";var Qn={core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_plugin_not_found:10006,core_plugin_swap_not_found:10007,core_approve_asset_target_invalid:10008,core_explorer_unsupported_chain:10009,core_verify_message_not_supported:10010,core_chain_halted:10099,core_wallet_connection_not_found:10100,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_wallet_keepkey_not_installed:10109,core_wallet_talisman_not_installed:10110,core_wallet_not_keypair_wallet:10111,core_wallet_sign_message_not_supported:10110,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,core_transaction_deposit_error:10301,core_transaction_create_liquidity_base_error:10302,core_transaction_create_liquidity_asset_error:10303,core_transaction_create_liquidity_invalid_params:10304,core_transaction_add_liquidity_invalid_params:10305,core_transaction_add_liquidity_base_address:10306,core_transaction_add_liquidity_base_error:10307,core_transaction_add_liquidity_asset_error:10308,core_transaction_withdraw_error:10309,core_transaction_deposit_to_pool_error:10310,core_transaction_deposit_insufficient_funds_error:10311,core_transaction_deposit_gas_error:10312,core_transaction_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,wallet_connection_rejected_by_user:20000,wallet_missing_api_key:20001,wallet_chain_not_supported:20002,wallet_missing_params:20003,wallet_provider_not_found:20004,wallet_failed_to_add_or_switch_network:20005,wallet_ledger_connection_error:20101,wallet_ledger_connection_claimed:20102,wallet_ledger_get_address_error:20103,wallet_ledger_device_not_found:20104,wallet_ledger_device_locked:20105,wallet_phantom_not_found:20201,wallet_xdefi_not_found:20301,wallet_xdefi_send_transaction_no_address:20302,wallet_xdefi_contract_address_not_provided:20303,wallet_xdefi_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,wallet_polkadot_not_found:20701,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30100,chainflip_broker_recipient_error:30101,chainflip_broker_register:30102,chainflip_broker_tx_error:30103,chainflip_broker_withdraw:30104,chainflip_broker_fund_only_flip_supported:30105,chainflip_broker_fund_invalid_address:30106,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_swapin_router_required:40100,thorchain_swapin_vault_required:40101,thorchain_swapin_memo_required:40102,thorchain_swapin_token_required:40103,api_v2_invalid_response:50001,toolbox_cosmos_signer_not_defined:90101,toolbox_cosmos_no_accounts_found:90102,toolbox_cosmos_verify_signature_no_pubkey:90103,toolbox_evm_no_abi_fragment:90201,toolbox_evm_no_signer:90202,toolbox_evm_no_signer_address:90203,toolbox_evm_no_from_address:90204,toolbox_evm_no_contract_address:90205,toolbox_evm_no_fee_data:90206,toolbox_evm_no_gas_price:90207,toolbox_evm_no_to_address:90208,toolbox_evm_invalid_gas_asset_address:90209,toolbox_evm_provider_not_eip1193_compatible:90210,toolbox_evm_error_estimating_gas_limit:90211,toolbox_evm_error_sending_transaction:90212,helpers_invalid_number_different_decimals:99000,helpers_invalid_number_of_years:99001,helpers_invalid_identifier:99002,helpers_invalid_asset_url:99003,helpers_invalid_asset_identifier:99004,helpers_invalid_memo_type:99005,helpers_failed_to_switch_network:99103,helpers_not_found_provider:99200,not_implemented:99999};class R extends Error{static ErrorCode=Qn;constructor(n,e){const t=typeof n==="string",a=t?n:n.errorKey;if(e)console.error(e,{stack:e?.stack,message:e?.message});super(a,{cause:{code:R.ErrorCode[a],message:`${a}${t?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,R.prototype)}}function mt(n){if(n<0)throw new R({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function ft(n){if(n<0)throw new R({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return Math.round((10+n*1.0512)*10000000000)/10000000000}function lt(n,e){try{return n()}catch(t){if(e)throw new R(e,t);return console.error(t)}}function Ct(n){switch(n){case"THOR":return`${n}.RUNE`;case"GAIA":return`${n}.ATOM`;case"BSC":return`${n}`;default:return`${n}.${n}`}}function mn(n,e){if(!qn&&n){if(xn.has(e))return;xn.add(e),console.warn(e)}}var qn=["production","test"].includes("development"),xn=new Set;function ln(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(fn.includes(t))return!0;const[a]=e.split("/");if(fn.includes(a))return!0;throw new R({errorKey:"helpers_invalid_identifier",info:{message:`Invalid identifier: ${n}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`,identifier:n}})}function ht(n){if(n.length>30)return!1;const e=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(e)}var fn=[...Object.values(_),"TERRA"];function Z({value:n,bigIntDecimal:e=L,decimal:t=L}){if(t===0)return n.toString();const a=n<0n;let y=n.toString().substring(a?1:0);const s=t-(y.length-1);if(s>0)y="0".repeat(s)+y;const d=y.length-t;let T=y.slice(-t);if(Number.parseInt(T[e]||"0")>=5)T=`${T.substring(0,e-1)}${(Number.parseInt(T[e-1]||"0")+1).toString()}`;else T=T.substring(0,e);return`${a?"-":""}${y.slice(0,d)}.${T}`.replace(/\.?0*$/,"")}var P=function(n){const t=`${typeof n==="number"?Wn.format(n):S(n)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]||"0"},Cn=function(n){const e=n.split(".")[1]?.length||0;return Math.max(e,L)},S=function(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n},L=8,z=(n)=>10n**BigInt(n),M=(n)=>Math.log10(Number.parseFloat(n.toString()));class X{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new X({decimal:e,value:Z({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return X.fromBigInt(n.getBaseValue("bigint")*z(t)/z(e),t)}constructor(n){const e=S(n),t=typeof n==="object";this.decimal=t?n.decimal:void 0,this.decimalMultiplier=t&&"decimalMultiplier"in n?n.decimalMultiplier:z(Math.max(Cn(P(e)),this.decimal||0)),this.#p(e)}set(n){return new this.constructor({decimal:this.decimal,value:n,identifier:this.toString()})}add(...n){return this.#e("add",...n)}sub(...n){return this.#e("sub",...n)}mul(...n){return this.#e("mul",...n)}div(...n){return this.#e("div",...n)}gt(n){return this.#n("gt",n)}gte(n){return this.#n("gte",n)}lt(n){return this.#n("lt",n)}lte(n){return this.#n("lte",n)}eqValue(n){return this.#n("eqValue",n)}getValue(n){const e=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||M(this.decimalMultiplier));switch(n){case"number":return Number(e);case"string":return e;case"bigint":return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(n){const e=this.decimalMultiplier/z(this.decimal||8),t=this.bigIntValue/e;switch(n){case"number":return Number(t);case"string":return t.toString();case"bigint":return t}}getBigIntValue(n,e){if(!e&&typeof n==="object")return n.bigIntValue;const t=S(n),a=P(t);if(a==="0"||a==="undefined")return 0n;return this.#a(a,e)}toSignificant(n=6){const[e,t]=this.getValue("string").split("."),a=e||"",y=t||"";if((Number.parseInt(a)?a.length+y.length:y.length)<=n)return this.getValue("string");if(a.length>=n)return a.slice(0,n).padEnd(a.length,"0");if(Number.parseInt(a))return`${a}.${y.slice(0,n-a.length)}`.padEnd(n-a.length,"0");const d=Number.parseInt(y),T=`${d}`.slice(0,n);return`0.${T.padStart(y.length-`${d}`.length+T.length,"0")}`}toFixed(n=6){const[e,t]=this.getValue("string").split("."),a=e||"",y=t||"";if(Number.parseInt(a))return`${a}.${y.slice(0,n)}`.padEnd(n,"0");const s=Number.parseInt(y),d=`${s}`.slice(0,n);return`0.${d.padStart(y.length-`${s}`.length+d.length,"0")}`}toAbbreviation(n=2){const e=this.getValue("number"),t=["","K","M","B","T","Q","Qi","S"],a=Math.floor(Math.log10(Math.abs(e))/3),y=t[a];if(!y)return this.getValue("string");const s=10**(a*3);return`${(e/s).toFixed(n)}${y}`}toCurrency(n="$",{currencyPosition:e="start",decimal:t=2,decimalSeparator:a=".",thousandSeparator:y=","}={}){const s=this.getValue("number"),[d="",T=""]=s.toFixed(6).split("."),f=d.replace(/\B(?=(\d{3})+(?!\d))/g,y),i=d||T?d==="0"?`${Number.parseFloat(`0.${T}`)}`.replace(".",a):`${f}${Number.parseInt(T)?`${a}${T.slice(0,t)}`:""}`:"0.00";return`${e==="start"?n:""}${i}${e==="end"?n:""}`}formatBigIntToSafeValue(n,e){const t=e||this.decimal||L,a=Math.max(t,M(this.decimalMultiplier)),y=n<0n,s=n.toString().substring(y?1:0),d=a-(s.length-1),T=d>0?"0".repeat(d)+s:s,f=T.length-a;let i=T.slice(-a);if(Number.parseInt(i[t]||"0")>=5)i=`${i.substring(0,t-1)}${(Number.parseInt(i[t-1]||"0")+1).toString()}`;else i=i.substring(0,t);return`${y?"-":""}${T.slice(0,f)}.${i}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),a=Math.max(t,M(this.decimalMultiplier)),y=z(a),s=e.reduce((T,f)=>{const i=this.getBigIntValue(f,a);switch(n){case"add":return T+i;case"sub":return T-i;case"mul":return T*i/y;case"div":{if(i===0n)throw new RangeError("Division by zero");return T*y/i}default:return T}},this.bigIntValue*y/this.decimalMultiplier),d=Z({bigIntDecimal:a,decimal:a,value:s});return new this.constructor({decimalMultiplier:z(a),decimal:this.decimal,value:d,identifier:this.toString()})}#n(n,...e){const t=this.#t(this,...e),a=this.getBigIntValue(e[0]||"0",t),y=this.getBigIntValue(this,t);switch(n){case"gt":return y>a;case"gte":return y>=a;case"lt":return y<a;case"lte":return y<=a;case"eqValue":return y===a}}#p(n){const e=P(n)||"0";this.bigIntValue=this.#a(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||M(t.decimalMultiplier):Cn(P(t))}).filter(Boolean);return Math.max(...e,L)}#a(n,e){const t=e?z(e):this.decimalMultiplier,a=M(t),[y="",s=""]=n.split(".");return BigInt(`${y}${s.padEnd(a,"0")}`)}}var Wn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function bt(n){const e=H.from({chain:n});switch(n){case"BTC":case"LTC":case"BCH":case"DASH":return e.set(0.00010001);case"DOGE":return e.set(1.00000001);case"AVAX":case"ETH":case"ARB":case"BSC":return e.set(0.00000001);case"THOR":case"MAYA":return e.set(0);case"GAIA":case"KUJI":return e.set(0.000001);default:return e.set(0.00000001)}}async function Vn(n,e=0){ln(n);const t=V.get(n.toUpperCase()),a=t?.decimal||await Rn(D(n));if(!t)V.set(n.toUpperCase(),{identifier:n,decimal:a});return new H({decimal:a,value:F(e,a),identifier:n})}var Fn=function(n,e=0){const[t,a]=n.split(".")?.[0]?.toUpperCase()==="THOR"?n.split(".").slice(1).join().split("/"):n.split("/");if(!(t&&a))throw new R({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new H({decimal:8,value:F(e,8),identifier:`${"THOR"}.${t}/${a}`})},F=function(n,e){return typeof n==="bigint"?Z({value:n,bigIntDecimal:e,decimal:e}):n},D=function(n){const e=n.slice(0,14).includes("/"),t=n.split(".")?.[0]?.toUpperCase()==="THOR",a=n.split(".")?.[0]?.toUpperCase()==="MAYA",[y,s=""]=t||a?n.split(".").slice(1).join().split("/"):n.split("/");if(e&&!(y&&s))throw new R({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const d=n.includes(".")&&!e?n:`${a?"MAYA":"THOR"}.${s}`,[T,...f]=d.split("."),i=e?s:f.join("."),o=i.split("-"),l=o.length===1?o[0]:o.slice(0,-1).join("-"),$=o.length===1?void 0:o[o.length-1];return{address:$?.toLowerCase(),chain:T,isGasAsset:nn({chain:T,symbol:i}),isSynthetic:e,ticker:l,symbol:(e?`${y}/`:"")+($?`${l}-${$?.toLowerCase()??""}`:i)}},V=new Map;class H extends X{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:e,tax:t,chain:a,symbol:y,identifier:s}){super(typeof n==="object"?n:{decimal:e,value:n});const d=D(s||`${a}.${y}`);this.type=wn(d),this.tax=t,this.chain=d.chain,this.ticker=d.ticker,this.symbol=d.symbol,this.address=d.address,this.isSynthetic=d.isSynthetic,this.isGasAsset=d.isGasAsset,this.chainId=an[d.chain]}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eqAsset({chain:n,symbol:e}){return this.chain===n&&this.symbol===e}eq(n){return this.eqAsset(n)&&this.eqValue(n)}static fromUrl(n,e=0){const[t,a,y]=n.split(".");if(!(t&&a))throw new R({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const s=t==="THOR"&&y?`${t}.${a}/${y}`:n;return H.from({asset:s,value:e})}static from({value:n=0,fromBaseDecimal:e,asyncTokenLookup:t,...a}){const y=n instanceof X?n.getValue("string"):n,s="chain"in a,d=s?a.chain:a.asset,T=s||On.includes(d),{identifier:f,decimal:i}=T?hn(d):{identifier:d,decimal:void 0},{chain:o,isSynthetic:l}=D(f),$=V.get(f.toUpperCase()),Y=$?.decimal||i;mn(!(t||Y),Pn(`Couldn't find static decimal for ${Hn(f)} (Using default ${Hn(h[o])} decimal as fallback).
|
|
2
2
|
This can result in incorrect calculations and mess with amount sent on transactions.
|
|
3
3
|
You can load static assets by installing @swapkit/tokens package and calling AssetValue.loadStaticAssets()
|
|
4
|
-
or by passing asyncTokenLookup: true to the from() function, which will make it async and return a promise.`));const{decimal:q,identifier:k,tax:H}=j||{decimal:A||w[O],identifier:i},h=e?B(BigInt(y),e):B(y,q);return t?Wn(k,e?h:y):f?Bn(k,y):new l({tax:H,decimal:q,identifier:k,value:h})}static loadStaticAssets(){return new Promise((n,e)=>{try{import("@swapkit/tokens").then((t)=>{for(let a of Object.values(t))for(let{identifier:y,chain:s,...d}of a.tokens)W.set(y.toUpperCase(),{identifier:y,decimal:"decimals"in d?d.decimals:w[s]});n({ok:!0})})}catch(t){console.error(t),e({ok:!1,error:t,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}static fromString(n,e=0){return l.from({asset:n,value:e,asyncTokenLookup:!0})}static fromIdentifier(n,e=0){return l.from({asset:n,value:e,asyncTokenLookup:!0})}static fromStringSync(n,e=0){return l.from({asset:n,value:e})}static fromStringWithBase(n,e=0n,t=8){return l.from({asyncTokenLookup:!0,asset:n,value:e,fromBaseDecimal:t})}static fromStringWithBaseSync(n,e=0n,t=8){return l.from({asset:n,value:e,fromBaseDecimal:t})}static fromIdentifierSync(n,e=0){return l.from({asset:n,value:e})}static fromChainOrSignature(n,e=0){if(Object.values(_).includes(n))return l.from({chain:n,value:e});return l.from({asset:n,value:e})}}import In from"ky";function qt({apiKey:n,...e}){_n={...e,apiKey:n}}var wn=function(){const{apiKey:n,...e}=_n;return In.create({...e,headers:{...Pn,...e.headers,"x-api-key":n}})},_n={},Pn=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},$n=(n)=>({get:async(e,t)=>(await n.get(e,t)).json(),post:async(e,t)=>(await n.post(e,t)).json()}),I={...$n(wn()),extend:(n)=>{const e=wn().extend(n);return{...$n(e),extend:I.extend}}};async function Bt(n){const e=await import("@swapkit/tokens");for(let t of Object.values(e))for(let{identifier:a,chain:y,...s}of t.tokens){if("identifier"in n&&a===n.identifier)return a;if("address"in s&&"chain"in n&&y===n.chain&&s.address.toLowerCase()===n.contract.toLowerCase())return a}return}var En="0x313ce567",ln=[`${"MAYA"}.MAYA`,`${"ETH"}.THOR`,`${"ETH"}.vTHOR`,`${"KUJI"}.USK`],jn=async({chain:n,to:e})=>{try{const{result:t}=await I.post(v[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:En},"latest"]})});return Number.parseInt(BigInt(t||w[n]).toString())}catch(t){return console.error(t),w[n]}},vn=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await I.post(`${v["XRD"]}/state/resource`,{headers:{Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify({network:"mainnet",resource_address:e})});return t.divisibility.value.divisibility}catch(e){return console.error(e),w["XRD"]}},Un=(n)=>{if(n==="ETH")return 18;const e=n.split("-"),t=e.length===1?void 0:e[e.length-1]?.toLowerCase();return t?.startsWith("0x")?jn({chain:"ETH",to:t}):18},Sn=(n)=>{const e=n.split("-"),t=e.length===1?void 0:e[e.length-1];return t?.startsWith("0x")?jn({chain:"AVAX",to:t.toLowerCase()}):18},cn=(n)=>{if(n==="BSC")return 18;return 18},Dn=(n)=>{if(n==="XRD")return 18;return vn({symbol:n})},Hn=({chain:n,symbol:e})=>{switch(n){case"ETH":return Un(e);case"AVAX":return Sn(e);case"BSC":return cn(e);case"XRD":return Dn(e);default:return w[n]}},Vt=({chain:n})=>{switch(n){case"ARB":case"OP":return l.from({asset:`${n}.ETH`});case"MAYA":return l.from({asset:`${n}.CACAO`});case"GAIA":return l.from({asset:`${n}.ATOM`});case"BSC":return l.from({asset:`${n}.BNB`});case"THOR":return l.from({asset:`${n}.RUNE`});default:return l.from({asset:`${n}.${n}`})}},D=({chain:n,symbol:e})=>{switch(n){case"ARB":case"OP":return e==="ETH";case"MAYA":return e==="CACAO";case"GAIA":return e==="ATOM";case"BSC":return e==="BNB";case"THOR":return e==="RUNE";default:return e===n}},Rn=(n)=>{switch(n){case"ARB":case"OP":return{identifier:`${n}.ETH`,decimal:w[n]};case`${"ETH"}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${"ETH"}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case"GAIA":return{identifier:`${n}.ATOM`,decimal:w[n]};case"THOR":return{identifier:`${n}.RUNE`,decimal:w[n]};case"BSC":return{identifier:`${n}.BNB`,decimal:w[n]};case"MAYA":return{identifier:`${n}.CACAO`,decimal:w[n]};case"XRD":return{identifier:`${"XRD"}.XRD`,decimal:w[n]};case`${"MAYA"}.MAYA`:return{identifier:n,decimal:4};case`${"KUJI"}.USK`:return{identifier:n,decimal:6};default:return{identifier:`${n}.${n}`,decimal:w[n]}}},On=({chain:n,symbol:e})=>{if(e.includes("/"))return"Synth";switch(n){case"GAIA":return e==="ATOM"?"Native":"GAIA";case"KUJI":return e==="KUJI"?"Native":"KUJI";case"BSC":return e==="BNB"?"Native":"BEP20";case"ETH":return e==="ETH"?"Native":"ERC20";case"AVAX":return e==="AVAX"?"Native":"AVAX";case"MATIC":return e==="MATIC"?"Native":"POLYGON";case"ARB":return["ETH","ARB"].includes(e)?"Native":"ARBITRUM";case"OP":return["ETH","OP"].includes(e)?"Native":"OPTIMISM";case"XRD":return e==="XRD"?"Native":"RADIX";default:return"Native"}},Ft=(n)=>{const[e,...t]=n.split("."),a=n.includes("/"),y=t.join("."),s=y?.split("-"),d=s?.length?s.length===1?s[0]:s.slice(0,-1).join("-"):void 0;return{chain:e,symbol:y,ticker:d,synth:a}},ne=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),ee=(n)=>{const[e,t]=n.split(".");if(!N.includes(e))return!0;const a=t.split("-"),y=a.length===1?void 0:a[a.length-1];return D({chain:e,symbol:t})||!!y},Wt=(n)=>n.filter(({chain:e,value:t,symbol:a})=>{const y=`${e}.${a}`;return!ne.test(y)&&ee(y)&&t!=="0"});function Et([n,e,t,a,y]){return`m/${n}'/${e}'/${t}'/${a}${typeof y!=="number"?"":`/${y}`}`}function vt({chain:n,index:e,addressIndex:t=0,type:a}){if(N.includes(n)){if(a==="legacy")return[44,60,0,e];if(a==="ledgerLive")return[44,60,e,0,t];return Xn(U[n],e)}const y=n==="LTC"?2:0;switch(a){case"nativeSegwitMiddleAccount":return[84,y,e,0,t];case"segwit":return[49,y,0,0,e];case"legacy":return[44,y,0,0,e];default:return Xn(U[n],e)}}function Ut(n){const[e,t,a]=n.split("/").map((y)=>Number.parseInt(y,10));switch(t){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var Xn=(n,e)=>{return[...n.slice(0,n.length-1),e]};function te({liquidityUnits:n,poolUnits:e,runeDepth:t}){const a=$(n),y=$(e),s=$(t),d=a.mul(s),T=y.mul(y).mul(2),i=y.mul(a).mul(2),x=a.mul(a),O=y.mul(y).mul(y);return d.mul(T.sub(i).add(x)).div(O)}function ae({liquidityUnits:n,poolUnits:e,assetDepth:t}){const a=$(n),y=$(e),s=$(t),d=a.mul(s),T=y.mul(y).mul(2),i=y.mul(a).mul(2),x=a.mul(a),O=d.mul(T.sub(i).add(x)),f=y.mul(y).mul(y);return O.div(f)}function na({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:a}){return te({runeDepth:e,liquidityUnits:t,poolUnits:a}).mul(n)}function ea({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:a}){return ae({assetDepth:e,liquidityUnits:t,poolUnits:a}).mul(n)}var $=function(n){return X.fromBigInt(BigInt(n),8)};function pe({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a}){return{assetAmount:$(a).mul(n).div(e),runeAmount:$(t).mul(n).div(e)}}function ta({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a,percent:y}){return Object.fromEntries(Object.entries(pe({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a})).map(([s,d])=>[s,d.mul(y)]))}function aa({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:a,runeAmount:y,assetAmount:s}){const d=new X({value:n,decimal:8}),T=new X({value:t,decimal:8}),i=new X({value:e,decimal:8}),x=new X({value:y,decimal:8}),O=new X({value:s,decimal:8}),f=x.mul(T),j=O.mul(d),A=x.mul(O),q=d.mul(T),k=i.mul(f.add(j.add(A.mul(2)))),H=f.add(j.add(q.mul(2))),h=k.div(H),Q=$(a).add(h);if(h.getBaseValue("number")===0)return Q.div(i).getBaseValue("number");const r=i.add(Q);return Q.div(r).getBaseValue("number")}function pa({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:a}){if(n==="0"||e==="0"||t==="0"||a==="0")return 0;const y=$(t),s=$(a),d=$(e),T=$(n),i=d.mul(y).sub(s.mul(T)),x=s.mul(T).add(y.mul(s));return Math.abs(i.div(x).getBaseValue("number"))}var L=function(n,{affiliateAddress:e,affiliateBasisPoints:t}){const a=e?`:${e}:${t||0}`:"";return`${n}${a}`},ye=function({chain:n,symbol:e}){switch(n){case"BTC":case"DOGE":case"LTC":return n.slice(0,1).toLowerCase();case"BCH":return"c";default:return`${n}.${e}`}};function se({type:n,address:e}){return`${n}:${e}`}function de({address:n,unbondAmount:e}){return`${"UNBOND"}:${n}:${e}`}function re({name:n,chain:e,address:t,owner:a}){const y=`${"~"}:${n}:${e}:${t}`,s=a?`:${a}`:"";return`${y}${s}`}function ua({name:n,chain:e,asset:t,payout:a,owner:y}){const s=[n,e,a,y,t].join(":");return`${"~"}:${s}`}function ue(n,{asset:e,address:t,minAmount:a,...y}){const s=`${n}:${e}:${t}`,d=a?`:${a}`:"";return L(`${s}${d}`,y)}function Te({chain:n,symbol:e,...t}){return L(`${"+"}:${n}/${e}`,t)}function ie({chain:n,symbol:e,address:t,...a}){const y=ye({chain:n,symbol:e}),s=t?`:${t}`:"";return L(`${"+"}:${y}${s}`,a)}function xe({chain:n,symbol:e,basisPoints:t,...a}){return L(`${"-"}:${n}/${e}:${t}`,a)}function oe({chain:n,symbol:e,ticker:t,basisPoints:a,targetAsset:y,...s}){const d=n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,T=y?`:${y}`:"";return L(`${"-"}:${n}.${d}:${a}${T}`,s)}var Ta=(n,e)=>{switch(n){case"LEAVE":case"BOND":{const{address:t}=e;return se({type:n,address:t})}case"UNBOND":{const{address:t,unbondAmount:a}=e;return de({address:t,unbondAmount:a})}case"~":return re(e);case"$+":case"$-":return ue(n,e);case"+":{const{chain:t,symbol:a,address:y,singleSide:s}=e;if(s)return Te({chain:t,symbol:a});return ie({chain:t,symbol:a,address:y})}case"-":{const{chain:t,ticker:a,symbol:y,basisPoints:s,targetAssetString:d,singleSide:T}=e;if(T)return xe({chain:t,symbol:y,basisPoints:s});return oe({chain:t,ticker:a,symbol:y,basisPoints:s,targetAsset:d})}default:throw new R({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function Ra(){const n=[];function e(a){if(n.map((y)=>y.info.uuid).includes(a.detail.info.uuid))return;n.push(a.detail)}window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new Event("eip6963:requestProvider"));function t(){window.removeEventListener("eip6963:announceProvider",e)}return{providers:n,removeEIP6963EventListener:t}}var me=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],fe=(n,e,t)=>async(...a)=>{try{await Ce(e,t)}catch(y){throw new R({errorKey:"helpers_failed_to_switch_network",info:{error:y}})}return n(...a)},Gn=({provider:n,params:e,method:t})=>{if(!n?.send)throw new R("helpers_not_found_provider");const a=e?Array.isArray(e)?e:[e]:[];return n.send(t,a)},ma=({toolbox:n,chainId:e,provider:t=window.ethereum})=>{const a=me.reduce((y,s)=>{if(!n[s])return y;const d=n[s];if(typeof d!=="function")return y;return{...y,[s]:fe(d,t,e)}},{});return{...n,...a}},fa=(n,e)=>Gn({provider:n,method:"wallet_addEthereumChain",params:[e]}),Ce=(n,e="0x1")=>Gn({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),Ca=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},la=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:a,selectedProvider:y}=window?.ethereum||{};if(n)return"TRUSTWALLET_WEB";if(e)return"BRAVE";if(a&&y?.isCoinbaseWallet)return"COINBASE_WEB";if(t)"XDEFI";return"METAMASK"},Ha=(n)=>{return le().includes(n)},le=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,e=window?.xfi||window?.ethereum?.__XDEFI,t=window?.ethereum?.isBraveWallet,a=window?.ethereum?.isTrust||window?.trustwallet,y=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,s=[];if(n)s.push("METAMASK");if(e)s.push("XDEFI");if(t)s.push("BRAVE");if(a)s.push("TRUSTWALLET_WEB");if(y)s.push("COINBASE_WEB");if(He())s.push("OKX_MOBILE");return s},He=()=>{const n=navigator.userAgent,e=/iphone|ipad|ipod|ios/i.test(n),t=/android|XiaoMi|MiuiBrowser/i.test(n),a=e||t,y=/OKApp/i.test(n);return a&&y},Oa=()=>typeof window.ethereum!=="undefined";class X extends G{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new X({decimal:e,value:Z({value:n,bigIntDecimal:e,decimal:e})})}}export{Ht as wrapWithThrow,fe as wrapMethodWithNetworkSwitch,xn as warnOnce,_t as validateTNS,mn as validateIdentifier,Ce as switchEVMWalletNetwork,qt as setRequestClientConfig,ma as prepareNetworkSwitch,He as okxMobileEnabled,le as listWeb3EVMWallets,Oa as isWeb3Detected,D as isGasAsset,Ha as isDetected,Ut as getWalletFormatFor,Ct as getTHORNameCost,ta as getSymmetricWithdraw,pe as getSymmetricPoolShare,Yt as getMinAmountByChain,oe as getMemoForWithdraw,de as getMemoForUnbond,xe as getMemoForSaverWithdraw,Te as getMemoForSaverDeposit,re as getMemoForNameRegister,ua as getMemoForNamePreferredAssetRegister,ue as getMemoForLoan,se as getMemoForLeaveAndBond,ie as getMemoForDeposit,Ta as getMemoFor,lt as getMAYANameCost,pa as getLiquiditySlippage,Vt as getGasAsset,aa as getEstimatedPoolShare,la as getETHDefaultWallet,Ra as getEIP6963Wallets,vt as getDerivationPathFor,Hn as getDecimal,Rn as getCommonAssetInfo,Rt as getChainIdentifier,na as getAsymmetricRuneWithdrawAmount,te as getAsymmetricRuneShare,ea as getAsymmetricAssetWithdrawAmount,ae as getAsymmetricAssetShare,On as getAssetType,Z as formatBigIntToSafeValue,Bt as findAssetBy,Wt as filterAssets,Oe as erc20ABI,Et as derivationPathToString,Pn as defaultRequestHeaders,Ft as assetFromString,fa as addEVMWalletNetwork,Ca as addAccountsChangedCallback,pn as WarningCodeEnum,tn as WalletOption,be as UTXOChains,Le as TCSupportedChains,Xe as TCEthereumVaultAbi,ze as TCBscDepositABI,Ge as TCAvalancheDepositABI,X as SwapKitNumber,R as SwapKitError,Me as SubstrateChains,Ve as SWAP_OUT,Ke as SWAP_IN,un as RouteQuoteWarningSchema,Se as RouteQuoteSchema,rn as RouteQuoteMetadataSchema,An as RouteQuoteMetadataAssetSchema,qn as RouteQuoteLegSchema,Ue as RouteLegWithoutAddressesSchema,Ln as RouteLegSchema,I as RequestClient,P as RPCUrl,ce as QuoteResponseSchema,Pe as QuoteRequestSchema,Jn as QuoteMode,z as ProviderName,U as NetworkDerivationPath,an as MemoType,$e as MayaEthereumVaultAbi,_e as MayaArbitrumVaultAbi,Ae as MAYASupportedChains,hn as LedgerErrorCode,dn as FeesSchema,sn as FeeTypeEnum,Mn as FeeOption,E as ExplorerUrl,V as EstimatedTimeSchema,yn as EVMTransactionDetailsSchema,Yn as EVMTransactionDetailsParamsSchema,N as EVMChains,kn as DerivationPath,Ye as CosmosChains,Zn as ContractAddress,ln as CommonAssetStrings,v as ChainToRPC,qe as ChainToHexChainId,Qe as ChainToExplorerUrl,en as ChainToChainId,he as ChainIdToChain,g as ChainId,_ as Chain,G as BigIntArithmetics,w as BaseDecimal,l as AssetValue,bn as ApproveMode,Ne as AGG_SWAP};
|
|
4
|
+
or by passing asyncTokenLookup: true to the from() function, which will make it async and return a promise.`));const{decimal:g,identifier:k,tax:O}=$||{decimal:Y||h[o],identifier:f},J=e?F(BigInt(y),e):F(y,g);return t?Vn(k,e?J:y):l?Fn(k,J):new H({tax:O,decimal:g,identifier:k,value:J})}static loadStaticAssets(){return new Promise((n,e)=>{try{import("@swapkit/tokens").then((t)=>{for(let a of Object.values(t))for(let{identifier:y,chain:s,...d}of a.tokens)V.set(y.toUpperCase(),{identifier:y,decimal:"decimals"in d?d.decimals:h[s]});n({ok:!0})})}catch(t){console.error(t),e({ok:!1,error:t,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}static fromString(n,e=0){return H.from({asset:n,value:e,asyncTokenLookup:!0})}static fromIdentifier(n,e=0){return H.from({asset:n,value:e,asyncTokenLookup:!0})}static fromStringSync(n,e=0){return H.from({asset:n,value:e})}static fromStringWithBase(n,e=0n,t=8){return H.from({asyncTokenLookup:!0,asset:n,value:e,fromBaseDecimal:t})}static fromStringWithBaseSync(n,e=0n,t=8){return H.from({asset:n,value:e,fromBaseDecimal:t})}static fromIdentifierSync(n,e=0){return H.from({asset:n,value:e})}static fromChainOrSignature(n,e=0){if(Object.values(_).includes(n))return H.from({chain:n,value:e});return H.from({asset:n,value:e})}}function Lt({apiKey:n,...e}){en={...e,apiKey:n}}async function K(n,e={}){const{apiKey:t,...a}=en,y={...Kn,...a.headers,...e.headers};if(t)y["x-api-key"]=t;try{const d=await(await fetch(n,{...a,...e,headers:y})).json();if(e.responseHandler)return e.responseHandler(d);return d}catch(s){if(e.onError)return e.onError(s);console.error(s)}}var en={},Kn=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},B={get:async(n,e)=>K(n,{...e,method:"GET"}),post:async(n,e)=>K(n,{...e,method:"POST"}),extend:(n)=>{const e={...en,...n};return{get:async(t,a)=>K(t,{...e,...a,method:"GET"}),post:async(t,a)=>K(t,{...e,...a,method:"POST"}),extend:(t)=>B.extend({...e,...t})}}};async function Pt(n){const e=await import("@swapkit/tokens");for(let t of Object.values(e))for(let{identifier:a,chain:y,...s}of t.tokens){if("identifier"in n&&a===n.identifier)return a;if("address"in s&&"chain"in n&&y===n.chain&&s.address.toLowerCase()===n.contract.toLowerCase())return a}return}var Bn="0x313ce567",On=[`${"MAYA"}.MAYA`,`${"ETH"}.THOR`,`${"ETH"}.vTHOR`,`${"KUJI"}.USK`],_n=async({chain:n,to:e})=>{try{const{result:t}=await B.post(U[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:Bn},"latest"]})});return Number.parseInt(BigInt(t||h[n]).toString())}catch(t){return console.error(t),h[n]}},In=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await B.post(`${U["XRD"]}/state/resource`,{headers:{Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify({network:"mainnet",resource_address:e})});return t.divisibility.value.divisibility}catch(e){return console.error(e),h["XRD"]}},En=(n)=>{if(n==="ETH")return 18;const e=n.split("-"),t=e.length===1?void 0:e[e.length-1]?.toLowerCase();return t?.startsWith("0x")?_n({chain:"ETH",to:t}):18},vn=(n)=>{const e=n.split("-"),t=e.length===1?void 0:e[e.length-1];return t?.startsWith("0x")?_n({chain:"AVAX",to:t.toLowerCase()}):18},Un=(n)=>{if(n==="BSC")return 18;return 18},cn=(n)=>{if(n==="XRD")return 18;return In({symbol:n})},Rn=({chain:n,symbol:e})=>{switch(n){case"ETH":return En(e);case"AVAX":return vn(e);case"BSC":return Un(e);case"XRD":return cn(e);default:return h[n]}},Qt=({chain:n})=>{switch(n){case"ARB":case"OP":return H.from({asset:`${n}.ETH`});case"MAYA":return H.from({asset:`${n}.CACAO`});case"GAIA":return H.from({asset:`${n}.ATOM`});case"BSC":return H.from({asset:`${n}.BNB`});case"THOR":return H.from({asset:`${n}.RUNE`});default:return H.from({asset:`${n}.${n}`})}},nn=({chain:n,symbol:e})=>{switch(n){case"ARB":case"OP":return e==="ETH";case"MAYA":return e==="CACAO";case"GAIA":return e==="ATOM";case"BSC":return e==="BNB";case"THOR":return e==="RUNE";default:return e===n}},hn=(n)=>{switch(n){case"ARB":case"OP":return{identifier:`${n}.ETH`,decimal:h[n]};case`${"ETH"}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${"ETH"}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case"GAIA":return{identifier:`${n}.ATOM`,decimal:h[n]};case"THOR":return{identifier:`${n}.RUNE`,decimal:h[n]};case"BSC":return{identifier:`${n}.BNB`,decimal:h[n]};case"MAYA":return{identifier:`${n}.CACAO`,decimal:10};case"XRD":return{identifier:`${"XRD"}.XRD`,decimal:h[n]};case`${"MAYA"}.MAYA`:return{identifier:n,decimal:4};case`${"KUJI"}.USK`:return{identifier:n,decimal:6};default:return{identifier:`${n}.${n}`,decimal:h[n]}}},wn=({chain:n,symbol:e})=>{if(e.includes("/"))return"Synth";switch(n){case"GAIA":return e==="ATOM"?"Native":"GAIA";case"KUJI":return e==="KUJI"?"Native":"KUJI";case"BSC":return e==="BNB"?"Native":"BEP20";case"ETH":return e==="ETH"?"Native":"ERC20";case"AVAX":return e==="AVAX"?"Native":"AVAX";case"MATIC":return e==="MATIC"?"Native":"POLYGON";case"ARB":return["ETH","ARB"].includes(e)?"Native":"ARBITRUM";case"OP":return["ETH","OP"].includes(e)?"Native":"OPTIMISM";case"XRD":return e==="XRD"?"Native":"RADIX";default:return"Native"}},qt=(n)=>{const[e,...t]=n.split("."),a=n.includes("/"),y=t.join("."),s=y?.split("-"),d=s?.length?s.length===1?s[0]:s.slice(0,-1).join("-"):void 0;return{chain:e,symbol:y,ticker:d,synth:a}},Sn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),Dn=(n)=>{const[e,t]=n.split(".");if(!Q.includes(e))return!0;const a=t.split("-"),y=a.length===1?void 0:a[a.length-1];return nn({chain:e,symbol:t})||!!y},Wt=(n)=>n.filter(({chain:e,value:t,symbol:a})=>{const y=`${e}.${a}`;return!Sn.test(y)&&Dn(y)&&t!=="0"});function Kt([n,e,t,a,y]){return`m/${n}'/${e}'/${t}'/${a}${typeof y!=="number"?"":`/${y}`}`}function Bt({chain:n,index:e,addressIndex:t=0,type:a}){if(Q.includes(n)){if(a==="legacy")return[44,60,0,e];if(a==="ledgerLive")return[44,60,e,0,t];return $n(c[n],e)}const y=n==="LTC"?2:0;switch(a){case"nativeSegwitMiddleAccount":return[84,y,e,0,t];case"segwit":return[49,y,0,0,e];case"legacy":return[44,y,0,0,e];default:return $n(c[n],e)}}function It(n){const[e,t,a]=n.split("/").map((y)=>Number.parseInt(y,10));switch(t){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var $n=(n,e)=>{return[...n.slice(0,n.length-1),e]};function ne({liquidityUnits:n,poolUnits:e,runeDepth:t}){const a=w(n),y=w(e),s=w(t),d=a.mul(s),T=y.mul(y).mul(2),f=y.mul(a).mul(2),i=a.mul(a),o=y.mul(y).mul(y);return d.mul(T.sub(f).add(i)).div(o)}function ee({liquidityUnits:n,poolUnits:e,assetDepth:t}){const a=w(n),y=w(e),s=w(t),d=a.mul(s),T=y.mul(y).mul(2),f=y.mul(a).mul(2),i=a.mul(a),o=d.mul(T.sub(f).add(i)),l=y.mul(y).mul(y);return o.div(l)}function ct({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:a}){return ne({runeDepth:e,liquidityUnits:t,poolUnits:a}).mul(n)}function St({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:a}){return ee({assetDepth:e,liquidityUnits:t,poolUnits:a}).mul(n)}var w=function(n){return G.fromBigInt(BigInt(n),8)};function te({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a}){return{assetAmount:w(a).mul(n).div(e),runeAmount:w(t).mul(n).div(e)}}function Dt({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a,percent:y}){return Object.fromEntries(Object.entries(te({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:a})).map(([s,d])=>[s,d.mul(y)]))}function na({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:a,runeAmount:y,assetAmount:s}){const d=new G({value:n,decimal:8}),T=new G({value:t,decimal:8}),f=new G({value:e,decimal:8}),i=new G({value:y,decimal:8}),o=new G({value:s,decimal:8}),l=i.mul(T),$=o.mul(d),Y=i.mul(o),g=d.mul(T),k=f.mul(l.add($.add(Y.mul(2)))),O=l.add($.add(g.mul(2))),J=k.div(O),A=w(a).add(J);if(J.getBaseValue("number")===0)return A.div(f).getBaseValue("number");const r=f.add(A);return A.div(r).getBaseValue("number")}function ea({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:a}){if(n==="0"||e==="0"||t==="0"||a==="0")return 0;const y=w(t),s=w(a),d=w(e),T=w(n),f=d.mul(y).sub(s.mul(T)),i=s.mul(T).add(y.mul(s));return Math.abs(f.div(i).getBaseValue("number"))}var I=function(n,{affiliateAddress:e,affiliateBasisPoints:t}){const a=e?`:${e}:${t||0}`:"";return`${n}${a}`},ae=function({chain:n,symbol:e}){switch(n){case"BTC":case"DOGE":case"LTC":return n.slice(0,1).toLowerCase();case"BCH":return"c";default:return`${n}.${e}`}};function pe({type:n,address:e}){return`${n}:${e}`}function ye({address:n,unbondAmount:e}){return`${"UNBOND"}:${n}:${e}`}function se({name:n,chain:e,address:t,owner:a}){const y=`${"~"}:${n}:${e}:${t}`,s=a?`:${a}`:"";return`${y}${s}`}function sa({name:n,chain:e,asset:t,payout:a,owner:y}){const s=[n,e,a,y,t].join(":");return`${"~"}:${s}`}function de(n,{asset:e,address:t,minAmount:a,...y}){const s=`${n}:${e}:${t}`,d=a?`:${a}`:"";return I(`${s}${d}`,y)}function re({chain:n,symbol:e,...t}){return I(`${"+"}:${n}/${e}`,t)}function ue({chain:n,symbol:e,address:t,...a}){const y=ae({chain:n,symbol:e}),s=!!a.affiliateAddress,d=t?`:${t}`:s?":":"";return I(`${"+"}:${y}${d}`,a)}function Te({chain:n,symbol:e,basisPoints:t}){return`${"-"}:${n}/${e}:${t}`}function ie({chain:n,symbol:e,ticker:t,basisPoints:a,targetAsset:y}){const s=n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,d=y?`:${y}`:"";return`${"-"}:${n}.${s}:${a}${d}`}function da(){return`${"POOL+"}`}function ra({basisPoints:n,...e}){return I(`${"POOL-"}:${n}`,e)}var ua=(n,e)=>{switch(n){case"LEAVE":case"BOND":{const{address:t}=e;return pe({type:n,address:t})}case"UNBOND":{const{address:t,unbondAmount:a}=e;return ye({address:t,unbondAmount:a})}case"~":return se(e);case"$+":case"$-":return de(n,e);case"+":{const{chain:t,symbol:a,address:y,singleSide:s}=e;if(s)return re({chain:t,symbol:a});return ue({chain:t,symbol:a,address:y})}case"-":{const{chain:t,ticker:a,symbol:y,basisPoints:s,targetAssetString:d,singleSide:T}=e;if(T)return Te({chain:t,symbol:y,basisPoints:s});return ie({chain:t,ticker:a,symbol:y,basisPoints:s,targetAsset:d})}default:throw new R({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function Ha(){const n=[];function e(a){if(n.map((y)=>y.info.uuid).includes(a.detail.info.uuid))return;n.push(a.detail)}window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new Event("eip6963:requestProvider"));function t(){window.removeEventListener("eip6963:announceProvider",e)}return{providers:n,removeEIP6963EventListener:t}}var oe=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],xe=(n,e,t)=>async(...a)=>{try{await me(e,t)}catch(y){throw new R({errorKey:"helpers_failed_to_switch_network",info:{error:y}})}return n(...a)},Gn=({provider:n,params:e,method:t})=>{if(!n?.send)throw new R("helpers_not_found_provider");const a=e?Array.isArray(e)?e:[e]:[];return n.send(t,a)},xa=({toolbox:n,chainId:e,provider:t=window.ethereum})=>{const a=oe.reduce((y,s)=>{if(!n[s])return y;const d=n[s];if(typeof d!=="function")return y;return{...y,[s]:xe(d,t,e)}},{});return{...n,...a}},ma=(n,e)=>Gn({provider:n,method:"wallet_addEthereumChain",params:[e]}),me=(n,e="0x1")=>Gn({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),fa=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},la=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:a,selectedProvider:y}=window?.ethereum||{};if(n)return"TRUSTWALLET_WEB";if(e)return"BRAVE";if(a&&y?.isCoinbaseWallet)return"COINBASE_WEB";if(t)"XDEFI";return"METAMASK"},Ca=(n)=>{return fe().includes(n)},fe=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,e=window?.xfi||window?.ethereum?.__XDEFI,t=window?.ethereum?.isBraveWallet,a=window?.ethereum?.isTrust||window?.trustwallet,y=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,s=[];if(n)s.push("METAMASK");if(e)s.push("XDEFI");if(t)s.push("BRAVE");if(a)s.push("TRUSTWALLET_WEB");if(y)s.push("COINBASE_WEB");if(le())s.push("OKX_MOBILE");return s},le=()=>{const n=navigator.userAgent,e=/iphone|ipad|ipod|ios/i.test(n),t=/android|XiaoMi|MiuiBrowser/i.test(n),a=e||t,y=/OKApp/i.test(n);return a&&y},Oa=()=>typeof window.ethereum!=="undefined";class G extends X{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new G({decimal:e,value:Z({value:n,bigIntDecimal:e,decimal:e})})}}export{lt as wrapWithThrow,xe as wrapMethodWithNetworkSwitch,mn as warnOnce,ht as validateTNS,ln as validateIdentifier,me as switchEVMWalletNetwork,Lt as setRequestClientConfig,xa as prepareNetworkSwitch,le as okxMobileEnabled,fe as listWeb3EVMWallets,Oa as isWeb3Detected,nn as isGasAsset,Ca as isDetected,It as getWalletFormatFor,mt as getTHORNameCost,Dt as getSymmetricWithdraw,te as getSymmetricPoolShare,bt as getMinAmountByChain,ie as getMemoForWithdraw,ye as getMemoForUnbond,Te as getMemoForSaverWithdraw,re as getMemoForSaverDeposit,ra as getMemoForRunePoolWithdraw,da as getMemoForRunePoolDeposit,se as getMemoForNameRegister,sa as getMemoForNamePreferredAssetRegister,de as getMemoForLoan,pe as getMemoForLeaveAndBond,ue as getMemoForDeposit,ua as getMemoFor,ft as getMAYANameCost,ea as getLiquiditySlippage,Qt as getGasAsset,na as getEstimatedPoolShare,la as getETHDefaultWallet,Ha as getEIP6963Wallets,Bt as getDerivationPathFor,Rn as getDecimal,hn as getCommonAssetInfo,Ct as getChainIdentifier,ct as getAsymmetricRuneWithdrawAmount,ne as getAsymmetricRuneShare,St as getAsymmetricAssetWithdrawAmount,ee as getAsymmetricAssetShare,wn as getAssetType,Z as formatBigIntToSafeValue,Pt as findAssetBy,Wt as filterAssets,He as erc20ABI,Kt as derivationPathToString,Kn as defaultRequestHeaders,qt as assetFromString,ma as addEVMWalletNetwork,fa as addAccountsChangedCallback,sn as WarningCodeEnum,pn as WalletOption,ke as UTXOChains,Me as TCSupportedChains,_e as TCEthereumVaultAbi,Ge as TCBscDepositABI,$e as TCAvalancheDepositABI,G as SwapKitNumber,R as SwapKitError,Ze as SubstrateChains,qe as SWAP_OUT,Qe as SWAP_IN,on as RouteQuoteWarningSchema,ve as RouteQuoteSchema,Tn as RouteQuoteMetadataSchema,Yn as RouteQuoteMetadataAssetSchema,gn as RouteQuoteLegSchema,Ee as RouteLegWithoutAddressesSchema,Ln as RouteLegSchema,B as RequestClient,E as RPCUrl,Ue as QuoteResponseSchema,Ke as QuoteRequestSchema,jn as QuoteMode,j as ProviderName,c as NetworkDerivationPath,yn as MemoType,Re as MayaEthereumVaultAbi,he as MayaArbitrumVaultAbi,Le as MAYASupportedChains,Zn as LedgerErrorCode,un as FeesSchema,rn as FeeTypeEnum,kn as FeeOption,v as ExplorerUrl,W as EstimatedTimeSchema,dn as EVMTransactionDetailsSchema,Mn as EVMTransactionDetailsParamsSchema,Q as EVMChains,Jn as DerivationPath,be as CosmosChains,zn as ContractAddress,On as CommonAssetStrings,U as ChainToRPC,Ye as ChainToHexChainId,ge as ChainToExplorerUrl,an as ChainToChainId,Je as ChainIdToChain,N as ChainId,_ as Chain,X as BigIntArithmetics,h as BaseDecimal,H as AssetValue,bn as ApproveMode,Ne as AGG_SWAP};
|
|
5
5
|
|
|
6
|
-
//# debugId=
|
|
6
|
+
//# debugId=C6FF85F7A5E4736264756E2164756E21
|