@swapkit/helpers 1.0.1 → 1.0.2

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 CHANGED
@@ -1,3 +1,3 @@
1
- var an=((n)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(n,{get:(e,t)=>(typeof require!=="undefined"?require:e)[t]}):n)(function(n){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var He=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"}];var oe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct MAYAChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct MAYAChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],_e=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct ArbRouter.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ArbRouter.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var $e=[{inputs:[{internalType:"address",name:"rune",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[],name:"RUNE",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"aggregator",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Ge=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Xe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var M;(function(m){m["Arbitrum"]="https://arb1.arbitrum.io/rpc";m["Avalanche"]="https://node-router.thorswap.net/avalanche-c";m["BinanceSmartChain"]="https://bsc-dataseed.binance.org";m["Bitcoin"]="https://node-router.thorswap.net/bitcoin";m["BitcoinCash"]="https://node-router.thorswap.net/bitcoin-cash";m["Chainflip"]="wss://mainnet-archive.chainflip.io";m["Cosmos"]="https://node-router.thorswap.net/cosmos/rpc";m["Dash"]="https://node-router.thorswap.net/dash";m["Dogecoin"]="https://node-router.thorswap.net/dogecoin";m["Ethereum"]="https://node-router.thorswap.net/ethereum";m["Kujira"]="https://rpc-kujira.synergynodes.com/";m["Litecoin"]="https://node-router.thorswap.net/litecoin";m["Maya"]="https://tendermint.mayachain.info";m["MayaStagenet"]="https://stagenet.tendermint.mayachain.info";m["Optimism"]="https://mainnet.optimism.io";m["Polkadot"]="wss://rpc.polkadot.io";m["Polygon"]="https://polygon-rpc.com";m["Radix"]="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";m["THORChain"]="https://rpc.thorswap.net";m["THORChainStagenet"]="https://stagenet-rpc.ninerealms.com";m["Solana"]="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(M||(M={}));var Q;(function(s){s["Arbitrum"]="https://arbiscan.io";s["Avalanche"]="https://snowtrace.io";s["BinanceSmartChain"]="https://bscscan.com";s["Bitcoin"]="https://blockchair.com/bitcoin";s["BitcoinCash"]="https://www.blockchair.com/bitcoin-cash";s["Chainflip"]="https://explorer.polkascan.io/polkadot";s["Cosmos"]="https://www.mintscan.io/cosmos";s["Dash"]="https://blockchair.com/dash";s["Dogecoin"]="https://blockchair.com/dogecoin";s["Ethereum"]="https://etherscan.io";s["Kujira"]="https://finder.kujira.network/kaiyo-1";s["Litecoin"]="https://blockchair.com/litecoin";s["Maya"]="https://www.mayascan.org";s["Optimism"]="https://optimistic.etherscan.io";s["Polkadot"]="https://polkadot.subscan.io";s["Polygon"]="https://polygonscan.com";s["Radix"]="https://dashboard.radixdlt.com";s["THORChain"]="https://runescan.io";s["Solana"]="https://solscan.io"})(Q||(Q={}));var y;(function(s){s["Arbitrum"]="ARB";s["Avalanche"]="AVAX";s["BinanceSmartChain"]="BSC";s["Bitcoin"]="BTC";s["BitcoinCash"]="BCH";s["Cosmos"]="GAIA";s["Dash"]="DASH";s["Dogecoin"]="DOGE";s["Ethereum"]="ETH";s["Kujira"]="KUJI";s["Litecoin"]="LTC";s["Maya"]="MAYA";s["Optimism"]="OP";s["Polkadot"]="DOT";s["Chainflip"]="FLIP";s["Polygon"]="MATIC";s["Radix"]="XRD";s["THORChain"]="THOR";s["Solana"]="SOL"})(y||(y={}));var o;(function(T){T["Arbitrum"]="42161";T["ArbitrumHex"]="0xa4b1";T["Avalanche"]="43114";T["AvalancheHex"]="0xa86a";T["BinanceSmartChain"]="56";T["BinanceSmartChainHex"]="0x38";T["Bitcoin"]="bitcoin";T["BitcoinCash"]="bitcoincash";T["Chainflip"]="chainflip";T["Cosmos"]="cosmoshub-4";T["Dash"]="dash";T["Dogecoin"]="dogecoin";T["Kujira"]="kaiyo-1";T["Ethereum"]="1";T["EthereumHex"]="0x1";T["Litecoin"]="litecoin";T["Maya"]="mayachain-mainnet-v1";T["MayaStagenet"]="mayachain-stagenet-v1";T["Optimism"]="10";T["OptimismHex"]="0xa";T["Polkadot"]="polkadot";T["Polygon"]="137";T["PolygonHex"]="0x89";T["Radix"]="radix-mainnet";T["THORChain"]="thorchain-mainnet-v1";T["THORChainStagenet"]="thorchain-stagenet-v2";T["Solana"]="solana"})(o||(o={}));var ke={[o.ArbitrumHex]:y.Arbitrum,[o.Arbitrum]:y.Arbitrum,[o.AvalancheHex]:y.Avalanche,[o.Avalanche]:y.Avalanche,[o.BinanceSmartChainHex]:y.BinanceSmartChain,[o.BinanceSmartChain]:y.BinanceSmartChain,[o.BitcoinCash]:y.BitcoinCash,[o.Bitcoin]:y.Bitcoin,[o.Chainflip]:y.Chainflip,[o.Cosmos]:y.Cosmos,[o.Dash]:y.Dash,[o.Dogecoin]:y.Dogecoin,[o.EthereumHex]:y.Ethereum,[o.Kujira]:y.Kujira,[o.Ethereum]:y.Ethereum,[o.Litecoin]:y.Litecoin,[o.MayaStagenet]:y.Maya,[o.Maya]:y.Maya,[o.OptimismHex]:y.Optimism,[o.Optimism]:y.Optimism,[o.Polkadot]:y.Polkadot,[o.PolygonHex]:y.Polygon,[o.Polygon]:y.Polygon,[o.Radix]:y.Radix,[o.THORChainStagenet]:y.THORChain,[o.THORChain]:y.THORChain,[o.Solana]:y.Solana},On=Object.keys(y),V=Object.values(y),j;(function(f){f[f["ARB"]=18]="ARB";f[f["AVAX"]=18]="AVAX";f[f["BCH"]=8]="BCH";f[f["BSC"]=18]="BSC";f[f["BTC"]=8]="BTC";f[f["DASH"]=8]="DASH";f[f["DOGE"]=8]="DOGE";f[f["DOT"]=10]="DOT";f[f["ETH"]=18]="ETH";f[f["FLIP"]=18]="FLIP";f[f["GAIA"]=6]="GAIA";f[f["KUJI"]=6]="KUJI";f[f["LTC"]=8]="LTC";f[f["MATIC"]=18]="MATIC";f[f["MAYA"]=10]="MAYA";f[f["OP"]=18]="OP";f[f["SOL"]=9]="SOL";f[f["THOR"]=8]="THOR";f[f["XRD"]=18]="XRD";f[f["ZEC"]=8]="ZEC"})(j||(j={}));var Re=[y.Polkadot,y.Chainflip],W=[y.Ethereum,y.Avalanche,y.BinanceSmartChain,y.Arbitrum,y.Optimism,y.Polygon],Ye=[y.Bitcoin,y.BitcoinCash,y.Dash,y.Dogecoin,y.Litecoin],Le=[y.Cosmos,y.THORChain,y.Maya,y.Kujira],Oe=[y.Avalanche,y.BinanceSmartChain,y.Bitcoin,y.BitcoinCash,y.Cosmos,y.Dogecoin,y.Ethereum,y.Litecoin,y.THORChain],be=[y.Arbitrum,y.Dash,y.Ethereum,y.Kujira,y.Maya,y.THORChain],l=V.reduce((n,e)=>{const t=On.find((p)=>y[p]===e);if(t)n[e]=t;return n},{}),dn=V.reduce((n,e)=>{return n[e]=o[l[e]],n},{}),D=V.reduce((n,e)=>{return n[e]=M[l[e]],n},{}),ge=V.reduce((n,e)=>{const t=`${l[e]}Hex`;return n[e]=o[t],n},{}),qe=V.reduce((n,e)=>{return n[e]=Q[l[e]],n},{});var X;(function(H){H["TC_SUPPORTED_TO_TC_SUPPORTED"]="TC-TC";H["TC_SUPPORTED_TO_ETH"]="TC-ERC20";H["TC_SUPPORTED_TO_AVAX"]="TC-ARC20";H["TC_SUPPORTED_TO_BSC"]="TC-BEP20";H["ETH_TO_TC_SUPPORTED"]="ERC20-TC";H["ETH_TO_ETH"]="ERC20-ERC20";H["ETH_TO_AVAX"]="ERC20-ARC20";H["ETH_TO_BSC"]="ERC20-BEP20";H["AVAX_TO_TC_SUPPORTED"]="ARC20-TC";H["AVAX_TO_ETH"]="ARC20-ERC20";H["AVAX_TO_AVAX"]="ARC20-ARC20";H["AVAX_TO_BSC"]="ARC20-BEP20";H["BSC_TO_TC_SUPPORTED"]="BEP20-TC";H["BSC_TO_ETH"]="BEP20-ERC20";H["BSC_TO_AVAX"]="BEP20-ARC20";H["BSC_TO_BSC"]="BEP20-BEP20"})(X||(X={}));var Ve=[X.ETH_TO_ETH,X.AVAX_TO_AVAX,X.BSC_TO_BSC],Ne=[X.ETH_TO_TC_SUPPORTED,X.ETH_TO_AVAX,X.ETH_TO_BSC,X.AVAX_TO_TC_SUPPORTED,X.AVAX_TO_ETH,X.AVAX_TO_BSC,X.BSC_TO_TC_SUPPORTED,X.BSC_TO_ETH,X.BSC_TO_AVAX],Ae=[X.TC_SUPPORTED_TO_TC_SUPPORTED,X.TC_SUPPORTED_TO_ETH,X.TC_SUPPORTED_TO_AVAX,X.TC_SUPPORTED_TO_BSC];var un;(function(u){u["ARB"]="0x0000000000000000000000000000000000000000";u["AVAX"]="0x0000000000000000000000000000000000000000";u["ETH"]="0x0000000000000000000000000000000000000000";u["BSC"]="0x0000000000000000000000000000000000000000";u["MATIC"]="0x0000000000000000000000000000000000001010";u["OP"]="0x4200000000000000000000000000000000000042"})(un||(un={}));var rn;(function(s){s["ARB"]="m/44'/60'/0'/0";s["AVAX"]="m/44'/60'/0'/0";s["BCH"]="m/44'/145'/0'/0";s["BSC"]="m/44'/60'/0'/0";s["BTC"]="m/84'/0'/0'/0";s["DASH"]="m/44'/5'/0'/0";s["DOGE"]="m/44'/3'/0'/0";s["DOT"]="////";s["ETH"]="m/44'/60'/0'/0";s["FLIP"]="////";s["GAIA"]="m/44'/118'/0'/0";s["KUJI"]="m/44'/118'/0'/0";s["LTC"]="m/84'/2'/0'/0";s["MATIC"]="m/44'/60'/0'/0";s["MAYA"]="m/44'/931'/0'/0";s["OP"]="m/44'/60'/0'/0";s["SOL"]="m/44'/501'/0'/0";s["THOR"]="m/44'/931'/0'/0";s["XRD"]="////"})(rn||(rn={}));var E={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],SOL:[44,501,0,0,0],THOR:[44,931,0,0,0],XRD:[0,0,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var k;(function(s){s["BRAVE"]="BRAVE";s["COINBASE_MOBILE"]="COINBASE_MOBILE";s["COINBASE_WEB"]="COINBASE_WEB";s["EIP6963"]="EIP6963";s["EXODUS"]="EXODUS";s["KEEPKEY"]="KEEPKEY";s["KEPLR"]="KEPLR";s["KEYSTORE"]="KEYSTORE";s["LEDGER"]="LEDGER";s["METAMASK"]="METAMASK";s["OKX"]="OKX";s["OKX_MOBILE"]="OKX_MOBILE";s["PHANTOM"]="PHANTOM";s["RADIX_WALLET"]="RADIX_WALLET";s["TREZOR"]="TREZOR";s["TALISMAN"]="TALISMAN";s["TRUSTWALLET_WEB"]="TRUSTWALLET_WEB";s["WALLETCONNECT"]="WALLETCONNECT";s["XDEFI"]="XDEFI"})(k||(k={}));var Tn;(function(p){p[p["NoError"]=36864]="NoError";p[p["LockedDevice"]=21781]="LockedDevice";p[p["TC_NotFound"]=65535]="TC_NotFound"})(Tn||(Tn={}));import{z as $} from"zod";var xn;(function(p){p["Average"]="average";p["Fast"]="fast";p["Fastest"]="fastest"})(xn||(xn={}));var mn;(function(t){t["Approve"]="approve";t["CheckOnly"]="checkOnly"})(mn||(mn={}));var J;(function(i){i["BOND"]="BOND";i["DEPOSIT"]="+";i["LEAVE"]="LEAVE";i["NAME_REGISTER"]="~";i["UNBOND"]="UNBOND";i["WITHDRAW"]="-";i["OPEN_LOAN"]="$+";i["CLOSE_LOAN"]="$-"})(J||(J={}));var We=$.object({sellAsset:$.string({description:"Asset to sell"}),buyAsset:$.string({description:"Asset to buy"}),sellAmount:$.number({description:"Amount of asset to sell"}).refine((n)=>n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:$.optional($.array($.string({description:"List of providers to use"}))),sourceAddress:$.optional($.string({description:"Address to send asset from"})),destinationAddress:$.optional($.string({description:"Address to send asset to"})),slippage:$.optional($.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:$.optional($.string({description:"Affiliate thorname"})),affiliateFee:$.optional($.number({description:"Affiliate fee in basis points"}).refine((n)=>{return n===Math.floor(n)&&n>=0},{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractSender:$.optional($.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:$.optional($.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:$.optional($.boolean({description:"Disable security checks"}))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]});import{z as a} from"zod";var h;(function(t){t["highSlippage"]="highSlippage";t["highPriceImpact"]="highPriceImpact"})(h||(h={}));var bn=a.array(a.union([a.string(),a.number(),a.array(a.string()),a.object({from:a.string(),value:a.string()}).describe("Parameters to pass to the contract method")])),fn=a.object({contractAddress:a.string({description:"Address of the contract to interact with"}),contractMethod:a.string({description:"Name of the method to call"}),contractParams:bn,contractParamNames:a.array(a.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:a.optional(a.string({description:"Address of the token to approve spending of"})),approvalSpender:a.optional(a.string({description:"Address of the spender to approve"}))}),I=a.object({inbound:a.optional(a.number({description:"Time to receive inbound asset in seconds"})),swap:a.optional(a.number({description:"Time to swap assets in seconds"})),outbound:a.optional(a.number({description:"Time to receive outbound asset in seconds"})),total:a.number({description:"Total time in seconds"})}),O;(function(w){w["CHAINFLIP"]="CHAINFLIP";w["TRADERJOE_V1"]="TRADERJOE_V1";w["PANGOLIN_V1"]="PANGOLIN_V1";w["UNISWAP_V2"]="UNISWAP_V2";w["THORCHAIN"]="THORCHAIN";w["THORCHAIN_STREAMING"]="THORCHAIN_STREAMING";w["MAYACHAIN"]="MAYACHAIN";w["ONEINCH"]="ONEINCH";w["SUSHISWAP_V2"]="SUSHISWAP_V2";w["WOOFI_V2"]="WOOFI_V2";w["PANCAKESWAP"]="PANCAKESWAP"})(O||(O={}));var nn;(function(u){u["LIQUIDITY"]="liquidity";u["NETWORK"]="network";u["INBOUND"]="inbound";u["OUTBOUND"]="outbound";u["AFFILIATE"]="affiliate";u["TAX"]="tax"})(nn||(nn={}));var Hn=a.array(a.object({type:a.nativeEnum(nn),amount:a.string(),asset:a.string(),chain:a.string(),protocol:a.nativeEnum(O)})),gn=a.object({sellAsset:a.string({description:"Asset to sell"}),buyAsset:a.string({description:"Asset to buy"}),provider:a.nativeEnum(O),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),estimatedTime:I.optional(),affiliate:a.string({description:"Affiliate address"}).optional(),affiliateFee:a.number({description:"Affiliate fee"}).optional(),slipPercentage:a.number({description:"Slippage as a percentage"})}),Ie=gn.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),qn=a.object({name:a.string({description:"Asset name"}),price:a.number({description:"Price in USD"}),image:a.string({description:"Asset image"})}),wn=a.object({priceImpact:a.number({description:"Price impact"}),assets:a.optional(a.array(qn))}),on=a.array(a.object({code:a.nativeEnum(h),display:a.string(),tooltip:a.string().optional()})),Kn=a.object({sellAsset:a.string({description:"Asset to sell"}),buyAsset:a.string({description:"Asset to buy"}),provider:a.nativeEnum(O),buyAmount:a.string({description:"Amount of asset to buy"}),buyAmountMaxSlippage:a.string({description:"Amount of asset to buy"}),sellAmount:a.string({description:"Amount of asset to sell"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),slippageBps:a.number({description:"Slippage in bps"}),targetAddress:a.optional(a.string({description:"Target address for contract call or transfer address"})),inboundAddress:a.optional(a.string({description:"Inbound address"})),routerAddress:a.optional(a.string({description:"Inbound address"})),contractMethod:a.optional(a.string({description:"Contract method"})),fees:a.optional(Hn),estimatedTime:a.optional(I),memo:a.optional(a.string({description:"Memo"})),expiration:a.optional(a.string({description:"Expiration"}))}),Pe=a.object({providers:a.array(a.nativeEnum(O)),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"sell amount"}),buyAsset:a.string({description:"Asset to buy"}),expectedBuyAmount:a.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:a.string({description:"Expected Buy amount max slippage"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),targetAddress:a.optional(a.string({description:"Target address"})),routerAddress:a.optional(a.string({description:"Router address"})),inboundAddress:a.optional(a.string({description:"Inbound address"})),expiration:a.optional(a.string({description:"Expiration"})),memo:a.optional(a.string({description:"Memo"})),evmTransactionDetails:a.optional(fn),routePathArray:a.optional(a.array(a.string())),estimatedTime:a.optional(I),totalSlippageBps:a.number({description:"Total slippage in bps"}),legs:a.array(Kn),errorCode:a.optional(a.string()),warnings:on,meta:wn}),Vn=a.object({provider:a.nativeEnum(O),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"Sell amount"}),buyAsset:a.string({description:"Asset to buy"}),buyAmount:a.string({description:"Buy amount"}),buyAmountMaxSlippage:a.string({description:"Buy amount max slippage"}),fees:a.optional(Hn)}),Nn=a.object({providers:a.array(a.nativeEnum(O)),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"sell amount"}),buyAsset:a.string({description:"Asset to buy"}),expectedBuyAmount:a.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:a.string({description:"Expected Buy amount max slippage"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),targetAddress:a.optional(a.string({description:"Target address"})),expiration:a.optional(a.string({description:"Expiration"})),memo:a.optional(a.string({description:"Memo"})),evmTransactionDetails:a.optional(fn),estimatedTime:a.optional(I),totalSlippageBps:a.number({description:"Total slippage in bps"}),legs:a.array(Vn),warnings:on,meta:wn}),Se=a.object({quoteId:a.string({description:"Quote ID"}),routes:a.array(Nn),error:a.optional(a.string({description:"Error message"}))});var An={core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_plugin_not_found:10006,core_plugin_swap_not_found:10007,core_approve_asset_target_invalid:10008,core_explorer_unsupported_chain:10009,core_chain_halted:10099,core_wallet_connection_not_found:10100,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_wallet_keepkey_not_installed:10109,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,core_transaction_deposit_error:10301,core_transaction_create_liquidity_base_error:10302,core_transaction_create_liquidity_asset_error:10303,core_transaction_create_liquidity_invalid_params:10304,core_transaction_add_liquidity_invalid_params:10305,core_transaction_add_liquidity_base_address:10306,core_transaction_add_liquidity_base_error:10307,core_transaction_add_liquidity_asset_error:10308,core_transaction_withdraw_error:10309,core_transaction_deposit_to_pool_error:10310,core_transaction_deposit_insufficient_funds_error:10311,core_transaction_deposit_gas_error:10312,core_transaction_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,wallet_connection_rejected_by_user:20000,wallet_missing_api_key:20001,wallet_chain_not_supported:20002,wallet_missing_params:20003,wallet_provider_not_found:20004,wallet_failed_to_add_or_switch_network:20005,wallet_ledger_connection_error:20101,wallet_ledger_connection_claimed:20102,wallet_ledger_get_address_error:20103,wallet_ledger_device_not_found:20104,wallet_ledger_device_locked:20105,wallet_phantom_not_found:20201,wallet_xdefi_not_found:20301,wallet_xdefi_send_transaction_no_address:20302,wallet_xdefi_contract_address_not_provided:20303,wallet_xdefi_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30100,chainflip_broker_recipient_error:30101,chainflip_broker_register:30102,chainflip_broker_tx_error:30103,chainflip_broker_withdraw:30104,chainflip_broker_fund_only_flip_supported:30105,chainflip_broker_fund_invalid_address:30106,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_swapin_router_required:40100,thorchain_swapin_vault_required:40101,thorchain_swapin_memo_required:40102,thorchain_swapin_token_required:40103,api_v2_invalid_response:50001,toolbox_cosmos_signer_not_defined:90101,toolbox_cosmos_no_accounts_found:90102,helpers_invalid_number_different_decimals:99000,helpers_invalid_number_of_years:99001,helpers_invalid_identifier:99002,helpers_invalid_asset_url:99003,helpers_invalid_asset_identifier:99004,helpers_invalid_memo_type:99005,helpers_failed_to_switch_network:99103,helpers_not_found_provider:99200};class z extends Error{static ErrorCode=An;constructor(n,e){const t=typeof n==="string",p=t?n:n.errorKey;if(e)console.error(e,{stack:e?.stack,message:e?.message});super(p,{cause:{code:z.ErrorCode[p],message:`${p}${t?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,z.prototype)}}function jn(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(_n.includes(t))return!0;const[p]=e.split("/");if(_n.includes(p))return!0;throw new z({errorKey:"helpers_invalid_identifier",info:{message:`Invalid identifier: ${n}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`,identifier:n}})}function xt(n){if(n.length>30)return!1;const e=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(e)}var _n=[...Object.values(y),"TERRA"];function q({value:n,bigIntDecimal:e=A,decimal:t=A}){if(t===0)return n.toString();const p=n<0n;let d=n.toString().substring(p?1:0);const r=t-(d.length-1);if(r>0)d="0".repeat(r)+d;const u=d.length-t;let x=d.slice(-t);if(Number.parseInt(x[e]||"0")>=5)x=`${x.substring(0,e-1)}${(Number.parseInt(x[e-1]||"0")+1).toString()}`;else x=x.substring(0,e);return`${p?"-":""}${d.slice(0,u)}.${x}`.replace(/\.?0*$/,"")}var P=function(n){const t=`${typeof n==="number"?Bn.format(n):en(n)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]||"0"},$n=function(n){const e=n.split(".")[1]?.length||0;return Math.max(e,A)},en=function(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n},A=8,g=(n)=>10n**BigInt(n),N=(n)=>Math.log10(Number.parseFloat(n.toString()));class b{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new b({decimal:e,value:q({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return b.fromBigInt(n.getBaseValue("bigint")*g(t)/g(e),t)}constructor(n){const e=en(n),t=typeof n==="object";this.decimal=t?n.decimal:void 0,this.decimalMultiplier=t&&"decimalMultiplier"in n?n.decimalMultiplier:g(Math.max($n(P(e)),this.decimal||0)),this.#y(e)}set(n){return new this.constructor({decimal:this.decimal,value:n,identifier:this.toString()})}add(...n){return this.#e("add",...n)}sub(...n){return this.#e("sub",...n)}mul(...n){return this.#e("mul",...n)}div(...n){return this.#e("div",...n)}gt(n){return this.#n("gt",n)}gte(n){return this.#n("gte",n)}lt(n){return this.#n("lt",n)}lte(n){return this.#n("lte",n)}eqValue(n){return this.#n("eqValue",n)}getValue(n){const e=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||N(this.decimalMultiplier));switch(n){case"number":return Number(e);case"string":return e;case"bigint":return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(n){const e=this.decimalMultiplier/g(this.decimal||j.THOR),t=this.bigIntValue/e;switch(n){case"number":return Number(t);case"string":return t.toString();case"bigint":return t}}getBigIntValue(n,e){if(!e&&typeof n==="object")return n.bigIntValue;const t=en(n),p=P(t);if(p==="0"||p==="undefined")return 0n;return this.#p(p,e)}toSignificant(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",d=t||"";if((Number.parseInt(p)?p.length+d.length:d.length)<=n)return this.getValue("string");if(p.length>=n)return p.slice(0,n).padEnd(p.length,"0");if(Number.parseInt(p))return`${p}.${d.slice(0,n-p.length)}`.padEnd(n-p.length,"0");const u=Number.parseInt(d),x=`${u}`.slice(0,n);return`0.${x.padStart(d.length-`${u}`.length+x.length,"0")}`}toFixed(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",d=t||"";if(Number.parseInt(p))return`${p}.${d.slice(0,n)}`.padEnd(n,"0");const r=Number.parseInt(d),u=`${r}`.slice(0,n);return`0.${u.padStart(d.length-`${r}`.length+u.length,"0")}`}toAbbreviation(n=2){const e=this.getValue("number"),t=["","K","M","B","T","Q","Qi","S"],p=Math.floor(Math.log10(Math.abs(e))/3),d=t[p];if(!d)return this.getValue("string");const r=10**(p*3);return`${(e/r).toFixed(n)}${d}`}toCurrency(n="$",{currencyPosition:e="start",decimal:t=2,decimalSeparator:p=".",thousandSeparator:d=","}={}){const r=this.getValue("number"),[u="",x=""]=r.toFixed(6).split("."),i=u.replace(/\B(?=(\d{3})+(?!\d))/g,d),_=u||x?u==="0"?`${Number.parseFloat(`0.${x}`)}`.replace(".",p):`${i}${Number.parseInt(x)?`${p}${x.slice(0,t)}`:""}`:"0.00";return`${e==="start"?n:""}${_}${e==="end"?n:""}`}formatBigIntToSafeValue(n,e){const t=e||this.decimal||A,p=Math.max(t,N(this.decimalMultiplier)),d=n<0n,r=n.toString().substring(d?1:0),u=p-(r.length-1),x=u>0?"0".repeat(u)+r:r,i=x.length-p;let _=x.slice(-p);if(Number.parseInt(_[t]||"0")>=5)_=`${_.substring(0,t-1)}${(Number.parseInt(_[t-1]||"0")+1).toString()}`;else _=_.substring(0,t);return`${d?"-":""}${x.slice(0,i)}.${_}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),p=Math.max(t,N(this.decimalMultiplier)),d=g(p),r=e.reduce((x,i)=>{const _=this.getBigIntValue(i,p);switch(n){case"add":return x+_;case"sub":return x-_;case"mul":return x*_/d;case"div":{if(_===0n)throw new RangeError("Division by zero");return x*d/_}default:return x}},this.bigIntValue*d/this.decimalMultiplier),u=q({bigIntDecimal:p,decimal:p,value:r});return new this.constructor({decimalMultiplier:g(p),decimal:this.decimal,value:u,identifier:this.toString()})}#n(n,...e){const t=this.#t(this,...e),p=this.getBigIntValue(e[0]||"0",t),d=this.getBigIntValue(this,t);switch(n){case"gt":return d>p;case"gte":return d>=p;case"lt":return d<p;case"lte":return d<=p;case"eqValue":return d===p}}#y(n){const e=P(n)||"0";this.bigIntValue=this.#p(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||N(t.decimalMultiplier):$n(P(t))}).filter(Boolean);return Math.max(...e,A)}#p(n,e){const t=e?g(e):this.decimalMultiplier,p=N(t),[d="",r=""]=n.split(".");return BigInt(`${d}${r.padEnd(p,"0")}`)}}var Bn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function $t(n){const e=G.from({chain:n});switch(n){case y.Bitcoin:case y.Litecoin:case y.BitcoinCash:case y.Dash:return e.set(0.00010001);case y.Dogecoin:return e.set(1.00000001);case y.Avalanche:case y.Ethereum:case y.Arbitrum:case y.BinanceSmartChain:return e.set(0.00000001);case y.THORChain:case y.Maya:return e.set(0);case y.Cosmos:case y.Kujira:return e.set(0.000001);default:return e.set(0.00000001)}}async function Fn(n,e=0){jn(n);const t=S.get(n.toUpperCase()),p=t?.decimal||await Xn(tn(n));if(!t)S.set(n.toUpperCase(),{identifier:n,decimal:p});return new G({decimal:p,value:v(e,p),identifier:n})}var Mn=function(n,e=0){const[t,p]=n.split(".")?.[0]?.toUpperCase()===y.THORChain?n.split(".").slice(1).join().split("/"):n.split("/");if(!(t&&p))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new G({decimal:8,value:v(e,8),identifier:`${y.THORChain}.${t}/${p}`})},v=function(n,e){return typeof n==="bigint"?q({value:n,bigIntDecimal:e,decimal:e}):n},tn=function(n){const e=n.slice(0,14).includes("/"),t=n.split(".")?.[0]?.toUpperCase()===y.THORChain,p=n.split(".")?.[0]?.toUpperCase()===y.Maya,[d,r=""]=t||p?n.split(".").slice(1).join().split("/"):n.split("/");if(e&&!(d&&r))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const u=n.includes(".")&&!e?n:`${p?y.Maya:y.THORChain}.${r}`,[x,...i]=u.split("."),_=e?r:i.join("."),Z=_.split("-"),w=Z.length===1?Z[0]:Z.slice(0,-1).join("-"),L=Z.length===1?void 0:Z[Z.length-1];return{address:L?.toLowerCase(),chain:x,isGasAsset:pn({chain:x,symbol:_}),isSynthetic:e,ticker:w,symbol:(e?`${d}/`:"")+(L?`${w}-${L?.toLowerCase()??""}`:_)}},S=new Map;class G extends b{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:e,tax:t,chain:p,symbol:d,identifier:r}){super(typeof n==="object"?n:{decimal:e,value:n});const u=tn(r||`${p}.${d}`);this.type=Jn(u),this.tax=t,this.chain=u.chain,this.ticker=u.ticker,this.symbol=u.symbol,this.address=u.address,this.isSynthetic=u.isSynthetic,this.isGasAsset=u.isGasAsset,this.chainId=dn[u.chain]}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eqAsset({chain:n,symbol:e}){return this.chain===n&&this.symbol===e}eq(n){return this.eqAsset(n)&&this.eqValue(n)}static fromUrl(n,e=0){const[t,p,d]=n.split(".");if(!(t&&p))throw new z({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const r=t===y.THORChain&&d?`${t}.${p}/${d}`:n;return G.from({asset:r,value:e})}static from({value:n=0,fromBaseDecimal:e,asyncTokenLookup:t,...p}){const d=n instanceof b?n.getValue("string"):n,r="chain"in p,u=r?p.chain:p.asset,x=r||Gn.includes(u),{identifier:i,decimal:_}=x?zn(u):{identifier:u,decimal:void 0},{chain:Z,isSynthetic:w}=tn(i),{tax:L,decimal:B,identifier:K}=S.get(i.toUpperCase())||{decimal:_||j[Z],identifier:i},F=e?v(BigInt(d),e):v(d,B);return t?Fn(K,e?F:d):w?Mn(K,d):new G({tax:L,decimal:B,identifier:K,value:F})}static loadStaticAssets(){return new Promise((n,e)=>{try{import("@swapkit/tokens").then((t)=>{for(let p of Object.values(t))for(let{identifier:d,chain:r,...u}of p.tokens)S.set(d.toUpperCase(),{identifier:d,decimal:"decimals"in u?u.decimals:j[r]});n({ok:!0})})}catch(t){console.error(t),e({ok:!1,error:t,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}static fromString(n,e=0){return G.from({asset:n,value:e,asyncTokenLookup:!0})}static fromIdentifier(n,e=0){return G.from({asset:n,value:e,asyncTokenLookup:!0})}static fromStringSync(n,e=0){return G.from({asset:n,value:e})}static fromStringWithBase(n,e=0n,t=j.THOR){return G.from({asyncTokenLookup:!0,asset:n,value:e,fromBaseDecimal:t})}static fromStringWithBaseSync(n,e=0n,t=j.THOR){return G.from({asset:n,value:e,fromBaseDecimal:t})}static fromIdentifierSync(n,e=0){return G.from({asset:n,value:e})}static fromChainOrSignature(n,e=0){if(n in y)return G.from({chain:n,value:e});return G.from({asset:n,value:e})}}import Qn from"ky";function zt({apiKey:n,...e}){Rn={...e,apiKey:n}}var Zn=function(){const{apiKey:n,...e}=Rn;return Qn.create({...e,headers:{...Wn,...e.headers,"x-api-key":n}})},Rn={},Wn=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},kn=(n)=>({get:async(e,t)=>(await n.get(e,t)).json(),post:async(e,t)=>(await n.post(e,t)).json()}),U={...kn(Zn()),extend:(n)=>{const e=Zn().extend(n);return{...kn(e),extend:U.extend}}};async function bt(n){const e=await import("@swapkit/tokens");for(let t of Object.values(e))for(let{identifier:p,chain:d,...r}of t.tokens){if("identifier"in n&&p===n.identifier)return p;if("address"in r&&"chain"in n&&d===n.chain&&r.address.toLowerCase()===n.contract.toLowerCase())return p}return}var ln="0x313ce567",Gn=[`${y.Maya}.MAYA`,`${y.Ethereum}.THOR`,`${y.Ethereum}.vTHOR`,`${y.Kujira}.USK`],Yn=async({chain:n,to:e})=>{try{const{result:t}=await U.post(D[n],{headers:{accept:"*/*","content-type":"application/json","cache-control":"no-cache"},body:JSON.stringify({id:44,jsonrpc:"2.0",method:"eth_call",params:[{to:e.toLowerCase(),data:ln},"latest"]})});return Number.parseInt(BigInt(t||j[n]).toString())}catch(t){return console.error(t),j[n]}},En=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await U.post(`${D[y.Radix]}/state/resource`,{headers:{Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify({network:"mainnet",resource_address:e})});return t.divisibility.value.divisibility}catch(e){return console.error(e),j[y.Radix]}},In=(n)=>{if(n===y.Ethereum)return j.ETH;const e=n.split("-"),t=e.length===1?void 0:e[e.length-1]?.toLowerCase();return t?.startsWith("0x")?Yn({chain:y.Ethereum,to:t}):j.ETH},Pn=(n)=>{const e=n.split("-"),t=e.length===1?void 0:e[e.length-1];return t?.startsWith("0x")?Yn({chain:y.Avalanche,to:t.toLowerCase()}):j.AVAX},Sn=(n)=>{if(n===y.BinanceSmartChain)return j.BSC;return j.BSC},vn=(n)=>{if(n===y.Radix)return j.XRD;return En({symbol:n})},Xn=({chain:n,symbol:e})=>{switch(n){case y.Ethereum:return In(e);case y.Avalanche:return Pn(e);case y.BinanceSmartChain:return Sn(e);case y.Radix:return vn(e);default:return j[n]}},Yt=({chain:n})=>{switch(n){case y.Arbitrum:case y.Optimism:return G.from({asset:`${n}.ETH`});case y.Maya:return G.from({asset:`${n}.CACAO`});case y.Cosmos:return G.from({asset:`${n}.ATOM`});case y.BinanceSmartChain:return G.from({asset:`${n}.BNB`});case y.THORChain:return G.from({asset:`${n}.RUNE`});default:return G.from({asset:`${n}.${n}`})}},pn=({chain:n,symbol:e})=>{switch(n){case y.Arbitrum:case y.Optimism:return e==="ETH";case y.Maya:return e==="CACAO";case y.Cosmos:return e==="ATOM";case y.BinanceSmartChain:return e==="BNB";case y.THORChain:return e==="RUNE";default:return e===n}},zn=(n)=>{switch(n){case y.Arbitrum:case y.Optimism:return{identifier:`${n}.ETH`,decimal:j[n]};case`${y.Ethereum}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${y.Ethereum}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case y.Cosmos:return{identifier:`${n}.ATOM`,decimal:j[n]};case y.THORChain:return{identifier:`${n}.RUNE`,decimal:j[n]};case y.BinanceSmartChain:return{identifier:`${n}.BNB`,decimal:j[n]};case y.Maya:return{identifier:`${n}.CACAO`,decimal:j[n]};case y.Radix:return{identifier:`${y.Radix}.XRD`,decimal:j[n]};case`${y.Maya}.MAYA`:return{identifier:n,decimal:4};case`${y.Kujira}.USK`:return{identifier:n,decimal:6};default:return{identifier:`${n}.${n}`,decimal:j[n]}}},Jn=({chain:n,symbol:e})=>{if(e.includes("/"))return"Synth";switch(n){case y.Cosmos:return e==="ATOM"?"Native":y.Cosmos;case y.Kujira:return e===y.Kujira?"Native":y.Kujira;case y.BinanceSmartChain:return e==="BNB"?"Native":"BEP20";case y.Ethereum:return e===y.Ethereum?"Native":"ERC20";case y.Avalanche:return e===y.Avalanche?"Native":y.Avalanche;case y.Polygon:return e===y.Polygon?"Native":"POLYGON";case y.Arbitrum:return[y.Ethereum,y.Arbitrum].includes(e)?"Native":"ARBITRUM";case y.Optimism:return[y.Ethereum,y.Optimism].includes(e)?"Native":"OPTIMISM";case y.Radix:return e===y.Radix?"Native":"RADIX";default:return"Native"}},Lt=(n)=>{const[e,...t]=n.split("."),p=n.includes("/"),d=t.join("."),r=d?.split("-"),u=r?.length?r.length===1?r[0]:r.slice(0,-1).join("-"):void 0;return{chain:e,symbol:d,ticker:u,synth:p}},Un=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),cn=(n)=>{const[e,t]=n.split(".");if(!W.includes(e))return!0;const p=t.split("-"),d=p.length===1?void 0:p[p.length-1];return pn({chain:e,symbol:t})||!!d},Ot=(n)=>n.filter(({chain:e,value:t,symbol:p})=>{const d=`${e}.${p}`;return!Un.test(d)&&cn(d)&&t!=="0"});function Kt({chain:n,index:e,addressIndex:t=0,type:p}){if(W.includes(n)){if(p==="legacy")return[44,60,0,e];if(p==="ledgerLive")return[44,60,e,0,t];return yn(E[n],e)}if([y.Bitcoin,y.Litecoin].includes(n)){const d=n===y.Bitcoin?0:2;if(p==="nativeSegwitMiddleAccount")return[84,d,e,0,t];if(p==="segwit")return[49,d,0,0,e];if(p==="legacy")return[44,d,0,0,e];return yn(E[n],e)}return yn(E[n],e)}function Vt(n){const[e,t,p]=n.split("/").map((d)=>Number.parseInt(d,10));switch(t){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var yn=(n,e)=>[...n.slice(0,n.length-1),e];function Cn({liquidityUnits:n,poolUnits:e,runeDepth:t}){const p=R(n),d=R(e),r=R(t),u=p.mul(r),x=d.mul(d).mul(2),i=d.mul(p).mul(2),_=p.mul(p),Z=d.mul(d).mul(d);return u.mul(x.sub(i).add(_)).div(Z)}function Dn({liquidityUnits:n,poolUnits:e,assetDepth:t}){const p=R(n),d=R(e),r=R(t),u=p.mul(r),x=d.mul(d).mul(2),i=d.mul(p).mul(2),_=p.mul(p),Z=u.mul(x.sub(i).add(_)),w=d.mul(d).mul(d);return Z.div(w)}function Ft({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:p}){return Cn({runeDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}function Mt({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:p}){return Dn({assetDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}var R=function(n){return Y.fromBigInt(BigInt(n),j.THOR)};function hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p}){return{assetAmount:R(p).mul(n).div(e),runeAmount:R(t).mul(n).div(e)}}function Qt({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p,percent:d}){return Object.fromEntries(Object.entries(hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p})).map(([r,u])=>[r,u.mul(d)]))}function Wt({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:p,runeAmount:d,assetAmount:r}){const u=new Y({value:n,decimal:8}),x=new Y({value:t,decimal:8}),i=new Y({value:e,decimal:8}),_=new Y({value:d,decimal:8}),Z=new Y({value:r,decimal:8}),w=_.mul(x),L=Z.mul(u),B=_.mul(Z),K=u.mul(x),F=i.mul(w.add(L.add(B.mul(2)))),H=w.add(L.add(K.mul(2))),sn=F.div(H),C=R(p).add(sn);if(sn.getBaseValue("number")===0)return C.div(i).getBaseValue("number");const s=i.add(C);return C.div(s).getBaseValue("number")}function lt({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:p}){if(n==="0"||e==="0"||t==="0"||p==="0")return 0;const d=R(t),r=R(p),u=R(e),x=R(n),i=u.mul(d).sub(r.mul(x)),_=r.mul(x).add(d.mul(r));return Math.abs(i.div(_).getBaseValue("number"))}var c=function(n,{affiliateAddress:e,affiliateBasisPoints:t}){const p=e?`:${e}:${t||0}`:"";return`${n}${p}`},ne=function({chain:n,symbol:e}){switch(n){case y.Bitcoin:case y.Dogecoin:case y.Litecoin:return n.slice(0,1).toLowerCase();case y.BitcoinCash:return"c";default:return`${n}.${e}`}};function ee({type:n,address:e}){return`${n}:${e}`}function te({address:n,unbondAmount:e}){return`${J.UNBOND}:${n}:${e}`}function pe({name:n,chain:e,address:t,owner:p}){const d=`${J.NAME_REGISTER}:${n}:${e}:${t}`,r=p?`:${p}`:"";return`${d}${r}`}function ye(n,{asset:e,address:t,minAmount:p,...d}){const r=`${n}:${e}:${t}`,u=p?`:${p}`:"";return c(`${r}${u}`,d)}function se({chain:n,symbol:e,...t}){return c(`${J.DEPOSIT}:${n}/${e}`,t)}function ae({chain:n,symbol:e,address:t}){const p=ne({chain:n,symbol:e}),d=t?`:${t}`:"";return`${J.DEPOSIT}:${p}${d}`}function de({chain:n,symbol:e,basisPoints:t,...p}){return c(`${J.WITHDRAW}:${n}/${e}:${t}`,p)}function ue({chain:n,symbol:e,ticker:t,basisPoints:p,targetAsset:d,...r}){const u=n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,x=d?`:${d}`:"";return c(`${J.WITHDRAW}:${n}.${u}:${p}${x}`,r)}var vt=(n,e)=>{switch(n){case J.LEAVE:case J.BOND:{const{address:t}=e;return ee({type:n,address:t})}case J.UNBOND:{const{address:t,unbondAmount:p}=e;return te({address:t,unbondAmount:p})}case J.NAME_REGISTER:return pe(e);case J.OPEN_LOAN:case J.CLOSE_LOAN:return ye(n,e);case J.DEPOSIT:{const{chain:t,symbol:p,address:d,singleSide:r}=e;if(r)return se({chain:t,symbol:p});return ae({chain:t,symbol:p,address:d})}case J.WITHDRAW:{const{chain:t,ticker:p,symbol:d,basisPoints:r,targetAssetString:u,singleSide:x}=e;if(x)return de({chain:t,symbol:d,basisPoints:r});return ue({chain:t,ticker:p,symbol:d,basisPoints:r,targetAsset:u})}default:throw new z({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function Dt(n){if(n<0)throw new z({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function ht(n){if(n<0)throw new z({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return Math.round((10+n*1.0512)*10000000000)/10000000000}function np([n,e,t,p,d]){return`m/${n}'/${e}'/${t}'/${p}${typeof d!=="number"?"":`/${d}`}`}function ep(n,e){try{return n()}catch(t){if(e)throw new z(e,t);return console.error(t)}}var tp=(n)=>{switch(n){case y.THORChain:return`${n}.RUNE`;case y.Cosmos:return`${n}.ATOM`;case y.BinanceSmartChain:return`${n}`;default:return`${n}.${n}`}};function xp(){const n=[];function e(p){if(n.map((d)=>d.info.uuid).includes(p.detail.info.uuid))return;n.push(p.detail)}window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new Event("eip6963:requestProvider"));function t(){window.removeEventListener("eip6963:announceProvider",e)}return{providers:n,removeEIP6963EventListener:t}}var re=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],Te=(n,e,t)=>async(...p)=>{try{await xe(e,t)}catch(d){throw new z({errorKey:"helpers_failed_to_switch_network",info:{error:d}})}return n(...p)},Ln=({provider:n,params:e,method:t})=>{if(!n?.send)throw new z("helpers_not_found_provider");const p=e?Array.isArray(e)?e:[e]:[];return n.send(t,p)},ap=({toolbox:n,chainId:e,provider:t=window.ethereum})=>{const p=re.reduce((d,r)=>{if(!n[r])return d;const u=n[r];if(typeof u!=="function")return d;return{...d,[r]:Te(u,t,e)}},{});return{...n,...p}},dp=(n,e)=>Ln({provider:n,method:"wallet_addEthereumChain",params:[e]}),xe=(n,e=o.EthereumHex)=>Ln({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),up=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},rp=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:p,selectedProvider:d}=window?.ethereum||{};if(n)return k.TRUSTWALLET_WEB;if(e)return k.BRAVE;if(p&&d?.isCoinbaseWallet)return k.COINBASE_WEB;if(t)k.XDEFI;return k.METAMASK},Tp=(n)=>{return me().includes(n)},me=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,e=window?.xfi||window?.ethereum?.__XDEFI,t=window?.ethereum?.isBraveWallet,p=window?.ethereum?.isTrust||window?.trustwallet,d=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,r=[];if(n)r.push(k.METAMASK);if(e)r.push(k.XDEFI);if(t)r.push(k.BRAVE);if(p)r.push(k.TRUSTWALLET_WEB);if(d)r.push(k.COINBASE_WEB);if(fe())r.push(k.OKX_MOBILE);return r},fe=()=>{const n=navigator.userAgent,e=/iphone|ipad|ipod|ios/i.test(n),t=/android|XiaoMi|MiuiBrowser/i.test(n),p=e||t,d=/OKApp/i.test(n);return p&&d},mp=()=>typeof window.ethereum!=="undefined";class Y extends b{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new Y({decimal:e,value:q({value:n,bigIntDecimal:e,decimal:e})})}}export{ep as wrapWithThrow,Te as wrapMethodWithNetworkSwitch,xt as validateTNS,jn as validateIdentifier,xe as switchEVMWalletNetwork,zt as setRequestClientConfig,ap as prepareNetworkSwitch,fe as okxMobileEnabled,me as listWeb3EVMWallets,mp as isWeb3Detected,pn as isGasAsset,Tp as isDetected,Vt as getWalletFormatFor,Dt as getTHORNameCost,Qt as getSymmetricWithdraw,hn as getSymmetricPoolShare,$t as getMinAmountByChain,ue as getMemoForWithdraw,te as getMemoForUnbond,de as getMemoForSaverWithdraw,se as getMemoForSaverDeposit,pe as getMemoForNameRegister,ye as getMemoForLoan,ee as getMemoForLeaveAndBond,ae as getMemoForDeposit,vt as getMemoFor,ht as getMAYANameCost,lt as getLiquiditySlippage,Yt as getGasAsset,Wt as getEstimatedPoolShare,rp as getETHDefaultWallet,xp as getEIP6963Wallets,Kt as getDerivationPathFor,Xn as getDecimal,zn as getCommonAssetInfo,tp as getChainIdentifier,Ft as getAsymmetricRuneWithdrawAmount,Cn as getAsymmetricRuneShare,Mt as getAsymmetricAssetWithdrawAmount,Dn as getAsymmetricAssetShare,Jn as getAssetType,q as formatBigIntToSafeValue,bt as findAssetBy,Ot as filterAssets,He as erc20ABI,np as derivationPathToString,Wn as defaultRequestHeaders,Lt as assetFromString,dp as addEVMWalletNetwork,up as addAccountsChangedCallback,h as WarningCodeEnum,k as WalletOption,Ye as UTXOChains,Oe as TCSupportedChains,$e as TCEthereumVaultAbi,Xe as TCBscDepositABI,Ge as TCAvalancheDepositABI,Y as SwapKitNumber,z as SwapKitError,Re as SubstrateChains,Ae as SWAP_OUT,Ne as SWAP_IN,on as RouteQuoteWarningSchema,Pe as RouteQuoteSchema,wn as RouteQuoteMetadataSchema,qn as RouteQuoteMetadataAssetSchema,Kn as RouteQuoteLegSchema,Ie as RouteLegWithoutAddressesSchema,gn as RouteLegSchema,U as RequestClient,M as RPCUrl,Se as QuoteResponseSchema,We as QuoteRequestSchema,X as QuoteMode,O as ProviderName,E as NetworkDerivationPath,J as MemoType,oe as MayaEthereumVaultAbi,_e as MayaArbitrumVaultAbi,be as MAYASupportedChains,Tn as LedgerErrorCode,Hn as FeesSchema,nn as FeeTypeEnum,xn as FeeOption,Q as ExplorerUrl,I as EstimatedTimeSchema,fn as EVMTransactionDetailsSchema,bn as EVMTransactionDetailsParamsSchema,W as EVMChains,rn as DerivationPath,Le as CosmosChains,un as ContractAddress,Gn as CommonAssetStrings,D as ChainToRPC,ge as ChainToHexChainId,qe as ChainToExplorerUrl,dn as ChainToChainId,ke as ChainIdToChain,o as ChainId,y as Chain,b as BigIntArithmetics,j as BaseDecimal,G as AssetValue,mn as ApproveMode,Ve as AGG_SWAP};
1
+ var an=((n)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(n,{get:(e,t)=>(typeof require!=="undefined"?require:e)[t]}):n)(function(n){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var He=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"}];var oe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct MAYAChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct MAYAChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],_e=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct ArbRouter.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ArbRouter.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var $e=[{inputs:[{internalType:"address",name:"rune",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[],name:"RUNE",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"aggregator",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Ge=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct AvaxRouter.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],Xe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var M;(function(m){m["Arbitrum"]="https://arb1.arbitrum.io/rpc";m["Avalanche"]="https://node-router.thorswap.net/avalanche-c";m["BinanceSmartChain"]="https://bsc-dataseed.binance.org";m["Bitcoin"]="https://node-router.thorswap.net/bitcoin";m["BitcoinCash"]="https://node-router.thorswap.net/bitcoin-cash";m["Chainflip"]="wss://mainnet-archive.chainflip.io";m["Cosmos"]="https://node-router.thorswap.net/cosmos/rpc";m["Dash"]="https://node-router.thorswap.net/dash";m["Dogecoin"]="https://node-router.thorswap.net/dogecoin";m["Ethereum"]="https://node-router.thorswap.net/ethereum";m["Kujira"]="https://rpc-kujira.synergynodes.com/";m["Litecoin"]="https://node-router.thorswap.net/litecoin";m["Maya"]="https://tendermint.mayachain.info";m["MayaStagenet"]="https://stagenet.tendermint.mayachain.info";m["Optimism"]="https://mainnet.optimism.io";m["Polkadot"]="wss://rpc.polkadot.io";m["Polygon"]="https://polygon-rpc.com";m["Radix"]="https://radix-mainnet.rpc.grove.city/v1/326002fc/core";m["THORChain"]="https://rpc.thorswap.net";m["THORChainStagenet"]="https://stagenet-rpc.ninerealms.com";m["Solana"]="https://mainnet.helius-rpc.com/?api-key=2cbe3ae6-cfc5-4141-a093-0055d0fa3d80"})(M||(M={}));var Q;(function(s){s["Arbitrum"]="https://arbiscan.io";s["Avalanche"]="https://snowtrace.io";s["BinanceSmartChain"]="https://bscscan.com";s["Bitcoin"]="https://blockchair.com/bitcoin";s["BitcoinCash"]="https://www.blockchair.com/bitcoin-cash";s["Chainflip"]="https://explorer.polkascan.io/polkadot";s["Cosmos"]="https://www.mintscan.io/cosmos";s["Dash"]="https://blockchair.com/dash";s["Dogecoin"]="https://blockchair.com/dogecoin";s["Ethereum"]="https://etherscan.io";s["Kujira"]="https://finder.kujira.network/kaiyo-1";s["Litecoin"]="https://blockchair.com/litecoin";s["Maya"]="https://www.mayascan.org";s["Optimism"]="https://optimistic.etherscan.io";s["Polkadot"]="https://polkadot.subscan.io";s["Polygon"]="https://polygonscan.com";s["Radix"]="https://dashboard.radixdlt.com";s["THORChain"]="https://runescan.io";s["Solana"]="https://solscan.io"})(Q||(Q={}));var y;(function(s){s["Arbitrum"]="ARB";s["Avalanche"]="AVAX";s["BinanceSmartChain"]="BSC";s["Bitcoin"]="BTC";s["BitcoinCash"]="BCH";s["Cosmos"]="GAIA";s["Dash"]="DASH";s["Dogecoin"]="DOGE";s["Ethereum"]="ETH";s["Kujira"]="KUJI";s["Litecoin"]="LTC";s["Maya"]="MAYA";s["Optimism"]="OP";s["Polkadot"]="DOT";s["Chainflip"]="FLIP";s["Polygon"]="MATIC";s["Radix"]="XRD";s["THORChain"]="THOR";s["Solana"]="SOL"})(y||(y={}));var o;(function(T){T["Arbitrum"]="42161";T["ArbitrumHex"]="0xa4b1";T["Avalanche"]="43114";T["AvalancheHex"]="0xa86a";T["BinanceSmartChain"]="56";T["BinanceSmartChainHex"]="0x38";T["Bitcoin"]="bitcoin";T["BitcoinCash"]="bitcoincash";T["Chainflip"]="chainflip";T["Cosmos"]="cosmoshub-4";T["Dash"]="dash";T["Dogecoin"]="dogecoin";T["Kujira"]="kaiyo-1";T["Ethereum"]="1";T["EthereumHex"]="0x1";T["Litecoin"]="litecoin";T["Maya"]="mayachain-mainnet-v1";T["MayaStagenet"]="mayachain-stagenet-v1";T["Optimism"]="10";T["OptimismHex"]="0xa";T["Polkadot"]="polkadot";T["Polygon"]="137";T["PolygonHex"]="0x89";T["Radix"]="radix-mainnet";T["THORChain"]="thorchain-mainnet-v1";T["THORChainStagenet"]="thorchain-stagenet-v2";T["Solana"]="solana"})(o||(o={}));var ke={[o.ArbitrumHex]:y.Arbitrum,[o.Arbitrum]:y.Arbitrum,[o.AvalancheHex]:y.Avalanche,[o.Avalanche]:y.Avalanche,[o.BinanceSmartChainHex]:y.BinanceSmartChain,[o.BinanceSmartChain]:y.BinanceSmartChain,[o.BitcoinCash]:y.BitcoinCash,[o.Bitcoin]:y.Bitcoin,[o.Chainflip]:y.Chainflip,[o.Cosmos]:y.Cosmos,[o.Dash]:y.Dash,[o.Dogecoin]:y.Dogecoin,[o.EthereumHex]:y.Ethereum,[o.Kujira]:y.Kujira,[o.Ethereum]:y.Ethereum,[o.Litecoin]:y.Litecoin,[o.MayaStagenet]:y.Maya,[o.Maya]:y.Maya,[o.OptimismHex]:y.Optimism,[o.Optimism]:y.Optimism,[o.Polkadot]:y.Polkadot,[o.PolygonHex]:y.Polygon,[o.Polygon]:y.Polygon,[o.Radix]:y.Radix,[o.THORChainStagenet]:y.THORChain,[o.THORChain]:y.THORChain,[o.Solana]:y.Solana},On=Object.keys(y),V=Object.values(y),j;(function(f){f[f["ARB"]=18]="ARB";f[f["AVAX"]=18]="AVAX";f[f["BCH"]=8]="BCH";f[f["BSC"]=18]="BSC";f[f["BTC"]=8]="BTC";f[f["DASH"]=8]="DASH";f[f["DOGE"]=8]="DOGE";f[f["DOT"]=10]="DOT";f[f["ETH"]=18]="ETH";f[f["FLIP"]=18]="FLIP";f[f["GAIA"]=6]="GAIA";f[f["KUJI"]=6]="KUJI";f[f["LTC"]=8]="LTC";f[f["MATIC"]=18]="MATIC";f[f["MAYA"]=10]="MAYA";f[f["OP"]=18]="OP";f[f["SOL"]=9]="SOL";f[f["THOR"]=8]="THOR";f[f["XRD"]=18]="XRD";f[f["ZEC"]=8]="ZEC"})(j||(j={}));var Re=[y.Polkadot,y.Chainflip],W=[y.Ethereum,y.Avalanche,y.BinanceSmartChain,y.Arbitrum,y.Optimism,y.Polygon],Ye=[y.Bitcoin,y.BitcoinCash,y.Dash,y.Dogecoin,y.Litecoin],Le=[y.Cosmos,y.THORChain,y.Maya,y.Kujira],Oe=[y.Avalanche,y.BinanceSmartChain,y.Bitcoin,y.BitcoinCash,y.Cosmos,y.Dogecoin,y.Ethereum,y.Litecoin,y.THORChain],be=[y.Arbitrum,y.Dash,y.Ethereum,y.Kujira,y.Maya,y.THORChain],l=V.reduce((n,e)=>{const t=On.find((p)=>y[p]===e);if(t)n[e]=t;return n},{}),dn=V.reduce((n,e)=>{return n[e]=o[l[e]],n},{}),D=V.reduce((n,e)=>{return n[e]=M[l[e]],n},{}),ge=V.reduce((n,e)=>{const t=`${l[e]}Hex`;return n[e]=o[t],n},{}),qe=V.reduce((n,e)=>{return n[e]=Q[l[e]],n},{});var X;(function(H){H["TC_SUPPORTED_TO_TC_SUPPORTED"]="TC-TC";H["TC_SUPPORTED_TO_ETH"]="TC-ERC20";H["TC_SUPPORTED_TO_AVAX"]="TC-ARC20";H["TC_SUPPORTED_TO_BSC"]="TC-BEP20";H["ETH_TO_TC_SUPPORTED"]="ERC20-TC";H["ETH_TO_ETH"]="ERC20-ERC20";H["ETH_TO_AVAX"]="ERC20-ARC20";H["ETH_TO_BSC"]="ERC20-BEP20";H["AVAX_TO_TC_SUPPORTED"]="ARC20-TC";H["AVAX_TO_ETH"]="ARC20-ERC20";H["AVAX_TO_AVAX"]="ARC20-ARC20";H["AVAX_TO_BSC"]="ARC20-BEP20";H["BSC_TO_TC_SUPPORTED"]="BEP20-TC";H["BSC_TO_ETH"]="BEP20-ERC20";H["BSC_TO_AVAX"]="BEP20-ARC20";H["BSC_TO_BSC"]="BEP20-BEP20"})(X||(X={}));var Ve=[X.ETH_TO_ETH,X.AVAX_TO_AVAX,X.BSC_TO_BSC],Ne=[X.ETH_TO_TC_SUPPORTED,X.ETH_TO_AVAX,X.ETH_TO_BSC,X.AVAX_TO_TC_SUPPORTED,X.AVAX_TO_ETH,X.AVAX_TO_BSC,X.BSC_TO_TC_SUPPORTED,X.BSC_TO_ETH,X.BSC_TO_AVAX],Ae=[X.TC_SUPPORTED_TO_TC_SUPPORTED,X.TC_SUPPORTED_TO_ETH,X.TC_SUPPORTED_TO_AVAX,X.TC_SUPPORTED_TO_BSC];var un;(function(u){u["ARB"]="0x0000000000000000000000000000000000000000";u["AVAX"]="0x0000000000000000000000000000000000000000";u["ETH"]="0x0000000000000000000000000000000000000000";u["BSC"]="0x0000000000000000000000000000000000000000";u["MATIC"]="0x0000000000000000000000000000000000001010";u["OP"]="0x4200000000000000000000000000000000000042"})(un||(un={}));var rn;(function(s){s["ARB"]="m/44'/60'/0'/0";s["AVAX"]="m/44'/60'/0'/0";s["BCH"]="m/44'/145'/0'/0";s["BSC"]="m/44'/60'/0'/0";s["BTC"]="m/84'/0'/0'/0";s["DASH"]="m/44'/5'/0'/0";s["DOGE"]="m/44'/3'/0'/0";s["DOT"]="////";s["ETH"]="m/44'/60'/0'/0";s["FLIP"]="////";s["GAIA"]="m/44'/118'/0'/0";s["KUJI"]="m/44'/118'/0'/0";s["LTC"]="m/84'/2'/0'/0";s["MATIC"]="m/44'/60'/0'/0";s["MAYA"]="m/44'/931'/0'/0";s["OP"]="m/44'/60'/0'/0";s["SOL"]="m/44'/501'/0'/0";s["THOR"]="m/44'/931'/0'/0";s["XRD"]="////"})(rn||(rn={}));var E={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],SOL:[44,501,0,0,0],THOR:[44,931,0,0,0],XRD:[0,0,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var k;(function(s){s["BRAVE"]="BRAVE";s["COINBASE_MOBILE"]="COINBASE_MOBILE";s["COINBASE_WEB"]="COINBASE_WEB";s["EIP6963"]="EIP6963";s["EXODUS"]="EXODUS";s["KEEPKEY"]="KEEPKEY";s["KEPLR"]="KEPLR";s["KEYSTORE"]="KEYSTORE";s["LEDGER"]="LEDGER";s["METAMASK"]="METAMASK";s["OKX"]="OKX";s["OKX_MOBILE"]="OKX_MOBILE";s["PHANTOM"]="PHANTOM";s["RADIX_WALLET"]="RADIX_WALLET";s["TREZOR"]="TREZOR";s["TALISMAN"]="TALISMAN";s["TRUSTWALLET_WEB"]="TRUSTWALLET_WEB";s["WALLETCONNECT"]="WALLETCONNECT";s["XDEFI"]="XDEFI"})(k||(k={}));var Tn;(function(p){p[p["NoError"]=36864]="NoError";p[p["LockedDevice"]=21781]="LockedDevice";p[p["TC_NotFound"]=65535]="TC_NotFound"})(Tn||(Tn={}));import{z as $} from"zod";var xn;(function(p){p["Average"]="average";p["Fast"]="fast";p["Fastest"]="fastest"})(xn||(xn={}));var mn;(function(t){t["Approve"]="approve";t["CheckOnly"]="checkOnly"})(mn||(mn={}));var J;(function(i){i["BOND"]="BOND";i["DEPOSIT"]="+";i["LEAVE"]="LEAVE";i["NAME_REGISTER"]="~";i["UNBOND"]="UNBOND";i["WITHDRAW"]="-";i["OPEN_LOAN"]="$+";i["CLOSE_LOAN"]="$-"})(J||(J={}));var We=$.object({sellAsset:$.string({description:"Asset to sell"}),buyAsset:$.string({description:"Asset to buy"}),sellAmount:$.number({description:"Amount of asset to sell"}).refine((n)=>n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:$.optional($.array($.string({description:"List of providers to use"}))),sourceAddress:$.optional($.string({description:"Address to send asset from"})),destinationAddress:$.optional($.string({description:"Address to send asset to"})),slippage:$.optional($.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:$.optional($.string({description:"Affiliate thorname"})),affiliateFee:$.optional($.number({description:"Affiliate fee in basis points"}).refine((n)=>{return n===Math.floor(n)&&n>=0},{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractSender:$.optional($.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:$.optional($.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:$.optional($.boolean({description:"Disable security checks"}))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]});import{z as a} from"zod";var h;(function(t){t["highSlippage"]="highSlippage";t["highPriceImpact"]="highPriceImpact"})(h||(h={}));var bn=a.array(a.union([a.string(),a.number(),a.array(a.string()),a.object({from:a.string(),value:a.string()}).describe("Parameters to pass to the contract method")])),fn=a.object({contractAddress:a.string({description:"Address of the contract to interact with"}),contractMethod:a.string({description:"Name of the method to call"}),contractParams:bn,contractParamNames:a.array(a.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:a.optional(a.string({description:"Address of the token to approve spending of"})),approvalSpender:a.optional(a.string({description:"Address of the spender to approve"}))}),I=a.object({inbound:a.optional(a.number({description:"Time to receive inbound asset in seconds"})),swap:a.optional(a.number({description:"Time to swap assets in seconds"})),outbound:a.optional(a.number({description:"Time to receive outbound asset in seconds"})),total:a.number({description:"Total time in seconds"})}),O;(function(w){w["CHAINFLIP"]="CHAINFLIP";w["TRADERJOE_V1"]="TRADERJOE_V1";w["PANGOLIN_V1"]="PANGOLIN_V1";w["UNISWAP_V2"]="UNISWAP_V2";w["THORCHAIN"]="THORCHAIN";w["THORCHAIN_STREAMING"]="THORCHAIN_STREAMING";w["MAYACHAIN"]="MAYACHAIN";w["ONEINCH"]="ONEINCH";w["SUSHISWAP_V2"]="SUSHISWAP_V2";w["WOOFI_V2"]="WOOFI_V2";w["PANCAKESWAP"]="PANCAKESWAP"})(O||(O={}));var nn;(function(u){u["LIQUIDITY"]="liquidity";u["NETWORK"]="network";u["INBOUND"]="inbound";u["OUTBOUND"]="outbound";u["AFFILIATE"]="affiliate";u["TAX"]="tax"})(nn||(nn={}));var Hn=a.array(a.object({type:a.nativeEnum(nn),amount:a.string(),asset:a.string(),chain:a.string(),protocol:a.nativeEnum(O)})),gn=a.object({sellAsset:a.string({description:"Asset to sell"}),buyAsset:a.string({description:"Asset to buy"}),provider:a.nativeEnum(O),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),estimatedTime:I.optional(),affiliate:a.string({description:"Affiliate address"}).optional(),affiliateFee:a.number({description:"Affiliate fee"}).optional(),slipPercentage:a.number({description:"Slippage as a percentage"})}),Ie=gn.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),qn=a.object({name:a.string({description:"Asset name"}),price:a.number({description:"Price in USD"}),image:a.string({description:"Asset image"})}),wn=a.object({priceImpact:a.number({description:"Price impact"}),assets:a.optional(a.array(qn))}),on=a.array(a.object({code:a.nativeEnum(h),display:a.string(),tooltip:a.string().optional()})),Kn=a.object({sellAsset:a.string({description:"Asset to sell"}),buyAsset:a.string({description:"Asset to buy"}),provider:a.nativeEnum(O),buyAmount:a.string({description:"Amount of asset to buy"}),buyAmountMaxSlippage:a.string({description:"Amount of asset to buy"}),sellAmount:a.string({description:"Amount of asset to sell"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),slippageBps:a.number({description:"Slippage in bps"}),targetAddress:a.optional(a.string({description:"Target address for contract call or transfer address"})),inboundAddress:a.optional(a.string({description:"Inbound address"})),routerAddress:a.optional(a.string({description:"Inbound address"})),contractMethod:a.optional(a.string({description:"Contract method"})),fees:a.optional(Hn),estimatedTime:a.optional(I),memo:a.optional(a.string({description:"Memo"})),expiration:a.optional(a.string({description:"Expiration"}))}),Pe=a.object({providers:a.array(a.nativeEnum(O)),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"sell amount"}),buyAsset:a.string({description:"Asset to buy"}),expectedBuyAmount:a.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:a.string({description:"Expected Buy amount max slippage"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),targetAddress:a.optional(a.string({description:"Target address"})),routerAddress:a.optional(a.string({description:"Router address"})),inboundAddress:a.optional(a.string({description:"Inbound address"})),expiration:a.optional(a.string({description:"Expiration"})),memo:a.optional(a.string({description:"Memo"})),evmTransactionDetails:a.optional(fn),routePathArray:a.optional(a.array(a.string())),estimatedTime:a.optional(I),totalSlippageBps:a.number({description:"Total slippage in bps"}),legs:a.array(Kn),errorCode:a.optional(a.string()),warnings:on,meta:wn}),Vn=a.object({provider:a.nativeEnum(O),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"Sell amount"}),buyAsset:a.string({description:"Asset to buy"}),buyAmount:a.string({description:"Buy amount"}),buyAmountMaxSlippage:a.string({description:"Buy amount max slippage"}),fees:a.optional(Hn)}),Nn=a.object({providers:a.array(a.nativeEnum(O)),sellAsset:a.string({description:"Asset to sell"}),sellAmount:a.string({description:"sell amount"}),buyAsset:a.string({description:"Asset to buy"}),expectedBuyAmount:a.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:a.string({description:"Expected Buy amount max slippage"}),sourceAddress:a.string({description:"Source address"}),destinationAddress:a.string({description:"Destination address"}),targetAddress:a.optional(a.string({description:"Target address"})),expiration:a.optional(a.string({description:"Expiration"})),memo:a.optional(a.string({description:"Memo"})),evmTransactionDetails:a.optional(fn),estimatedTime:a.optional(I),totalSlippageBps:a.number({description:"Total slippage in bps"}),legs:a.array(Vn),warnings:on,meta:wn}),Se=a.object({quoteId:a.string({description:"Quote ID"}),routes:a.array(Nn),error:a.optional(a.string({description:"Error message"}))});var An={core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_plugin_not_found:10006,core_plugin_swap_not_found:10007,core_approve_asset_target_invalid:10008,core_explorer_unsupported_chain:10009,core_chain_halted:10099,core_wallet_connection_not_found:10100,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_wallet_keepkey_not_installed:10109,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,core_transaction_deposit_error:10301,core_transaction_create_liquidity_base_error:10302,core_transaction_create_liquidity_asset_error:10303,core_transaction_create_liquidity_invalid_params:10304,core_transaction_add_liquidity_invalid_params:10305,core_transaction_add_liquidity_base_address:10306,core_transaction_add_liquidity_base_error:10307,core_transaction_add_liquidity_asset_error:10308,core_transaction_withdraw_error:10309,core_transaction_deposit_to_pool_error:10310,core_transaction_deposit_insufficient_funds_error:10311,core_transaction_deposit_gas_error:10312,core_transaction_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,wallet_connection_rejected_by_user:20000,wallet_missing_api_key:20001,wallet_chain_not_supported:20002,wallet_missing_params:20003,wallet_provider_not_found:20004,wallet_failed_to_add_or_switch_network:20005,wallet_ledger_connection_error:20101,wallet_ledger_connection_claimed:20102,wallet_ledger_get_address_error:20103,wallet_ledger_device_not_found:20104,wallet_ledger_device_locked:20105,wallet_phantom_not_found:20201,wallet_xdefi_not_found:20301,wallet_xdefi_send_transaction_no_address:20302,wallet_xdefi_contract_address_not_provided:20303,wallet_xdefi_asset_not_defined:20304,wallet_walletconnect_project_id_not_specified:20401,wallet_walletconnect_connection_not_established:20402,wallet_walletconnect_namespace_not_supported:20403,wallet_trezor_failed_to_sign_transaction:20501,wallet_trezor_derivation_path_not_supported:20502,wallet_trezor_failed_to_get_address:20503,wallet_talisman_not_enabled:20601,wallet_talisman_not_found:20602,chainflip_channel_error:30001,chainflip_unknown_asset:30002,chainflip_broker_invalid_params:30100,chainflip_broker_recipient_error:30101,chainflip_broker_register:30102,chainflip_broker_tx_error:30103,chainflip_broker_withdraw:30104,chainflip_broker_fund_only_flip_supported:30105,chainflip_broker_fund_invalid_address:30106,thorchain_chain_halted:40001,thorchain_trading_halted:40002,thorchain_swapin_router_required:40100,thorchain_swapin_vault_required:40101,thorchain_swapin_memo_required:40102,thorchain_swapin_token_required:40103,api_v2_invalid_response:50001,toolbox_cosmos_signer_not_defined:90101,toolbox_cosmos_no_accounts_found:90102,helpers_invalid_number_different_decimals:99000,helpers_invalid_number_of_years:99001,helpers_invalid_identifier:99002,helpers_invalid_asset_url:99003,helpers_invalid_asset_identifier:99004,helpers_invalid_memo_type:99005,helpers_failed_to_switch_network:99103,helpers_not_found_provider:99200};class z extends Error{static ErrorCode=An;constructor(n,e){const t=typeof n==="string",p=t?n:n.errorKey;if(e)console.error(e,{stack:e?.stack,message:e?.message});super(p,{cause:{code:z.ErrorCode[p],message:`${p}${t?"":`: ${JSON.stringify(n.info)}`}`}});Object.setPrototypeOf(this,z.prototype)}}function jn(n=""){const e=n.toUpperCase(),[t]=e.split(".");if(_n.includes(t))return!0;const[p]=e.split("/");if(_n.includes(p))return!0;throw new z({errorKey:"helpers_invalid_identifier",info:{message:`Invalid identifier: ${n}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`,identifier:n}})}function xt(n){if(n.length>30)return!1;const e=/^[a-zA-Z0-9+_-]+$/g;return!!n.match(e)}var _n=[...Object.values(y),"TERRA"];function q({value:n,bigIntDecimal:e=A,decimal:t=A}){if(t===0)return n.toString();const p=n<0n;let d=n.toString().substring(p?1:0);const r=t-(d.length-1);if(r>0)d="0".repeat(r)+d;const u=d.length-t;let x=d.slice(-t);if(Number.parseInt(x[e]||"0")>=5)x=`${x.substring(0,e-1)}${(Number.parseInt(x[e-1]||"0")+1).toString()}`;else x=x.substring(0,e);return`${p?"-":""}${d.slice(0,u)}.${x}`.replace(/\.?0*$/,"")}var P=function(n){const t=`${typeof n==="number"?Bn.format(n):en(n)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]||"0"},$n=function(n){const e=n.split(".")[1]?.length||0;return Math.max(e,A)},en=function(n){return typeof n==="object"?"getValue"in n?n.getValue("string"):n.value:n},A=8,g=(n)=>10n**BigInt(n),N=(n)=>Math.log10(Number.parseFloat(n.toString()));class b{decimalMultiplier=10n**8n;bigIntValue=0n;decimal;static fromBigInt(n,e){return new b({decimal:e,value:q({value:n,bigIntDecimal:e,decimal:e})})}static shiftDecimals({value:n,from:e,to:t}){return b.fromBigInt(n.getBaseValue("bigint")*g(t)/g(e),t)}constructor(n){const e=en(n),t=typeof n==="object";this.decimal=t?n.decimal:void 0,this.decimalMultiplier=t&&"decimalMultiplier"in n?n.decimalMultiplier:g(Math.max($n(P(e)),this.decimal||0)),this.#y(e)}set(n){return new this.constructor({decimal:this.decimal,value:n,identifier:this.toString()})}add(...n){return this.#e("add",...n)}sub(...n){return this.#e("sub",...n)}mul(...n){return this.#e("mul",...n)}div(...n){return this.#e("div",...n)}gt(n){return this.#n("gt",n)}gte(n){return this.#n("gte",n)}lt(n){return this.#n("lt",n)}lte(n){return this.#n("lte",n)}eqValue(n){return this.#n("eqValue",n)}getValue(n){const e=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||N(this.decimalMultiplier));switch(n){case"number":return Number(e);case"string":return e;case"bigint":return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(n){const e=this.decimalMultiplier/g(this.decimal||j.THOR),t=this.bigIntValue/e;switch(n){case"number":return Number(t);case"string":return t.toString();case"bigint":return t}}getBigIntValue(n,e){if(!e&&typeof n==="object")return n.bigIntValue;const t=en(n),p=P(t);if(p==="0"||p==="undefined")return 0n;return this.#p(p,e)}toSignificant(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",d=t||"";if((Number.parseInt(p)?p.length+d.length:d.length)<=n)return this.getValue("string");if(p.length>=n)return p.slice(0,n).padEnd(p.length,"0");if(Number.parseInt(p))return`${p}.${d.slice(0,n-p.length)}`.padEnd(n-p.length,"0");const u=Number.parseInt(d),x=`${u}`.slice(0,n);return`0.${x.padStart(d.length-`${u}`.length+x.length,"0")}`}toFixed(n=6){const[e,t]=this.getValue("string").split("."),p=e||"",d=t||"";if(Number.parseInt(p))return`${p}.${d.slice(0,n)}`.padEnd(n,"0");const r=Number.parseInt(d),u=`${r}`.slice(0,n);return`0.${u.padStart(d.length-`${r}`.length+u.length,"0")}`}toAbbreviation(n=2){const e=this.getValue("number"),t=["","K","M","B","T","Q","Qi","S"],p=Math.floor(Math.log10(Math.abs(e))/3),d=t[p];if(!d)return this.getValue("string");const r=10**(p*3);return`${(e/r).toFixed(n)}${d}`}toCurrency(n="$",{currencyPosition:e="start",decimal:t=2,decimalSeparator:p=".",thousandSeparator:d=","}={}){const r=this.getValue("number"),[u="",x=""]=r.toFixed(6).split("."),i=u.replace(/\B(?=(\d{3})+(?!\d))/g,d),_=u||x?u==="0"?`${Number.parseFloat(`0.${x}`)}`.replace(".",p):`${i}${Number.parseInt(x)?`${p}${x.slice(0,t)}`:""}`:"0.00";return`${e==="start"?n:""}${_}${e==="end"?n:""}`}formatBigIntToSafeValue(n,e){const t=e||this.decimal||A,p=Math.max(t,N(this.decimalMultiplier)),d=n<0n,r=n.toString().substring(d?1:0),u=p-(r.length-1),x=u>0?"0".repeat(u)+r:r,i=x.length-p;let _=x.slice(-p);if(Number.parseInt(_[t]||"0")>=5)_=`${_.substring(0,t-1)}${(Number.parseInt(_[t-1]||"0")+1).toString()}`;else _=_.substring(0,t);return`${d?"-":""}${x.slice(0,i)}.${_}`.replace(/\.?0*$/,"")}#e(n,...e){const t=this.#t(this,...e),p=Math.max(t,N(this.decimalMultiplier)),d=g(p),r=e.reduce((x,i)=>{const _=this.getBigIntValue(i,p);switch(n){case"add":return x+_;case"sub":return x-_;case"mul":return x*_/d;case"div":{if(_===0n)throw new RangeError("Division by zero");return x*d/_}default:return x}},this.bigIntValue*d/this.decimalMultiplier),u=q({bigIntDecimal:p,decimal:p,value:r});return new this.constructor({decimalMultiplier:g(p),decimal:this.decimal,value:u,identifier:this.toString()})}#n(n,...e){const t=this.#t(this,...e),p=this.getBigIntValue(e[0]||"0",t),d=this.getBigIntValue(this,t);switch(n){case"gt":return d>p;case"gte":return d>=p;case"lt":return d<p;case"lte":return d<=p;case"eqValue":return d===p}}#y(n){const e=P(n)||"0";this.bigIntValue=this.#p(e)}#t(...n){const e=n.map((t)=>{return typeof t==="object"?t.decimal||N(t.decimalMultiplier):$n(P(t))}).filter(Boolean);return Math.max(...e,A)}#p(n,e){const t=e?g(e):this.decimalMultiplier,p=N(t),[d="",r=""]=n.split(".");return BigInt(`${d}${r.padEnd(p,"0")}`)}}var Bn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function $t(n){const e=G.from({chain:n});switch(n){case y.Bitcoin:case y.Litecoin:case y.BitcoinCash:case y.Dash:return e.set(0.00010001);case y.Dogecoin:return e.set(1.00000001);case y.Avalanche:case y.Ethereum:case y.Arbitrum:case y.BinanceSmartChain:return e.set(0.00000001);case y.THORChain:case y.Maya:return e.set(0);case y.Cosmos:case y.Kujira:return e.set(0.000001);default:return e.set(0.00000001)}}async function Fn(n,e=0){jn(n);const t=S.get(n.toUpperCase()),p=t?.decimal||await Xn(tn(n));if(!t)S.set(n.toUpperCase(),{identifier:n,decimal:p});return new G({decimal:p,value:v(e,p),identifier:n})}var Mn=function(n,e=0){const[t,p]=n.split(".")?.[0]?.toUpperCase()===y.THORChain?n.split(".").slice(1).join().split("/"):n.split("/");if(!(t&&p))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});return new G({decimal:8,value:v(e,8),identifier:`${y.THORChain}.${t}/${p}`})},v=function(n,e){return typeof n==="bigint"?q({value:n,bigIntDecimal:e,decimal:e}):n},tn=function(n){const e=n.slice(0,14).includes("/"),t=n.split(".")?.[0]?.toUpperCase()===y.THORChain,p=n.split(".")?.[0]?.toUpperCase()===y.Maya,[d,r=""]=t||p?n.split(".").slice(1).join().split("/"):n.split("/");if(e&&!(d&&r))throw new z({errorKey:"helpers_invalid_asset_identifier",info:{identifier:n}});const u=n.includes(".")&&!e?n:`${p?y.Maya:y.THORChain}.${r}`,[x,...i]=u.split("."),_=e?r:i.join("."),Z=_.split("-"),w=Z.length===1?Z[0]:Z.slice(0,-1).join("-"),L=Z.length===1?void 0:Z[Z.length-1];return{address:L?.toLowerCase(),chain:x,isGasAsset:pn({chain:x,symbol:_}),isSynthetic:e,ticker:w,symbol:(e?`${d}/`:"")+(L?`${w}-${L?.toLowerCase()??""}`:_)}},S=new Map;class G extends b{address;chain;isGasAsset=!1;isSynthetic=!1;symbol;tax;ticker;type;chainId;constructor({value:n,decimal:e,tax:t,chain:p,symbol:d,identifier:r}){super(typeof n==="object"?n:{decimal:e,value:n});const u=tn(r||`${p}.${d}`);this.type=Jn(u),this.tax=t,this.chain=u.chain,this.ticker=u.ticker,this.symbol=u.symbol,this.address=u.address,this.isSynthetic=u.isSynthetic,this.isGasAsset=u.isGasAsset,this.chainId=dn[u.chain]}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eqAsset({chain:n,symbol:e}){return this.chain===n&&this.symbol===e}eq(n){return this.eqAsset(n)&&this.eqValue(n)}static fromUrl(n,e=0){const[t,p,d]=n.split(".");if(!(t&&p))throw new z({errorKey:"helpers_invalid_asset_url",info:{urlAsset:n}});const r=t===y.THORChain&&d?`${t}.${p}/${d}`:n;return G.from({asset:r,value:e})}static from({value:n=0,fromBaseDecimal:e,asyncTokenLookup:t,...p}){const d=n instanceof b?n.getValue("string"):n,r="chain"in p,u=r?p.chain:p.asset,x=r||Gn.includes(u),{identifier:i,decimal:_}=x?zn(u):{identifier:u,decimal:void 0},{chain:Z,isSynthetic:w}=tn(i),{tax:L,decimal:B,identifier:K}=S.get(i.toUpperCase())||{decimal:_||j[Z],identifier:i},F=e?v(BigInt(d),e):v(d,B);return t?Fn(K,e?F:d):w?Mn(K,d):new G({tax:L,decimal:B,identifier:K,value:F})}static loadStaticAssets(){return new Promise((n,e)=>{try{import("@swapkit/tokens").then((t)=>{for(let p of Object.values(t))for(let{identifier:d,chain:r,...u}of p.tokens)S.set(d.toUpperCase(),{identifier:d,decimal:"decimals"in u?u.decimals:j[r]});n({ok:!0})})}catch(t){console.error(t),e({ok:!1,error:t,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}static fromString(n,e=0){return G.from({asset:n,value:e,asyncTokenLookup:!0})}static fromIdentifier(n,e=0){return G.from({asset:n,value:e,asyncTokenLookup:!0})}static fromStringSync(n,e=0){return G.from({asset:n,value:e})}static fromStringWithBase(n,e=0n,t=j.THOR){return G.from({asyncTokenLookup:!0,asset:n,value:e,fromBaseDecimal:t})}static fromStringWithBaseSync(n,e=0n,t=j.THOR){return G.from({asset:n,value:e,fromBaseDecimal:t})}static fromIdentifierSync(n,e=0){return G.from({asset:n,value:e})}static fromChainOrSignature(n,e=0){if(Object.values(y).includes(n))return G.from({chain:n,value:e});return G.from({asset:n,value:e})}}import Qn from"ky";function zt({apiKey:n,...e}){Rn={...e,apiKey:n}}var Zn=function(){const{apiKey:n,...e}=Rn;return Qn.create({...e,headers:{...Wn,...e.headers,"x-api-key":n}})},Rn={},Wn=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},kn=(n)=>({get:async(e,t)=>(await n.get(e,t)).json(),post:async(e,t)=>(await n.post(e,t)).json()}),U={...kn(Zn()),extend:(n)=>{const e=Zn().extend(n);return{...kn(e),extend:U.extend}}};async function bt(n){const e=await import("@swapkit/tokens");for(let t of Object.values(e))for(let{identifier:p,chain:d,...r}of t.tokens){if("identifier"in n&&p===n.identifier)return p;if("address"in r&&"chain"in n&&d===n.chain&&r.address.toLowerCase()===n.contract.toLowerCase())return p}return}var ln="0x313ce567",Gn=[`${y.Maya}.MAYA`,`${y.Ethereum}.THOR`,`${y.Ethereum}.vTHOR`,`${y.Kujira}.USK`],Yn=async({chain:n,to:e})=>{try{const{result:t}=await U.post(D[n],{headers:{accept:"*/*","content-type":"application/json","cache-control":"no-cache"},body:JSON.stringify({id:44,jsonrpc:"2.0",method:"eth_call",params:[{to:e.toLowerCase(),data:ln},"latest"]})});return Number.parseInt(BigInt(t||j[n]).toString())}catch(t){return console.error(t),j[n]}},En=async({symbol:n})=>{try{const e=n.split("-")[1]?.toLowerCase(),{manager:t}=await U.post(`${D[y.Radix]}/state/resource`,{headers:{Accept:"*/*","Content-Type":"application/json"},body:JSON.stringify({network:"mainnet",resource_address:e})});return t.divisibility.value.divisibility}catch(e){return console.error(e),j[y.Radix]}},In=(n)=>{if(n===y.Ethereum)return j.ETH;const e=n.split("-"),t=e.length===1?void 0:e[e.length-1]?.toLowerCase();return t?.startsWith("0x")?Yn({chain:y.Ethereum,to:t}):j.ETH},Pn=(n)=>{const e=n.split("-"),t=e.length===1?void 0:e[e.length-1];return t?.startsWith("0x")?Yn({chain:y.Avalanche,to:t.toLowerCase()}):j.AVAX},Sn=(n)=>{if(n===y.BinanceSmartChain)return j.BSC;return j.BSC},vn=(n)=>{if(n===y.Radix)return j.XRD;return En({symbol:n})},Xn=({chain:n,symbol:e})=>{switch(n){case y.Ethereum:return In(e);case y.Avalanche:return Pn(e);case y.BinanceSmartChain:return Sn(e);case y.Radix:return vn(e);default:return j[n]}},Yt=({chain:n})=>{switch(n){case y.Arbitrum:case y.Optimism:return G.from({asset:`${n}.ETH`});case y.Maya:return G.from({asset:`${n}.CACAO`});case y.Cosmos:return G.from({asset:`${n}.ATOM`});case y.BinanceSmartChain:return G.from({asset:`${n}.BNB`});case y.THORChain:return G.from({asset:`${n}.RUNE`});default:return G.from({asset:`${n}.${n}`})}},pn=({chain:n,symbol:e})=>{switch(n){case y.Arbitrum:case y.Optimism:return e==="ETH";case y.Maya:return e==="CACAO";case y.Cosmos:return e==="ATOM";case y.BinanceSmartChain:return e==="BNB";case y.THORChain:return e==="RUNE";default:return e===n}},zn=(n)=>{switch(n){case y.Arbitrum:case y.Optimism:return{identifier:`${n}.ETH`,decimal:j[n]};case`${y.Ethereum}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${y.Ethereum}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case y.Cosmos:return{identifier:`${n}.ATOM`,decimal:j[n]};case y.THORChain:return{identifier:`${n}.RUNE`,decimal:j[n]};case y.BinanceSmartChain:return{identifier:`${n}.BNB`,decimal:j[n]};case y.Maya:return{identifier:`${n}.CACAO`,decimal:j[n]};case y.Radix:return{identifier:`${y.Radix}.XRD`,decimal:j[n]};case`${y.Maya}.MAYA`:return{identifier:n,decimal:4};case`${y.Kujira}.USK`:return{identifier:n,decimal:6};default:return{identifier:`${n}.${n}`,decimal:j[n]}}},Jn=({chain:n,symbol:e})=>{if(e.includes("/"))return"Synth";switch(n){case y.Cosmos:return e==="ATOM"?"Native":y.Cosmos;case y.Kujira:return e===y.Kujira?"Native":y.Kujira;case y.BinanceSmartChain:return e==="BNB"?"Native":"BEP20";case y.Ethereum:return e===y.Ethereum?"Native":"ERC20";case y.Avalanche:return e===y.Avalanche?"Native":y.Avalanche;case y.Polygon:return e===y.Polygon?"Native":"POLYGON";case y.Arbitrum:return[y.Ethereum,y.Arbitrum].includes(e)?"Native":"ARBITRUM";case y.Optimism:return[y.Ethereum,y.Optimism].includes(e)?"Native":"OPTIMISM";case y.Radix:return e===y.Radix?"Native":"RADIX";default:return"Native"}},Lt=(n)=>{const[e,...t]=n.split("."),p=n.includes("/"),d=t.join("."),r=d?.split("-"),u=r?.length?r.length===1?r[0]:r.slice(0,-1).join("-"):void 0;return{chain:e,symbol:d,ticker:u,synth:p}},Un=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),cn=(n)=>{const[e,t]=n.split(".");if(!W.includes(e))return!0;const p=t.split("-"),d=p.length===1?void 0:p[p.length-1];return pn({chain:e,symbol:t})||!!d},Ot=(n)=>n.filter(({chain:e,value:t,symbol:p})=>{const d=`${e}.${p}`;return!Un.test(d)&&cn(d)&&t!=="0"});function Kt({chain:n,index:e,addressIndex:t=0,type:p}){if(W.includes(n)){if(p==="legacy")return[44,60,0,e];if(p==="ledgerLive")return[44,60,e,0,t];return yn(E[n],e)}if([y.Bitcoin,y.Litecoin].includes(n)){const d=n===y.Bitcoin?0:2;if(p==="nativeSegwitMiddleAccount")return[84,d,e,0,t];if(p==="segwit")return[49,d,0,0,e];if(p==="legacy")return[44,d,0,0,e];return yn(E[n],e)}return yn(E[n],e)}function Vt(n){const[e,t,p]=n.split("/").map((d)=>Number.parseInt(d,10));switch(t){case 44:return"legacy";case 49:return"p2sh";default:return"bech32"}}var yn=(n,e)=>[...n.slice(0,n.length-1),e];function Cn({liquidityUnits:n,poolUnits:e,runeDepth:t}){const p=R(n),d=R(e),r=R(t),u=p.mul(r),x=d.mul(d).mul(2),i=d.mul(p).mul(2),_=p.mul(p),Z=d.mul(d).mul(d);return u.mul(x.sub(i).add(_)).div(Z)}function Dn({liquidityUnits:n,poolUnits:e,assetDepth:t}){const p=R(n),d=R(e),r=R(t),u=p.mul(r),x=d.mul(d).mul(2),i=d.mul(p).mul(2),_=p.mul(p),Z=u.mul(x.sub(i).add(_)),w=d.mul(d).mul(d);return Z.div(w)}function Ft({percent:n,runeDepth:e,liquidityUnits:t,poolUnits:p}){return Cn({runeDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}function Mt({percent:n,assetDepth:e,liquidityUnits:t,poolUnits:p}){return Dn({assetDepth:e,liquidityUnits:t,poolUnits:p}).mul(n)}var R=function(n){return Y.fromBigInt(BigInt(n),j.THOR)};function hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p}){return{assetAmount:R(p).mul(n).div(e),runeAmount:R(t).mul(n).div(e)}}function Qt({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p,percent:d}){return Object.fromEntries(Object.entries(hn({liquidityUnits:n,poolUnits:e,runeDepth:t,assetDepth:p})).map(([r,u])=>[r,u.mul(d)]))}function Wt({runeDepth:n,poolUnits:e,assetDepth:t,liquidityUnits:p,runeAmount:d,assetAmount:r}){const u=new Y({value:n,decimal:8}),x=new Y({value:t,decimal:8}),i=new Y({value:e,decimal:8}),_=new Y({value:d,decimal:8}),Z=new Y({value:r,decimal:8}),w=_.mul(x),L=Z.mul(u),B=_.mul(Z),K=u.mul(x),F=i.mul(w.add(L.add(B.mul(2)))),H=w.add(L.add(K.mul(2))),sn=F.div(H),C=R(p).add(sn);if(sn.getBaseValue("number")===0)return C.div(i).getBaseValue("number");const s=i.add(C);return C.div(s).getBaseValue("number")}function lt({runeAmount:n,assetAmount:e,runeDepth:t,assetDepth:p}){if(n==="0"||e==="0"||t==="0"||p==="0")return 0;const d=R(t),r=R(p),u=R(e),x=R(n),i=u.mul(d).sub(r.mul(x)),_=r.mul(x).add(d.mul(r));return Math.abs(i.div(_).getBaseValue("number"))}var c=function(n,{affiliateAddress:e,affiliateBasisPoints:t}){const p=e?`:${e}:${t||0}`:"";return`${n}${p}`},ne=function({chain:n,symbol:e}){switch(n){case y.Bitcoin:case y.Dogecoin:case y.Litecoin:return n.slice(0,1).toLowerCase();case y.BitcoinCash:return"c";default:return`${n}.${e}`}};function ee({type:n,address:e}){return`${n}:${e}`}function te({address:n,unbondAmount:e}){return`${J.UNBOND}:${n}:${e}`}function pe({name:n,chain:e,address:t,owner:p}){const d=`${J.NAME_REGISTER}:${n}:${e}:${t}`,r=p?`:${p}`:"";return`${d}${r}`}function ye(n,{asset:e,address:t,minAmount:p,...d}){const r=`${n}:${e}:${t}`,u=p?`:${p}`:"";return c(`${r}${u}`,d)}function se({chain:n,symbol:e,...t}){return c(`${J.DEPOSIT}:${n}/${e}`,t)}function ae({chain:n,symbol:e,address:t}){const p=ne({chain:n,symbol:e}),d=t?`:${t}`:"";return`${J.DEPOSIT}:${p}${d}`}function de({chain:n,symbol:e,basisPoints:t,...p}){return c(`${J.WITHDRAW}:${n}/${e}:${t}`,p)}function ue({chain:n,symbol:e,ticker:t,basisPoints:p,targetAsset:d,...r}){const u=n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,x=d?`:${d}`:"";return c(`${J.WITHDRAW}:${n}.${u}:${p}${x}`,r)}var vt=(n,e)=>{switch(n){case J.LEAVE:case J.BOND:{const{address:t}=e;return ee({type:n,address:t})}case J.UNBOND:{const{address:t,unbondAmount:p}=e;return te({address:t,unbondAmount:p})}case J.NAME_REGISTER:return pe(e);case J.OPEN_LOAN:case J.CLOSE_LOAN:return ye(n,e);case J.DEPOSIT:{const{chain:t,symbol:p,address:d,singleSide:r}=e;if(r)return se({chain:t,symbol:p});return ae({chain:t,symbol:p,address:d})}case J.WITHDRAW:{const{chain:t,ticker:p,symbol:d,basisPoints:r,targetAssetString:u,singleSide:x}=e;if(x)return de({chain:t,symbol:d,basisPoints:r});return ue({chain:t,ticker:p,symbol:d,basisPoints:r,targetAsset:u})}default:throw new z({errorKey:"helpers_invalid_memo_type",info:{memoType:n}})}};function Dt(n){if(n<0)throw new z({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return 10+n}function ht(n){if(n<0)throw new z({errorKey:"helpers_invalid_number_of_years",info:{numberOfYears:n}});return Math.round((10+n*1.0512)*10000000000)/10000000000}function np([n,e,t,p,d]){return`m/${n}'/${e}'/${t}'/${p}${typeof d!=="number"?"":`/${d}`}`}function ep(n,e){try{return n()}catch(t){if(e)throw new z(e,t);return console.error(t)}}var tp=(n)=>{switch(n){case y.THORChain:return`${n}.RUNE`;case y.Cosmos:return`${n}.ATOM`;case y.BinanceSmartChain:return`${n}`;default:return`${n}.${n}`}};function xp(){const n=[];function e(p){if(n.map((d)=>d.info.uuid).includes(p.detail.info.uuid))return;n.push(p.detail)}window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new Event("eip6963:requestProvider"));function t(){window.removeEventListener("eip6963:announceProvider",e)}return{providers:n,removeEIP6963EventListener:t}}var re=["approve","approvedAmount","call","sendTransaction","transfer","isApproved","approvedAmount","EIP1193SendTransaction","getFeeData","broadcastTransaction","estimateCall","estimateGasLimit","estimateGasPrices","createContractTxObject"],Te=(n,e,t)=>async(...p)=>{try{await xe(e,t)}catch(d){throw new z({errorKey:"helpers_failed_to_switch_network",info:{error:d}})}return n(...p)},Ln=({provider:n,params:e,method:t})=>{if(!n?.send)throw new z("helpers_not_found_provider");const p=e?Array.isArray(e)?e:[e]:[];return n.send(t,p)},ap=({toolbox:n,chainId:e,provider:t=window.ethereum})=>{const p=re.reduce((d,r)=>{if(!n[r])return d;const u=n[r];if(typeof u!=="function")return d;return{...d,[r]:Te(u,t,e)}},{});return{...n,...p}},dp=(n,e)=>Ln({provider:n,method:"wallet_addEthereumChain",params:[e]}),xe=(n,e=o.EthereumHex)=>Ln({provider:n,method:"wallet_switchEthereumChain",params:[{chainId:e}]}),up=(n)=>{window.ethereum?.on("accountsChanged",()=>n()),window.xfi?.ethereum.on("accountsChanged",()=>n())},rp=()=>{const{isTrust:n,isBraveWallet:e,__XDEFI:t,overrideIsMetaMask:p,selectedProvider:d}=window?.ethereum||{};if(n)return k.TRUSTWALLET_WEB;if(e)return k.BRAVE;if(p&&d?.isCoinbaseWallet)return k.COINBASE_WEB;if(t)k.XDEFI;return k.METAMASK},Tp=(n)=>{return me().includes(n)},me=()=>{const n=window?.ethereum&&!window.ethereum?.isBraveWallet,e=window?.xfi||window?.ethereum?.__XDEFI,t=window?.ethereum?.isBraveWallet,p=window?.ethereum?.isTrust||window?.trustwallet,d=window?.ethereum?.overrideIsMetaMask&&window?.ethereum?.selectedProvider?.isCoinbaseWallet||window?.coinbaseWalletExtension,r=[];if(n)r.push(k.METAMASK);if(e)r.push(k.XDEFI);if(t)r.push(k.BRAVE);if(p)r.push(k.TRUSTWALLET_WEB);if(d)r.push(k.COINBASE_WEB);if(fe())r.push(k.OKX_MOBILE);return r},fe=()=>{const n=navigator.userAgent,e=/iphone|ipad|ipod|ios/i.test(n),t=/android|XiaoMi|MiuiBrowser/i.test(n),p=e||t,d=/OKApp/i.test(n);return p&&d},mp=()=>typeof window.ethereum!=="undefined";class Y extends b{eq(n){return this.eqValue(n)}static fromBigInt(n,e){return new Y({decimal:e,value:q({value:n,bigIntDecimal:e,decimal:e})})}}export{ep as wrapWithThrow,Te as wrapMethodWithNetworkSwitch,xt as validateTNS,jn as validateIdentifier,xe as switchEVMWalletNetwork,zt as setRequestClientConfig,ap as prepareNetworkSwitch,fe as okxMobileEnabled,me as listWeb3EVMWallets,mp as isWeb3Detected,pn as isGasAsset,Tp as isDetected,Vt as getWalletFormatFor,Dt as getTHORNameCost,Qt as getSymmetricWithdraw,hn as getSymmetricPoolShare,$t as getMinAmountByChain,ue as getMemoForWithdraw,te as getMemoForUnbond,de as getMemoForSaverWithdraw,se as getMemoForSaverDeposit,pe as getMemoForNameRegister,ye as getMemoForLoan,ee as getMemoForLeaveAndBond,ae as getMemoForDeposit,vt as getMemoFor,ht as getMAYANameCost,lt as getLiquiditySlippage,Yt as getGasAsset,Wt as getEstimatedPoolShare,rp as getETHDefaultWallet,xp as getEIP6963Wallets,Kt as getDerivationPathFor,Xn as getDecimal,zn as getCommonAssetInfo,tp as getChainIdentifier,Ft as getAsymmetricRuneWithdrawAmount,Cn as getAsymmetricRuneShare,Mt as getAsymmetricAssetWithdrawAmount,Dn as getAsymmetricAssetShare,Jn as getAssetType,q as formatBigIntToSafeValue,bt as findAssetBy,Ot as filterAssets,He as erc20ABI,np as derivationPathToString,Wn as defaultRequestHeaders,Lt as assetFromString,dp as addEVMWalletNetwork,up as addAccountsChangedCallback,h as WarningCodeEnum,k as WalletOption,Ye as UTXOChains,Oe as TCSupportedChains,$e as TCEthereumVaultAbi,Xe as TCBscDepositABI,Ge as TCAvalancheDepositABI,Y as SwapKitNumber,z as SwapKitError,Re as SubstrateChains,Ae as SWAP_OUT,Ne as SWAP_IN,on as RouteQuoteWarningSchema,Pe as RouteQuoteSchema,wn as RouteQuoteMetadataSchema,qn as RouteQuoteMetadataAssetSchema,Kn as RouteQuoteLegSchema,Ie as RouteLegWithoutAddressesSchema,gn as RouteLegSchema,U as RequestClient,M as RPCUrl,Se as QuoteResponseSchema,We as QuoteRequestSchema,X as QuoteMode,O as ProviderName,E as NetworkDerivationPath,J as MemoType,oe as MayaEthereumVaultAbi,_e as MayaArbitrumVaultAbi,be as MAYASupportedChains,Tn as LedgerErrorCode,Hn as FeesSchema,nn as FeeTypeEnum,xn as FeeOption,Q as ExplorerUrl,I as EstimatedTimeSchema,fn as EVMTransactionDetailsSchema,bn as EVMTransactionDetailsParamsSchema,W as EVMChains,rn as DerivationPath,Le as CosmosChains,un as ContractAddress,Gn as CommonAssetStrings,D as ChainToRPC,ge as ChainToHexChainId,qe as ChainToExplorerUrl,dn as ChainToChainId,ke as ChainIdToChain,o as ChainId,y as Chain,b as BigIntArithmetics,j as BaseDecimal,G as AssetValue,mn as ApproveMode,Ve as AGG_SWAP};
2
2
 
3
- //# debugId=10B3754A9D3A879764756E2164756E21
3
+ //# debugId=B80448EF1E8A198364756E2164756E21
package/dist/index.js.map CHANGED
@@ -15,7 +15,7 @@
15
15
  "const errorCodes = {\n /**\n * Core\n */\n core_estimated_max_spendable_chain_not_supported: 10002,\n core_extend_error: 10003,\n core_inbound_data_not_found: 10004,\n core_approve_asset_address_or_from_not_found: 10005,\n core_plugin_not_found: 10006,\n core_plugin_swap_not_found: 10007,\n core_approve_asset_target_invalid: 10008,\n core_explorer_unsupported_chain: 10009,\n core_chain_halted: 10099,\n\n core_wallet_connection_not_found: 10100,\n core_wallet_xdefi_not_installed: 10101,\n core_wallet_evmwallet_not_installed: 10102,\n core_wallet_walletconnect_not_installed: 10103,\n core_wallet_keystore_not_installed: 10104,\n core_wallet_ledger_not_installed: 10105,\n core_wallet_trezor_not_installed: 10106,\n core_wallet_keplr_not_installed: 10107,\n core_wallet_okx_not_installed: 10108,\n core_wallet_keepkey_not_installed: 10109,\n /**\n * Core - Swap\n */\n core_swap_invalid_params: 10200,\n core_swap_route_not_complete: 10201,\n core_swap_asset_not_recognized: 10202,\n core_swap_contract_not_found: 10203,\n core_swap_route_transaction_not_found: 10204,\n core_swap_contract_not_supported: 10205,\n core_swap_transaction_error: 10206,\n core_swap_quote_mode_not_supported: 10207,\n /**\n * Core - Transaction\n */\n core_transaction_deposit_error: 10301,\n core_transaction_create_liquidity_base_error: 10302,\n core_transaction_create_liquidity_asset_error: 10303,\n core_transaction_create_liquidity_invalid_params: 10304,\n core_transaction_add_liquidity_invalid_params: 10305,\n core_transaction_add_liquidity_base_address: 10306,\n core_transaction_add_liquidity_base_error: 10307,\n core_transaction_add_liquidity_asset_error: 10308,\n core_transaction_withdraw_error: 10309,\n core_transaction_deposit_to_pool_error: 10310,\n core_transaction_deposit_insufficient_funds_error: 10311,\n core_transaction_deposit_gas_error: 10312,\n core_transaction_invalid_sender_address: 10313,\n core_transaction_deposit_server_error: 10314,\n core_transaction_user_rejected: 10315,\n /**\n * Wallets\n */\n wallet_connection_rejected_by_user: 20000,\n wallet_missing_api_key: 20001,\n wallet_chain_not_supported: 20002,\n wallet_missing_params: 20003,\n wallet_provider_not_found: 20004,\n wallet_failed_to_add_or_switch_network: 20005,\n wallet_ledger_connection_error: 20101,\n wallet_ledger_connection_claimed: 20102,\n wallet_ledger_get_address_error: 20103,\n wallet_ledger_device_not_found: 20104,\n wallet_ledger_device_locked: 20105,\n wallet_phantom_not_found: 20201,\n wallet_xdefi_not_found: 20301,\n wallet_xdefi_send_transaction_no_address: 20302,\n wallet_xdefi_contract_address_not_provided: 20303,\n wallet_xdefi_asset_not_defined: 20304,\n wallet_walletconnect_project_id_not_specified: 20401,\n wallet_walletconnect_connection_not_established: 20402,\n wallet_walletconnect_namespace_not_supported: 20403,\n wallet_trezor_failed_to_sign_transaction: 20501,\n wallet_trezor_derivation_path_not_supported: 20502,\n wallet_trezor_failed_to_get_address: 20503,\n wallet_talisman_not_enabled: 20601,\n wallet_talisman_not_found: 20602,\n /**\n * Chainflip\n */\n chainflip_channel_error: 30001,\n chainflip_unknown_asset: 30002,\n chainflip_broker_invalid_params: 30100,\n chainflip_broker_recipient_error: 30101,\n chainflip_broker_register: 30102,\n chainflip_broker_tx_error: 30103,\n chainflip_broker_withdraw: 30104,\n chainflip_broker_fund_only_flip_supported: 30105,\n chainflip_broker_fund_invalid_address: 30106,\n /**\n * THORChain\n */\n thorchain_chain_halted: 40001,\n thorchain_trading_halted: 40002,\n thorchain_swapin_router_required: 40100,\n thorchain_swapin_vault_required: 40101,\n thorchain_swapin_memo_required: 40102,\n thorchain_swapin_token_required: 40103,\n /**\n * SwapKit API\n */\n api_v2_invalid_response: 50001,\n\n /**\n * Toolboxes\n */\n toolbox_cosmos_signer_not_defined: 90101,\n toolbox_cosmos_no_accounts_found: 90102,\n /**\n * Helpers\n */\n helpers_invalid_number_different_decimals: 99000,\n helpers_invalid_number_of_years: 99001,\n helpers_invalid_identifier: 99002,\n helpers_invalid_asset_url: 99003,\n helpers_invalid_asset_identifier: 99004,\n helpers_invalid_memo_type: 99005,\n helpers_failed_to_switch_network: 99103,\n helpers_not_found_provider: 99200,\n} as const;\n\nexport type ErrorKeys = keyof typeof errorCodes;\n\nexport class SwapKitError extends Error {\n static ErrorCode = errorCodes;\n\n constructor(\n errorOrErrorKey: ErrorKeys | { errorKey: ErrorKeys; info?: Record<string, NotWorth> },\n sourceError?: NotWorth,\n ) {\n const isErrorString = typeof errorOrErrorKey === \"string\";\n\n const errorKey = isErrorString ? errorOrErrorKey : errorOrErrorKey.errorKey;\n\n if (sourceError) {\n console.error(sourceError, {\n stack: sourceError?.stack,\n message: sourceError?.message,\n });\n }\n\n super(errorKey, {\n cause: {\n code: SwapKitError.ErrorCode[errorKey],\n message: `${errorKey}${isErrorString ? \"\" : `: ${JSON.stringify(errorOrErrorKey.info)}`}`,\n },\n });\n\n Object.setPrototypeOf(this, SwapKitError.prototype);\n }\n}\n",
16
16
  "import { SwapKitError } from \"../modules/swapKitError\";\nimport { Chain } from \"../types/chains\";\n\n// Backward compatibility\nconst supportedChains = [...Object.values(Chain), \"TERRA\"];\n\nexport function validateIdentifier(identifier = \"\") {\n const uppercasedIdentifier = identifier.toUpperCase();\n\n const [chain] = uppercasedIdentifier.split(\".\") as [Chain, string];\n if (supportedChains.includes(chain)) return true;\n\n const [synthChain] = uppercasedIdentifier.split(\"/\") as [Chain, string];\n if (supportedChains.includes(synthChain)) return true;\n\n throw new SwapKitError({\n errorKey: \"helpers_invalid_identifier\",\n info: {\n message: `Invalid identifier: ${identifier}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`,\n identifier,\n },\n });\n}\n\nexport function validateTNS(name: string) {\n if (name.length > 30) return false;\n\n const regex = /^[a-zA-Z0-9+_-]+$/g;\n\n return !!name.match(regex);\n}\n",
17
17
  "import { BaseDecimal } from \"../types/chains.ts\";\nimport type { SwapKitNumber } from \"./swapKitNumber.ts\";\n\ntype NumberPrimitivesType = {\n bigint: bigint;\n number: number;\n string: string;\n};\nexport type NumberPrimitives = bigint | number | string;\ntype InitialisationValueType = NumberPrimitives | BigIntArithmetics | SwapKitNumber;\n\ntype SKBigIntParams = InitialisationValueType | { decimal?: number; value: number | string };\ntype AllowedNumberTypes = \"bigint\" | \"number\" | \"string\";\n\nconst DEFAULT_DECIMAL = 8;\nconst toMultiplier = (decimal: number) => 10n ** BigInt(decimal);\nconst decimalFromMultiplier = (multiplier: bigint) =>\n Math.log10(Number.parseFloat(multiplier.toString()));\n\nexport function formatBigIntToSafeValue({\n value,\n bigIntDecimal = DEFAULT_DECIMAL,\n decimal = DEFAULT_DECIMAL,\n}: {\n value: bigint;\n bigIntDecimal?: number;\n decimal?: number;\n}) {\n if (decimal === 0) return value.toString();\n const isNegative = value < 0n;\n let valueString = value.toString().substring(isNegative ? 1 : 0);\n\n const padLength = decimal - (valueString.length - 1);\n\n if (padLength > 0) {\n valueString = \"0\".repeat(padLength) + valueString;\n }\n\n const decimalIndex = valueString.length - decimal;\n let decimalString = valueString.slice(-decimal);\n\n // Check if we need to round up\n if (Number.parseInt(decimalString[bigIntDecimal] || \"0\") >= 5) {\n // Increment the last decimal place and slice off the rest\n decimalString = `${decimalString.substring(0, bigIntDecimal - 1)}${(Number.parseInt(decimalString[bigIntDecimal - 1] || \"0\") + 1).toString()}`;\n } else {\n // Just slice off the extra digits\n decimalString = decimalString.substring(0, bigIntDecimal);\n }\n\n return `${isNegative ? \"-\" : \"\"}${valueString.slice(0, decimalIndex)}.${decimalString}`.replace(\n /\\.?0*$/,\n \"\",\n );\n}\n\nexport class BigIntArithmetics {\n decimalMultiplier: bigint = 10n ** 8n;\n bigIntValue = 0n;\n decimal?: number;\n\n static fromBigInt(value: bigint, decimal?: number) {\n return new BigIntArithmetics({\n decimal,\n value: formatBigIntToSafeValue({ value, bigIntDecimal: decimal, decimal }),\n });\n }\n\n static shiftDecimals({\n value,\n from,\n to,\n }: {\n value: InstanceType<typeof SwapKitNumber>;\n from: number;\n to: number;\n }) {\n return BigIntArithmetics.fromBigInt(\n (value.getBaseValue(\"bigint\") * toMultiplier(to)) / toMultiplier(from),\n to,\n );\n }\n\n constructor(params: SKBigIntParams) {\n const value = getStringValue(params);\n const isComplex = typeof params === \"object\";\n this.decimal = isComplex ? params.decimal : undefined;\n\n // use the multiplier to keep track of decimal point - defaults to 8 if lower than 8\n this.decimalMultiplier =\n isComplex && \"decimalMultiplier\" in params\n ? params.decimalMultiplier\n : toMultiplier(Math.max(getFloatDecimals(toSafeValue(value)), this.decimal || 0));\n this.#setValue(value);\n }\n\n set(value: SKBigIntParams): this {\n // @ts-expect-error False positive\n return new this.constructor({ decimal: this.decimal, value, identifier: this.toString() });\n }\n add(...args: InitialisationValueType[]) {\n return this.#arithmetics(\"add\", ...args);\n }\n sub(...args: InitialisationValueType[]) {\n return this.#arithmetics(\"sub\", ...args);\n }\n mul(...args: InitialisationValueType[]) {\n return this.#arithmetics(\"mul\", ...args);\n }\n div(...args: InitialisationValueType[]) {\n return this.#arithmetics(\"div\", ...args);\n }\n gt(value: InitialisationValueType) {\n return this.#comparison(\"gt\", value);\n }\n gte(value: InitialisationValueType) {\n return this.#comparison(\"gte\", value);\n }\n lt(value: InitialisationValueType) {\n return this.#comparison(\"lt\", value);\n }\n lte(value: InitialisationValueType) {\n return this.#comparison(\"lte\", value);\n }\n eqValue(value: InitialisationValueType) {\n return this.#comparison(\"eqValue\", value);\n }\n\n // @ts-expect-error False positive\n getValue<T extends AllowedNumberTypes>(type: T): NumberPrimitivesType[T] {\n const value = this.formatBigIntToSafeValue(\n this.bigIntValue,\n this.decimal || decimalFromMultiplier(this.decimalMultiplier),\n );\n\n switch (type) {\n case \"number\":\n return Number(value) as NumberPrimitivesType[T];\n case \"string\":\n return value as NumberPrimitivesType[T];\n case \"bigint\":\n return ((this.bigIntValue * 10n ** BigInt(this.decimal || 8n)) /\n this.decimalMultiplier) as NumberPrimitivesType[T];\n }\n }\n\n // @ts-expect-error\n getBaseValue<T extends AllowedNumberTypes>(type: T): NumberPrimitivesType[T] {\n const divisor = this.decimalMultiplier / toMultiplier(this.decimal || BaseDecimal.THOR);\n const baseValue = this.bigIntValue / divisor;\n\n switch (type) {\n case \"number\":\n return Number(baseValue) as NumberPrimitivesType[T];\n case \"string\":\n return baseValue.toString() as NumberPrimitivesType[T];\n case \"bigint\":\n return baseValue as NumberPrimitivesType[T];\n }\n }\n\n getBigIntValue(value: InitialisationValueType, decimal?: number) {\n if (!decimal && typeof value === \"object\") return value.bigIntValue;\n\n const stringValue = getStringValue(value);\n const safeValue = toSafeValue(stringValue);\n\n if (safeValue === \"0\" || safeValue === \"undefined\") return 0n;\n return this.#toBigInt(safeValue, decimal);\n }\n\n toSignificant(significantDigits = 6) {\n const [int, dec] = this.getValue(\"string\").split(\".\");\n const integer = int || \"\";\n const decimal = dec || \"\";\n const valueLength = Number.parseInt(integer) ? integer.length + decimal.length : decimal.length;\n\n if (valueLength <= significantDigits) {\n return this.getValue(\"string\");\n }\n\n if (integer.length >= significantDigits) {\n return integer.slice(0, significantDigits).padEnd(integer.length, \"0\");\n }\n\n if (Number.parseInt(integer)) {\n return `${integer}.${decimal.slice(0, significantDigits - integer.length)}`.padEnd(\n significantDigits - integer.length,\n \"0\",\n );\n }\n\n const trimmedDecimal = Number.parseInt(decimal);\n const slicedDecimal = `${trimmedDecimal}`.slice(0, significantDigits);\n\n return `0.${slicedDecimal.padStart(\n decimal.length - `${trimmedDecimal}`.length + slicedDecimal.length,\n \"0\",\n )}`;\n }\n\n toFixed(fixedDigits = 6) {\n const [int, dec] = this.getValue(\"string\").split(\".\");\n const integer = int || \"\";\n const decimal = dec || \"\";\n\n if (Number.parseInt(integer)) {\n return `${integer}.${decimal.slice(0, fixedDigits)}`.padEnd(fixedDigits, \"0\");\n }\n\n const trimmedDecimal = Number.parseInt(decimal);\n const slicedDecimal = `${trimmedDecimal}`.slice(0, fixedDigits);\n\n return `0.${slicedDecimal.padStart(\n decimal.length - `${trimmedDecimal}`.length + slicedDecimal.length,\n \"0\",\n )}`;\n }\n\n toAbbreviation(digits = 2) {\n const value = this.getValue(\"number\");\n const abbreviations = [\"\", \"K\", \"M\", \"B\", \"T\", \"Q\", \"Qi\", \"S\"];\n const tier = Math.floor(Math.log10(Math.abs(value)) / 3);\n const suffix = abbreviations[tier];\n\n if (!suffix) return this.getValue(\"string\");\n\n const scale = 10 ** (tier * 3);\n const scaled = value / scale;\n\n return `${scaled.toFixed(digits)}${suffix}`;\n }\n\n toCurrency(\n currency = \"$\",\n {\n currencyPosition = \"start\",\n decimal = 2,\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n } = {},\n ) {\n const value = this.getValue(\"number\");\n const [int = \"\", dec = \"\"] = value.toFixed(6).split(\".\");\n const integer = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n\n const parsedValue =\n int || dec\n ? int === \"0\"\n ? `${Number.parseFloat(`0.${dec}`)}`.replace(\".\", decimalSeparator)\n : `${integer}${Number.parseInt(dec) ? `${decimalSeparator}${dec.slice(0, decimal)}` : \"\"}`\n : \"0.00\";\n\n return `${currencyPosition === \"start\" ? currency : \"\"}${parsedValue}${\n currencyPosition === \"end\" ? currency : \"\"\n }`;\n }\n\n formatBigIntToSafeValue(value: bigint, decimal?: number) {\n const bigIntDecimal = decimal || this.decimal || DEFAULT_DECIMAL;\n const decimalToUseForConversion = Math.max(\n bigIntDecimal,\n decimalFromMultiplier(this.decimalMultiplier),\n );\n const isNegative = value < 0n;\n\n const valueString = value.toString().substring(isNegative ? 1 : 0);\n const padLength = decimalToUseForConversion - (valueString.length - 1);\n\n const parsedValueString = padLength > 0 ? \"0\".repeat(padLength) + valueString : valueString;\n\n const decimalIndex = parsedValueString.length - decimalToUseForConversion;\n let decimalString = parsedValueString.slice(-decimalToUseForConversion);\n\n // Check if we need to round up\n if (Number.parseInt(decimalString[bigIntDecimal] || \"0\") >= 5) {\n // Increment the last decimal place and slice off the rest\n decimalString = `${decimalString.substring(0, bigIntDecimal - 1)}${(Number.parseInt(decimalString[bigIntDecimal - 1] || \"0\") + 1).toString()}`;\n } else {\n // Just slice off the extra digits\n decimalString = decimalString.substring(0, bigIntDecimal);\n }\n\n return `${isNegative ? \"-\" : \"\"}${parsedValueString.slice(\n 0,\n decimalIndex,\n )}.${decimalString}`.replace(/\\.?0*$/, \"\");\n }\n\n #arithmetics(method: \"add\" | \"sub\" | \"mul\" | \"div\", ...args: InitialisationValueType[]): this {\n const precisionDecimal = this.#retrievePrecisionDecimal(this, ...args);\n const decimal = Math.max(precisionDecimal, decimalFromMultiplier(this.decimalMultiplier));\n const precisionDecimalMultiplier = toMultiplier(decimal);\n\n const result = args.reduce(\n (acc: bigint, arg) => {\n const value = this.getBigIntValue(arg, decimal);\n\n switch (method) {\n case \"add\":\n return acc + value;\n case \"sub\":\n return acc - value;\n /**\n * Multiplication & division would end up with wrong result if we don't adjust the value\n * 200000000n * 200000000n => 40000000000000000n\n * 200000000n / 200000000n => 1n\n * So we do the following:\n * 200000000n * 200000000n = 40000000000000000n / 100000000n (decimals) => 400000000n\n * (200000000n * 100000000n (decimals)) / 200000000n => 100000000n\n */\n case \"mul\":\n return (acc * value) / precisionDecimalMultiplier;\n case \"div\": {\n if (value === 0n) throw new RangeError(\"Division by zero\");\n return (acc * precisionDecimalMultiplier) / value;\n }\n default:\n return acc;\n }\n },\n //normalize is to precision multiplier base\n (this.bigIntValue * precisionDecimalMultiplier) / this.decimalMultiplier,\n );\n\n const value = formatBigIntToSafeValue({\n bigIntDecimal: decimal,\n decimal,\n value: result,\n });\n\n // @ts-expect-error False positive\n return new this.constructor({\n decimalMultiplier: toMultiplier(decimal),\n decimal: this.decimal,\n value,\n identifier: this.toString(),\n });\n }\n\n #comparison(method: \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"eqValue\", ...args: InitialisationValueType[]) {\n const decimal = this.#retrievePrecisionDecimal(this, ...args);\n const value = this.getBigIntValue(args[0] || \"0\", decimal);\n const compareToValue = this.getBigIntValue(this, decimal);\n\n switch (method) {\n case \"gt\":\n return compareToValue > value;\n case \"gte\":\n return compareToValue >= value;\n case \"lt\":\n return compareToValue < value;\n case \"lte\":\n return compareToValue <= value;\n case \"eqValue\":\n return compareToValue === value;\n }\n }\n\n #setValue(value: InitialisationValueType) {\n const safeValue = toSafeValue(value) || \"0\";\n this.bigIntValue = this.#toBigInt(safeValue);\n }\n\n #retrievePrecisionDecimal(...args: InitialisationValueType[]) {\n const decimals = args\n .map((arg) => {\n const isObject = typeof arg === \"object\";\n const value = isObject\n ? arg.decimal || decimalFromMultiplier(arg.decimalMultiplier)\n : getFloatDecimals(toSafeValue(arg));\n\n return value;\n })\n .filter(Boolean) as number[];\n\n return Math.max(...decimals, DEFAULT_DECIMAL);\n }\n\n #toBigInt(value: string, decimal?: number) {\n const multiplier = decimal ? toMultiplier(decimal) : this.decimalMultiplier;\n const padDecimal = decimalFromMultiplier(multiplier);\n const [integerPart = \"\", decimalPart = \"\"] = value.split(\".\");\n\n return BigInt(`${integerPart}${decimalPart.padEnd(padDecimal, \"0\")}`);\n }\n}\n\nconst numberFormatter = Intl.NumberFormat(\"fullwide\", {\n useGrouping: false,\n maximumFractionDigits: 20,\n});\n\nfunction toSafeValue(value: InitialisationValueType) {\n const parsedValue =\n typeof value === \"number\" ? numberFormatter.format(value) : getStringValue(value);\n const splitValue = `${parsedValue}`.replaceAll(\",\", \".\").split(\".\");\n\n return splitValue.length > 1\n ? `${splitValue.slice(0, -1).join(\"\")}.${splitValue.at(-1)}`\n : splitValue[0] || \"0\";\n}\n\nfunction getFloatDecimals(value: string) {\n const decimals = value.split(\".\")[1]?.length || 0;\n return Math.max(decimals, DEFAULT_DECIMAL);\n}\n\nfunction getStringValue(param: SKBigIntParams) {\n return typeof param === \"object\"\n ? \"getValue\" in param\n ? param.getValue(\"string\")\n : param.value\n : param;\n}\n",
18
- "import {\n type CommonAssetString,\n CommonAssetStrings,\n getAssetType,\n getCommonAssetInfo,\n getDecimal,\n isGasAsset,\n} from \"../helpers/asset.ts\";\nimport { validateIdentifier } from \"../helpers/validators.ts\";\nimport { BaseDecimal, Chain, type ChainId, ChainToChainId } from \"../types/chains.ts\";\nimport type { TokenNames, TokenTax } from \"../types/tokens.ts\";\n\nimport type { NumberPrimitives } from \"./bigIntArithmetics.ts\";\nimport { BigIntArithmetics, formatBigIntToSafeValue } from \"./bigIntArithmetics.ts\";\nimport { SwapKitError } from \"./swapKitError.ts\";\nimport type { SwapKitValueType } from \"./swapKitNumber.ts\";\n\nconst staticTokensMap = new Map<\n TokenNames,\n { tax?: TokenTax; decimal: number; identifier: string }\n>();\n\ntype ConditionalAssetValueReturn<T extends { asyncTokenLookup?: boolean }> =\n T[\"asyncTokenLookup\"] extends true ? Promise<AssetValue> : AssetValue;\n\ntype AssetIdentifier =\n | { asset: CommonAssetString }\n | { asset: TokenNames }\n | { asset: string }\n | { chain: Chain };\n\ntype AssetValueFromParams = AssetIdentifier & {\n value?: NumberPrimitives | SwapKitValueType;\n fromBaseDecimal?: number;\n asyncTokenLookup?: boolean;\n};\n\nexport class AssetValue extends BigIntArithmetics {\n address?: string;\n chain: Chain;\n isGasAsset = false;\n isSynthetic = false;\n symbol: string;\n tax?: TokenTax;\n ticker: string;\n type: ReturnType<typeof getAssetType>;\n chainId: ChainId;\n\n constructor({\n value,\n decimal,\n tax,\n chain,\n symbol,\n identifier,\n }: { decimal: number; value: SwapKitValueType; tax?: TokenTax } & (\n | { chain: Chain; symbol: string; identifier?: never }\n | { identifier: string; chain?: never; symbol?: never }\n )) {\n super(typeof value === \"object\" ? value : { decimal, value });\n\n const assetInfo = getAssetInfo(identifier || `${chain}.${symbol}`);\n\n this.type = getAssetType(assetInfo);\n this.tax = tax;\n this.chain = assetInfo.chain;\n this.ticker = assetInfo.ticker;\n this.symbol = assetInfo.symbol;\n this.address = assetInfo.address;\n this.isSynthetic = assetInfo.isSynthetic;\n this.isGasAsset = assetInfo.isGasAsset;\n this.chainId = ChainToChainId[assetInfo.chain];\n }\n\n toString() {\n return this.isSynthetic ? this.symbol : `${this.chain}.${this.symbol}`;\n }\n\n toUrl() {\n return this.isSynthetic ? `${this.chain}.${this.symbol.replace(\"/\", \".\")}` : this.toString();\n }\n\n eqAsset({ chain, symbol }: { chain: Chain; symbol: string }) {\n return this.chain === chain && this.symbol === symbol;\n }\n\n eq(assetValue: AssetValue) {\n return this.eqAsset(assetValue) && this.eqValue(assetValue);\n }\n\n // THOR.RUNE\n // THOR.ETH.ETH\n // ETH.THOR-0x1234567890\n static fromUrl(urlAsset: string, value: NumberPrimitives = 0) {\n const [chain, ticker, symbol] = urlAsset.split(\".\");\n if (!(chain && ticker)) {\n throw new SwapKitError({\n errorKey: \"helpers_invalid_asset_url\",\n info: { urlAsset },\n });\n }\n\n const asset = chain === Chain.THORChain && symbol ? `${chain}.${ticker}/${symbol}` : urlAsset;\n\n return AssetValue.from({ asset, value });\n }\n\n static from<T extends {}>({\n value = 0,\n fromBaseDecimal,\n asyncTokenLookup,\n ...fromAssetOrChain\n }: T & AssetValueFromParams): ConditionalAssetValueReturn<T> {\n const parsedValue = value instanceof BigIntArithmetics ? value.getValue(\"string\") : value;\n\n const isFromChain = \"chain\" in fromAssetOrChain;\n\n const assetOrChain = isFromChain ? fromAssetOrChain.chain : fromAssetOrChain.asset;\n\n const isFromCommonAssetOrChain =\n isFromChain ||\n CommonAssetStrings.includes(assetOrChain as (typeof CommonAssetStrings)[number]);\n\n const { identifier: unsafeIdentifier, decimal: commonAssetDecimal } = isFromCommonAssetOrChain\n ? getCommonAssetInfo(assetOrChain as CommonAssetString)\n : { identifier: assetOrChain, decimal: undefined };\n\n const { chain, isSynthetic } = getAssetInfo(unsafeIdentifier);\n\n const { tax, decimal, identifier } = staticTokensMap.get(\n unsafeIdentifier.toUpperCase() as TokenNames,\n ) || {\n decimal: commonAssetDecimal || BaseDecimal[chain],\n identifier: unsafeIdentifier,\n };\n\n const adjustedValue = fromBaseDecimal\n ? safeValue(BigInt(parsedValue), fromBaseDecimal)\n : safeValue(parsedValue, decimal);\n\n const assetValue = asyncTokenLookup\n ? createAssetValue(identifier, fromBaseDecimal ? adjustedValue : parsedValue)\n : isSynthetic\n ? createSyntheticAssetValue(identifier, parsedValue)\n : new AssetValue({ tax, decimal, identifier, value: adjustedValue });\n\n return assetValue as ConditionalAssetValueReturn<T>;\n }\n\n static loadStaticAssets() {\n return new Promise<{ ok: true } | { ok: false; message: string; error: Todo }>(\n (resolve, reject) => {\n try {\n import(\"@swapkit/tokens\").then((tokenPackages) => {\n for (const tokenList of Object.values(tokenPackages)) {\n for (const { identifier, chain, ...rest } of tokenList.tokens) {\n staticTokensMap.set(identifier.toUpperCase() as TokenNames, {\n identifier,\n decimal: \"decimals\" in rest ? rest.decimals : BaseDecimal[chain as Chain],\n });\n }\n }\n\n resolve({ ok: true });\n });\n } catch (error) {\n console.error(error);\n reject({\n ok: false,\n error,\n message:\n \"Couldn't load static assets. Ensure you have installed @swapkit/tokens package\",\n });\n }\n },\n );\n }\n\n /**\n * @deprecated use AssetValue.from({ asset, value, asyncTokenLookup: true })\n */\n static fromString(asset: string, value: NumberPrimitives = 0) {\n return AssetValue.from({ asset, value, asyncTokenLookup: true });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value, asyncTokenLookup: true })\n */\n static fromIdentifier(\n asset: `${Chain}.${string}` | `${Chain}/${string}` | TokenNames,\n value: NumberPrimitives = 0,\n ) {\n return AssetValue.from({ asset: asset as TokenNames, value, asyncTokenLookup: true });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value })\n */\n static fromStringSync(asset: string, value: NumberPrimitives = 0) {\n return AssetValue.from({ asset, value });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value, fromBaseDecimal, asyncTokenLookup: true })\n */\n static fromStringWithBase(\n asset: string,\n value: string | bigint = 0n,\n fromBaseDecimal: number = BaseDecimal.THOR,\n ) {\n return AssetValue.from({ asyncTokenLookup: true, asset, value, fromBaseDecimal });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value, fromBaseDecimal, asyncTokenLookup: true })\n */\n static fromStringWithBaseSync(\n asset: string,\n value: string | bigint = 0n,\n fromBaseDecimal: number = BaseDecimal.THOR,\n ) {\n return AssetValue.from({ asset, value, fromBaseDecimal });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value })\n */\n static fromIdentifierSync(asset: TokenNames, value: NumberPrimitives = 0) {\n return AssetValue.from({ asset, value });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value }) or AssetValue.from({ chain, value })\n */\n static fromChainOrSignature(assetOrChain: CommonAssetString, value: NumberPrimitives = 0) {\n if (assetOrChain in Chain) {\n return AssetValue.from({ chain: assetOrChain as Chain, value });\n }\n return AssetValue.from({ asset: assetOrChain, value });\n }\n}\n\nexport function getMinAmountByChain(chain: Chain) {\n const asset = AssetValue.from({ chain });\n\n switch (chain) {\n case Chain.Bitcoin:\n case Chain.Litecoin:\n case Chain.BitcoinCash:\n case Chain.Dash:\n return asset.set(0.00010001);\n\n case Chain.Dogecoin:\n return asset.set(1.00000001);\n\n case Chain.Avalanche:\n case Chain.Ethereum:\n case Chain.Arbitrum:\n case Chain.BinanceSmartChain:\n return asset.set(0.00000001);\n\n case Chain.THORChain:\n case Chain.Maya:\n return asset.set(0);\n\n case Chain.Cosmos:\n case Chain.Kujira:\n return asset.set(0.000001);\n\n default:\n return asset.set(0.00000001);\n }\n}\n\nasync function createAssetValue(identifier: string, value: NumberPrimitives = 0) {\n validateIdentifier(identifier);\n\n const staticToken = staticTokensMap.get(identifier.toUpperCase() as TokenNames);\n const decimal = staticToken?.decimal || (await getDecimal(getAssetInfo(identifier)));\n if (!staticToken) {\n staticTokensMap.set(identifier.toUpperCase() as TokenNames, { identifier, decimal });\n }\n\n return new AssetValue({ decimal, value: safeValue(value, decimal), identifier });\n}\n\nfunction createSyntheticAssetValue(identifier: string, value: NumberPrimitives = 0) {\n const [synthChain, symbol] =\n identifier.split(\".\")?.[0]?.toUpperCase() === Chain.THORChain\n ? identifier.split(\".\").slice(1).join().split(\"/\")\n : identifier.split(\"/\");\n\n if (!(synthChain && symbol)) {\n throw new SwapKitError({\n errorKey: \"helpers_invalid_asset_identifier\",\n info: { identifier },\n });\n }\n\n return new AssetValue({\n decimal: 8,\n value: safeValue(value, 8),\n identifier: `${Chain.THORChain}.${synthChain}/${symbol}`,\n });\n}\n\nfunction safeValue(value: NumberPrimitives, decimal: number) {\n return typeof value === \"bigint\"\n ? formatBigIntToSafeValue({ value, bigIntDecimal: decimal, decimal })\n : value;\n}\n\n// TODO refactor & split into smaller functions\nfunction getAssetInfo(identifier: string) {\n const isSynthetic = identifier.slice(0, 14).includes(\"/\");\n\n const isThorchain = identifier.split(\".\")?.[0]?.toUpperCase() === Chain.THORChain;\n const isMaya = identifier.split(\".\")?.[0]?.toUpperCase() === Chain.Maya;\n\n const [synthChain, synthSymbol = \"\"] =\n isThorchain || isMaya\n ? identifier.split(\".\").slice(1).join().split(\"/\")\n : identifier.split(\"/\");\n\n if (isSynthetic && !(synthChain && synthSymbol)) {\n throw new SwapKitError({\n errorKey: \"helpers_invalid_asset_identifier\",\n info: { identifier },\n });\n }\n\n const adjustedIdentifier =\n identifier.includes(\".\") && !isSynthetic\n ? identifier\n : `${isMaya ? Chain.Maya : Chain.THORChain}.${synthSymbol}`;\n\n const [chain, ...rest] = adjustedIdentifier.split(\".\") as [Chain, string];\n\n const symbol = isSynthetic ? synthSymbol : rest.join(\".\");\n const splitSymbol = symbol.split(\"-\");\n const ticker = (\n splitSymbol.length === 1 ? splitSymbol[0] : splitSymbol.slice(0, -1).join(\"-\")\n ) as string;\n const address = splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1];\n\n return {\n address: address?.toLowerCase(),\n chain,\n isGasAsset: isGasAsset({ chain, symbol }),\n isSynthetic,\n ticker,\n symbol:\n (isSynthetic ? `${synthChain}/` : \"\") +\n (address ? `${ticker}-${address?.toLowerCase() ?? \"\"}` : symbol),\n };\n}\n",
18
+ "import {\n type CommonAssetString,\n CommonAssetStrings,\n getAssetType,\n getCommonAssetInfo,\n getDecimal,\n isGasAsset,\n} from \"../helpers/asset.ts\";\nimport { validateIdentifier } from \"../helpers/validators.ts\";\nimport { BaseDecimal, Chain, type ChainId, ChainToChainId } from \"../types/chains.ts\";\nimport type { TokenNames, TokenTax } from \"../types/tokens.ts\";\n\nimport type { NumberPrimitives } from \"./bigIntArithmetics.ts\";\nimport { BigIntArithmetics, formatBigIntToSafeValue } from \"./bigIntArithmetics.ts\";\nimport { SwapKitError } from \"./swapKitError.ts\";\nimport type { SwapKitValueType } from \"./swapKitNumber.ts\";\n\nconst staticTokensMap = new Map<\n TokenNames,\n { tax?: TokenTax; decimal: number; identifier: string }\n>();\n\ntype ConditionalAssetValueReturn<T extends { asyncTokenLookup?: boolean }> =\n T[\"asyncTokenLookup\"] extends true ? Promise<AssetValue> : AssetValue;\n\ntype AssetIdentifier =\n | { asset: CommonAssetString }\n | { asset: TokenNames }\n | { asset: string }\n | { chain: Chain };\n\ntype AssetValueFromParams = AssetIdentifier & {\n value?: NumberPrimitives | SwapKitValueType;\n fromBaseDecimal?: number;\n asyncTokenLookup?: boolean;\n};\n\nexport class AssetValue extends BigIntArithmetics {\n address?: string;\n chain: Chain;\n isGasAsset = false;\n isSynthetic = false;\n symbol: string;\n tax?: TokenTax;\n ticker: string;\n type: ReturnType<typeof getAssetType>;\n chainId: ChainId;\n\n constructor({\n value,\n decimal,\n tax,\n chain,\n symbol,\n identifier,\n }: { decimal: number; value: SwapKitValueType; tax?: TokenTax } & (\n | { chain: Chain; symbol: string; identifier?: never }\n | { identifier: string; chain?: never; symbol?: never }\n )) {\n super(typeof value === \"object\" ? value : { decimal, value });\n\n const assetInfo = getAssetInfo(identifier || `${chain}.${symbol}`);\n\n this.type = getAssetType(assetInfo);\n this.tax = tax;\n this.chain = assetInfo.chain;\n this.ticker = assetInfo.ticker;\n this.symbol = assetInfo.symbol;\n this.address = assetInfo.address;\n this.isSynthetic = assetInfo.isSynthetic;\n this.isGasAsset = assetInfo.isGasAsset;\n this.chainId = ChainToChainId[assetInfo.chain];\n }\n\n toString() {\n return this.isSynthetic ? this.symbol : `${this.chain}.${this.symbol}`;\n }\n\n toUrl() {\n return this.isSynthetic ? `${this.chain}.${this.symbol.replace(\"/\", \".\")}` : this.toString();\n }\n\n eqAsset({ chain, symbol }: { chain: Chain; symbol: string }) {\n return this.chain === chain && this.symbol === symbol;\n }\n\n eq(assetValue: AssetValue) {\n return this.eqAsset(assetValue) && this.eqValue(assetValue);\n }\n\n // THOR.RUNE\n // THOR.ETH.ETH\n // ETH.THOR-0x1234567890\n static fromUrl(urlAsset: string, value: NumberPrimitives = 0) {\n const [chain, ticker, symbol] = urlAsset.split(\".\");\n if (!(chain && ticker)) {\n throw new SwapKitError({\n errorKey: \"helpers_invalid_asset_url\",\n info: { urlAsset },\n });\n }\n\n const asset = chain === Chain.THORChain && symbol ? `${chain}.${ticker}/${symbol}` : urlAsset;\n\n return AssetValue.from({ asset, value });\n }\n\n static from<T extends {}>({\n value = 0,\n fromBaseDecimal,\n asyncTokenLookup,\n ...fromAssetOrChain\n }: T & AssetValueFromParams): ConditionalAssetValueReturn<T> {\n const parsedValue = value instanceof BigIntArithmetics ? value.getValue(\"string\") : value;\n\n const isFromChain = \"chain\" in fromAssetOrChain;\n\n const assetOrChain = isFromChain ? fromAssetOrChain.chain : fromAssetOrChain.asset;\n\n const isFromCommonAssetOrChain =\n isFromChain ||\n CommonAssetStrings.includes(assetOrChain as (typeof CommonAssetStrings)[number]);\n\n const { identifier: unsafeIdentifier, decimal: commonAssetDecimal } = isFromCommonAssetOrChain\n ? getCommonAssetInfo(assetOrChain as CommonAssetString)\n : { identifier: assetOrChain, decimal: undefined };\n\n const { chain, isSynthetic } = getAssetInfo(unsafeIdentifier);\n\n const { tax, decimal, identifier } = staticTokensMap.get(\n unsafeIdentifier.toUpperCase() as TokenNames,\n ) || {\n decimal: commonAssetDecimal || BaseDecimal[chain],\n identifier: unsafeIdentifier,\n };\n\n const adjustedValue = fromBaseDecimal\n ? safeValue(BigInt(parsedValue), fromBaseDecimal)\n : safeValue(parsedValue, decimal);\n\n const assetValue = asyncTokenLookup\n ? createAssetValue(identifier, fromBaseDecimal ? adjustedValue : parsedValue)\n : isSynthetic\n ? createSyntheticAssetValue(identifier, parsedValue)\n : new AssetValue({ tax, decimal, identifier, value: adjustedValue });\n\n return assetValue as ConditionalAssetValueReturn<T>;\n }\n\n static loadStaticAssets() {\n return new Promise<{ ok: true } | { ok: false; message: string; error: Todo }>(\n (resolve, reject) => {\n try {\n import(\"@swapkit/tokens\").then((tokenPackages) => {\n for (const tokenList of Object.values(tokenPackages)) {\n for (const { identifier, chain, ...rest } of tokenList.tokens) {\n staticTokensMap.set(identifier.toUpperCase() as TokenNames, {\n identifier,\n decimal: \"decimals\" in rest ? rest.decimals : BaseDecimal[chain as Chain],\n });\n }\n }\n\n resolve({ ok: true });\n });\n } catch (error) {\n console.error(error);\n reject({\n ok: false,\n error,\n message:\n \"Couldn't load static assets. Ensure you have installed @swapkit/tokens package\",\n });\n }\n },\n );\n }\n\n /**\n * @deprecated use AssetValue.from({ asset, value, asyncTokenLookup: true })\n */\n static fromString(asset: string, value: NumberPrimitives = 0) {\n return AssetValue.from({ asset, value, asyncTokenLookup: true });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value, asyncTokenLookup: true })\n */\n static fromIdentifier(\n asset: `${Chain}.${string}` | `${Chain}/${string}` | TokenNames,\n value: NumberPrimitives = 0,\n ) {\n return AssetValue.from({ asset: asset as TokenNames, value, asyncTokenLookup: true });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value })\n */\n static fromStringSync(asset: string, value: NumberPrimitives = 0) {\n return AssetValue.from({ asset, value });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value, fromBaseDecimal, asyncTokenLookup: true })\n */\n static fromStringWithBase(\n asset: string,\n value: string | bigint = 0n,\n fromBaseDecimal: number = BaseDecimal.THOR,\n ) {\n return AssetValue.from({ asyncTokenLookup: true, asset, value, fromBaseDecimal });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value, fromBaseDecimal, asyncTokenLookup: true })\n */\n static fromStringWithBaseSync(\n asset: string,\n value: string | bigint = 0n,\n fromBaseDecimal: number = BaseDecimal.THOR,\n ) {\n return AssetValue.from({ asset, value, fromBaseDecimal });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value })\n */\n static fromIdentifierSync(asset: TokenNames, value: NumberPrimitives = 0) {\n return AssetValue.from({ asset, value });\n }\n /**\n * @deprecated use AssetValue.from({ asset, value }) or AssetValue.from({ chain, value })\n */\n static fromChainOrSignature(assetOrChain: CommonAssetString, value: NumberPrimitives = 0) {\n if (Object.values(Chain).includes(assetOrChain as Chain)) {\n return AssetValue.from({ chain: assetOrChain as Chain, value });\n }\n return AssetValue.from({ asset: assetOrChain, value });\n }\n}\n\nexport function getMinAmountByChain(chain: Chain) {\n const asset = AssetValue.from({ chain });\n\n switch (chain) {\n case Chain.Bitcoin:\n case Chain.Litecoin:\n case Chain.BitcoinCash:\n case Chain.Dash:\n return asset.set(0.00010001);\n\n case Chain.Dogecoin:\n return asset.set(1.00000001);\n\n case Chain.Avalanche:\n case Chain.Ethereum:\n case Chain.Arbitrum:\n case Chain.BinanceSmartChain:\n return asset.set(0.00000001);\n\n case Chain.THORChain:\n case Chain.Maya:\n return asset.set(0);\n\n case Chain.Cosmos:\n case Chain.Kujira:\n return asset.set(0.000001);\n\n default:\n return asset.set(0.00000001);\n }\n}\n\nasync function createAssetValue(identifier: string, value: NumberPrimitives = 0) {\n validateIdentifier(identifier);\n\n const staticToken = staticTokensMap.get(identifier.toUpperCase() as TokenNames);\n const decimal = staticToken?.decimal || (await getDecimal(getAssetInfo(identifier)));\n if (!staticToken) {\n staticTokensMap.set(identifier.toUpperCase() as TokenNames, { identifier, decimal });\n }\n\n return new AssetValue({ decimal, value: safeValue(value, decimal), identifier });\n}\n\nfunction createSyntheticAssetValue(identifier: string, value: NumberPrimitives = 0) {\n const [synthChain, symbol] =\n identifier.split(\".\")?.[0]?.toUpperCase() === Chain.THORChain\n ? identifier.split(\".\").slice(1).join().split(\"/\")\n : identifier.split(\"/\");\n\n if (!(synthChain && symbol)) {\n throw new SwapKitError({\n errorKey: \"helpers_invalid_asset_identifier\",\n info: { identifier },\n });\n }\n\n return new AssetValue({\n decimal: 8,\n value: safeValue(value, 8),\n identifier: `${Chain.THORChain}.${synthChain}/${symbol}`,\n });\n}\n\nfunction safeValue(value: NumberPrimitives, decimal: number) {\n return typeof value === \"bigint\"\n ? formatBigIntToSafeValue({ value, bigIntDecimal: decimal, decimal })\n : value;\n}\n\n// TODO refactor & split into smaller functions\nfunction getAssetInfo(identifier: string) {\n const isSynthetic = identifier.slice(0, 14).includes(\"/\");\n\n const isThorchain = identifier.split(\".\")?.[0]?.toUpperCase() === Chain.THORChain;\n const isMaya = identifier.split(\".\")?.[0]?.toUpperCase() === Chain.Maya;\n\n const [synthChain, synthSymbol = \"\"] =\n isThorchain || isMaya\n ? identifier.split(\".\").slice(1).join().split(\"/\")\n : identifier.split(\"/\");\n\n if (isSynthetic && !(synthChain && synthSymbol)) {\n throw new SwapKitError({\n errorKey: \"helpers_invalid_asset_identifier\",\n info: { identifier },\n });\n }\n\n const adjustedIdentifier =\n identifier.includes(\".\") && !isSynthetic\n ? identifier\n : `${isMaya ? Chain.Maya : Chain.THORChain}.${synthSymbol}`;\n\n const [chain, ...rest] = adjustedIdentifier.split(\".\") as [Chain, string];\n\n const symbol = isSynthetic ? synthSymbol : rest.join(\".\");\n const splitSymbol = symbol.split(\"-\");\n const ticker = (\n splitSymbol.length === 1 ? splitSymbol[0] : splitSymbol.slice(0, -1).join(\"-\")\n ) as string;\n const address = splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1];\n\n return {\n address: address?.toLowerCase(),\n chain,\n isGasAsset: isGasAsset({ chain, symbol }),\n isSynthetic,\n ticker,\n symbol:\n (isSynthetic ? `${synthChain}/` : \"\") +\n (address ? `${ticker}-${address?.toLowerCase() ?? \"\"}` : symbol),\n };\n}\n",
19
19
  "import type { KyInstance, Options } from \"ky\";\nimport ky from \"ky\";\n\nlet kyClientConfig: Options & { apiKey?: string } = {};\n\nexport const defaultRequestHeaders =\n typeof window !== \"undefined\"\n ? ({} as Record<string, string>)\n : { referrer: \"https://sk.thorswap.net\", referer: \"https://sk.thorswap.net\" };\n\nexport function setRequestClientConfig({ apiKey, ...config }: Options & { apiKey?: string }) {\n kyClientConfig = { ...config, apiKey };\n}\n\nfunction getKyClient() {\n const { apiKey, ...config } = kyClientConfig;\n return ky.create({\n ...config,\n headers: { ...defaultRequestHeaders, ...config.headers, \"x-api-key\": apiKey },\n });\n}\n\nconst getTypedBaseRequestClient = (ky: KyInstance) => ({\n get: async <T>(url: string | URL | Request, options?: Options) =>\n (await ky.get(url, options)).json<T>(),\n post: async <T>(url: string | URL | Request, options?: Options) =>\n (await ky.post(url, options)).json<T>(),\n});\n\nexport const RequestClient = {\n ...getTypedBaseRequestClient(getKyClient()),\n extend: (options: Options) => {\n const extendedClient = getKyClient().extend(options);\n return {\n ...getTypedBaseRequestClient(extendedClient),\n extend: RequestClient.extend,\n };\n },\n};\n",
20
20
  "import { AssetValue } from \"../modules/assetValue.ts\";\nimport { RequestClient } from \"../modules/requestClient.ts\";\nimport { BaseDecimal, Chain, ChainToRPC, type EVMChain, EVMChains } from \"../types/chains.ts\";\nimport type { RadixCoreStateResourceDTO } from \"../types/radix.ts\";\nimport type { TokenNames } from \"../types/tokens.ts\";\n\nconst getDecimalMethodHex = \"0x313ce567\";\n\nexport type CommonAssetString = (typeof CommonAssetStrings)[number] | Chain;\n\nexport const CommonAssetStrings = [\n `${Chain.Maya}.MAYA`,\n `${Chain.Ethereum}.THOR`,\n `${Chain.Ethereum}.vTHOR`,\n `${Chain.Kujira}.USK`,\n] as const;\n\nconst getContractDecimals = async ({ chain, to }: { chain: EVMChain; to: string }) => {\n try {\n const { result } = await RequestClient.post<{ result: string }>(ChainToRPC[chain], {\n headers: {\n accept: \"*/*\",\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache\",\n },\n body: JSON.stringify({\n id: 44,\n jsonrpc: \"2.0\",\n method: \"eth_call\",\n params: [{ to: to.toLowerCase(), data: getDecimalMethodHex }, \"latest\"],\n }),\n });\n\n return Number.parseInt(BigInt(result || BaseDecimal[chain]).toString());\n } catch (error) {\n console.error(error);\n return BaseDecimal[chain];\n }\n};\n\nconst getRadixResourceDecimals = async ({ symbol }: { symbol: string }) => {\n try {\n const resourceAddress = symbol.split(\"-\")[1]?.toLowerCase();\n\n const { manager } = await RequestClient.post<RadixCoreStateResourceDTO>(\n `${ChainToRPC[Chain.Radix]}/state/resource`,\n {\n headers: {\n Accept: \"*/*\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n network: \"mainnet\",\n resource_address: resourceAddress,\n }),\n },\n );\n\n return manager.divisibility.value.divisibility;\n } catch (error) {\n console.error(error);\n return BaseDecimal[Chain.Radix];\n }\n};\n\nconst getETHAssetDecimal = (symbol: string) => {\n if (symbol === Chain.Ethereum) return BaseDecimal.ETH;\n const splitSymbol = symbol.split(\"-\");\n const address =\n splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1]?.toLowerCase();\n\n return address?.startsWith(\"0x\")\n ? getContractDecimals({ chain: Chain.Ethereum, to: address })\n : BaseDecimal.ETH;\n};\n\nconst getAVAXAssetDecimal = (symbol: string) => {\n const splitSymbol = symbol.split(\"-\");\n const address = splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1];\n\n return address?.startsWith(\"0x\")\n ? getContractDecimals({ chain: Chain.Avalanche, to: address.toLowerCase() })\n : BaseDecimal.AVAX;\n};\n\nconst getBSCAssetDecimal = (symbol: string) => {\n if (symbol === Chain.BinanceSmartChain) return BaseDecimal.BSC;\n\n return BaseDecimal.BSC;\n};\n\nconst getRadixAssetDecimal = (symbol: string) => {\n if (symbol === Chain.Radix) return BaseDecimal.XRD;\n\n return getRadixResourceDecimals({ symbol });\n};\n\nexport const getDecimal = ({ chain, symbol }: { chain: Chain; symbol: string }) => {\n switch (chain) {\n case Chain.Ethereum:\n return getETHAssetDecimal(symbol);\n case Chain.Avalanche:\n return getAVAXAssetDecimal(symbol);\n case Chain.BinanceSmartChain:\n return getBSCAssetDecimal(symbol);\n case Chain.Radix:\n return getRadixAssetDecimal(symbol);\n default:\n return BaseDecimal[chain];\n }\n};\n\nexport const getGasAsset = ({ chain }: { chain: Chain }) => {\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Optimism:\n return AssetValue.from({ asset: `${chain}.ETH` });\n case Chain.Maya:\n return AssetValue.from({ asset: `${chain}.CACAO` });\n case Chain.Cosmos:\n return AssetValue.from({ asset: `${chain}.ATOM` });\n case Chain.BinanceSmartChain:\n return AssetValue.from({ asset: `${chain}.BNB` });\n case Chain.THORChain:\n return AssetValue.from({ asset: `${chain}.RUNE` });\n\n default:\n return AssetValue.from({ asset: `${chain}.${chain}` });\n }\n};\n\nexport const isGasAsset = ({ chain, symbol }: { chain: Chain; symbol: string }) => {\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Optimism:\n return symbol === \"ETH\";\n case Chain.Maya:\n return symbol === \"CACAO\";\n case Chain.Cosmos:\n return symbol === \"ATOM\";\n case Chain.BinanceSmartChain:\n return symbol === \"BNB\";\n case Chain.THORChain:\n return symbol === \"RUNE\";\n\n default:\n return symbol === chain;\n }\n};\n\nexport const getCommonAssetInfo = (\n assetString: CommonAssetString,\n): { identifier: string; decimal: number } => {\n switch (assetString) {\n case Chain.Arbitrum:\n case Chain.Optimism:\n return { identifier: `${assetString}.ETH`, decimal: BaseDecimal[assetString] };\n\n case `${Chain.Ethereum}.THOR`:\n return { identifier: \"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044\", decimal: 18 };\n case `${Chain.Ethereum}.vTHOR`:\n return { identifier: \"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d\", decimal: 18 };\n case Chain.Cosmos:\n return { identifier: `${assetString}.ATOM`, decimal: BaseDecimal[assetString] };\n case Chain.THORChain:\n return { identifier: `${assetString}.RUNE`, decimal: BaseDecimal[assetString] };\n case Chain.BinanceSmartChain:\n return { identifier: `${assetString}.BNB`, decimal: BaseDecimal[assetString] };\n case Chain.Maya:\n return { identifier: `${assetString}.CACAO`, decimal: BaseDecimal[assetString] };\n case Chain.Radix:\n return { identifier: `${Chain.Radix}.XRD`, decimal: BaseDecimal[assetString] };\n\n case `${Chain.Maya}.MAYA`:\n return { identifier: assetString, decimal: 4 };\n case `${Chain.Kujira}.USK`:\n return { identifier: assetString, decimal: 6 };\n\n default:\n return { identifier: `${assetString}.${assetString}`, decimal: BaseDecimal[assetString] };\n }\n};\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO: Refactor\nexport const getAssetType = ({ chain, symbol }: { chain: Chain; symbol: string }) => {\n if (symbol.includes(\"/\")) return \"Synth\";\n\n switch (chain) {\n case Chain.Cosmos:\n return symbol === \"ATOM\" ? \"Native\" : Chain.Cosmos;\n case Chain.Kujira:\n return symbol === Chain.Kujira ? \"Native\" : Chain.Kujira;\n case Chain.BinanceSmartChain:\n return symbol === \"BNB\" ? \"Native\" : \"BEP20\";\n case Chain.Ethereum:\n return symbol === Chain.Ethereum ? \"Native\" : \"ERC20\";\n case Chain.Avalanche:\n return symbol === Chain.Avalanche ? \"Native\" : Chain.Avalanche;\n case Chain.Polygon:\n return symbol === Chain.Polygon ? \"Native\" : \"POLYGON\";\n case Chain.Arbitrum:\n return [Chain.Ethereum, Chain.Arbitrum].includes(symbol as Chain) ? \"Native\" : \"ARBITRUM\";\n case Chain.Optimism:\n return [Chain.Ethereum, Chain.Optimism].includes(symbol as Chain) ? \"Native\" : \"OPTIMISM\";\n case Chain.Radix:\n return symbol === Chain.Radix ? \"Native\" : \"RADIX\";\n\n default:\n return \"Native\";\n }\n};\n\nexport const assetFromString = (assetString: string) => {\n const [chain, ...symbolArray] = assetString.split(\".\") as [Chain, ...(string | undefined)[]];\n const synth = assetString.includes(\"/\");\n const symbol = symbolArray.join(\".\");\n const splitSymbol = symbol?.split(\"-\");\n const ticker = splitSymbol?.length\n ? splitSymbol.length === 1\n ? splitSymbol[0]\n : splitSymbol.slice(0, -1).join(\"-\")\n : undefined;\n\n return { chain, symbol, ticker, synth };\n};\n\nconst potentialScamRegex = new RegExp(\n /(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/,\n \"gmi\",\n);\n\nconst evmAssetHasAddress = (assetString: string) => {\n const [chain, symbol] = assetString.split(\".\") as [EVMChain, string];\n if (!EVMChains.includes(chain as EVMChain)) return true;\n const splitSymbol = symbol.split(\"-\");\n const address = splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1];\n\n return isGasAsset({ chain: chain as Chain, symbol }) || !!address;\n};\n\nexport const filterAssets = (\n tokens: {\n value: string;\n decimal: number;\n chain: Chain;\n symbol: string;\n }[],\n) =>\n tokens.filter(({ chain, value, symbol }) => {\n const assetString = `${chain}.${symbol}`;\n\n return (\n !potentialScamRegex.test(assetString) && evmAssetHasAddress(assetString) && value !== \"0\"\n );\n });\n\nexport async function findAssetBy(\n params: { chain: EVMChain; contract: string } | { identifier: `${Chain}.${string}` },\n) {\n const tokenPackages = await import(\"@swapkit/tokens\");\n\n for (const tokenList of Object.values(tokenPackages)) {\n for (const { identifier, chain: tokenChain, ...rest } of tokenList.tokens) {\n if (\"identifier\" in params && identifier === params.identifier) {\n return identifier as TokenNames;\n }\n\n if (\n \"address\" in rest &&\n \"chain\" in params &&\n tokenChain === params.chain &&\n rest.address.toLowerCase() === params.contract.toLowerCase()\n )\n return identifier as TokenNames;\n }\n }\n\n return;\n}\n",
21
21
  "import {\n Chain,\n type DerivationPathArray,\n type EVMChain,\n EVMChains,\n NetworkDerivationPath,\n} from \"../types\";\n\ntype Params = {\n chain: Chain;\n index: number;\n addressIndex?: number;\n type?: \"legacy\" | \"ledgerLive\" | \"nativeSegwitMiddleAccount\" | \"segwit\";\n};\n\nconst updatedLastIndex = (path: DerivationPathArray, index: number) => [\n ...path.slice(0, path.length - 1),\n index,\n];\n\nexport function getDerivationPathFor({ chain, index, addressIndex = 0, type }: Params) {\n if (EVMChains.includes(chain as EVMChain)) {\n if (type === \"legacy\") return [44, 60, 0, index];\n if (type === \"ledgerLive\") return [44, 60, index, 0, addressIndex];\n return updatedLastIndex(NetworkDerivationPath[chain], index);\n }\n\n if ([Chain.Bitcoin, Chain.Litecoin].includes(chain)) {\n const chainId = chain === Chain.Bitcoin ? 0 : 2;\n\n if (type === \"nativeSegwitMiddleAccount\") return [84, chainId, index, 0, addressIndex];\n if (type === \"segwit\") return [49, chainId, 0, 0, index];\n if (type === \"legacy\") return [44, chainId, 0, 0, index];\n return updatedLastIndex(NetworkDerivationPath[chain], index);\n }\n\n return updatedLastIndex(NetworkDerivationPath[chain], index);\n}\n\nexport function getWalletFormatFor(path: string) {\n const [_, purpose, chainId] = path.split(\"/\").map((p) => Number.parseInt(p, 10));\n\n if (chainId === 145) \"cashaddr\";\n\n switch (purpose) {\n case 44:\n return \"legacy\";\n case 49:\n return \"p2sh\";\n default:\n return \"bech32\";\n }\n}\n",
@@ -25,7 +25,7 @@
25
25
  "import type { BrowserProvider } from \"ethers\";\nimport { SwapKitError } from \"../modules/swapKitError\";\nimport {\n ChainId,\n type EIP6963AnnounceProviderEvent,\n type EIP6963Provider,\n WalletOption,\n} from \"../types\";\n\nexport type EthereumWindowProvider = BrowserProvider & {\n __XDEFI?: boolean;\n isBraveWallet?: boolean;\n isCoinbaseWallet?: boolean;\n isMetaMask?: boolean;\n isOkxWallet?: boolean;\n isTrust?: boolean;\n isTalisman?: boolean;\n on: (event: string, callback?: () => void) => void;\n overrideIsMetaMask?: boolean;\n request: <T = unknown>(args: { method: string; params?: unknown[] }) => Promise<T>;\n selectedProvider?: EthereumWindowProvider;\n};\n\ndeclare const window: {\n ethereum: EthereumWindowProvider;\n trustwallet: EthereumWindowProvider;\n coinbaseWalletExtension: EthereumWindowProvider;\n braveSolana: Todo;\n} & Window;\n\n// declare global {\n// interface Window {\n// ethereum: EthereumWindowProvider;\n// trustwallet: EthereumWindowProvider;\n// coinbaseWalletExtension: EthereumWindowProvider;\n// braveSolana: Todo;\n// }\n// }\n\ntype NetworkParams = {\n chainId: ChainId;\n chainName: string;\n nativeCurrency: {\n name: string;\n symbol: string;\n decimals: number;\n };\n rpcUrls: string[];\n blockExplorerUrls: string[];\n};\n\ntype ProviderRequestParams = {\n provider?: BrowserProvider;\n params?: Todo;\n method:\n | \"wallet_addEthereumChain\"\n | \"wallet_switchEthereumChain\"\n | \"eth_requestAccounts\"\n | \"eth_sendTransaction\"\n | \"eth_signTransaction\";\n};\n\nconst methodsToWrap = [\n \"approve\",\n \"approvedAmount\",\n \"call\",\n \"sendTransaction\",\n \"transfer\",\n \"isApproved\",\n \"approvedAmount\",\n \"EIP1193SendTransaction\",\n \"getFeeData\",\n \"broadcastTransaction\",\n \"estimateCall\",\n \"estimateGasLimit\",\n \"estimateGasPrices\",\n \"createContractTxObject\",\n];\n\nexport const wrapMethodWithNetworkSwitch = <T extends (...args: Todo[]) => Todo>(\n func: T,\n provider: BrowserProvider,\n chainId: ChainId,\n) =>\n (async (...args: Todo[]) => {\n try {\n await switchEVMWalletNetwork(provider, chainId);\n } catch (error) {\n throw new SwapKitError({\n errorKey: \"helpers_failed_to_switch_network\",\n info: { error },\n });\n }\n return func(...args);\n }) as unknown as T;\n\nconst providerRequest = ({ provider, params, method }: ProviderRequestParams) => {\n if (!provider?.send) {\n throw new SwapKitError(\"helpers_not_found_provider\");\n }\n\n const providerParams = params ? (Array.isArray(params) ? params : [params]) : [];\n return provider.send(method, providerParams);\n};\n\nexport const prepareNetworkSwitch = <T extends { [key: string]: (...args: Todo[]) => Todo }>({\n toolbox,\n chainId,\n provider = window.ethereum,\n}: {\n toolbox: T;\n chainId: ChainId;\n provider?: BrowserProvider;\n}) => {\n const wrappedMethods = methodsToWrap.reduce((object, methodName) => {\n if (!toolbox[methodName]) return object;\n const method = toolbox[methodName];\n\n if (typeof method !== \"function\") return object;\n\n return {\n // biome-ignore lint/performance/noAccumulatingSpread: This is a valid use case\n ...object,\n [methodName]: wrapMethodWithNetworkSwitch<typeof method>(method, provider, chainId),\n };\n }, {});\n\n return { ...toolbox, ...wrappedMethods };\n};\n\nexport const addEVMWalletNetwork = (provider: BrowserProvider, networkParams: NetworkParams) =>\n providerRequest({ provider, method: \"wallet_addEthereumChain\", params: [networkParams] });\n\nexport const switchEVMWalletNetwork = (provider: BrowserProvider, chainId = ChainId.EthereumHex) =>\n providerRequest({ provider, method: \"wallet_switchEthereumChain\", params: [{ chainId }] });\n\nexport const addAccountsChangedCallback = (callback: () => void) => {\n window.ethereum?.on(\"accountsChanged\", () => callback());\n // @ts-expect-error that should be implemented in xdefi and hooked up via swapkit core\n window.xfi?.ethereum.on(\"accountsChanged\", () => callback());\n};\n\nexport const getETHDefaultWallet = () => {\n const { isTrust, isBraveWallet, __XDEFI, overrideIsMetaMask, selectedProvider } =\n window?.ethereum || {};\n if (isTrust) return WalletOption.TRUSTWALLET_WEB;\n if (isBraveWallet) return WalletOption.BRAVE;\n if (overrideIsMetaMask && selectedProvider?.isCoinbaseWallet) return WalletOption.COINBASE_WEB;\n if (__XDEFI) WalletOption.XDEFI;\n return WalletOption.METAMASK;\n};\n\nexport const isDetected = (walletOption: WalletOption) => {\n return listWeb3EVMWallets().includes(walletOption);\n};\n\nexport const listWeb3EVMWallets = () => {\n const metamaskEnabled = window?.ethereum && !window.ethereum?.isBraveWallet;\n // @ts-ignore that should be implemented in xdefi and hooked up via swapkit core\n const xdefiEnabled = window?.xfi || window?.ethereum?.__XDEFI;\n const braveEnabled = window?.ethereum?.isBraveWallet;\n const trustEnabled = window?.ethereum?.isTrust || window?.trustwallet;\n const coinbaseEnabled =\n (window?.ethereum?.overrideIsMetaMask &&\n window?.ethereum?.selectedProvider?.isCoinbaseWallet) ||\n window?.coinbaseWalletExtension;\n\n const wallets = [];\n if (metamaskEnabled) wallets.push(WalletOption.METAMASK);\n if (xdefiEnabled) wallets.push(WalletOption.XDEFI);\n if (braveEnabled) wallets.push(WalletOption.BRAVE);\n if (trustEnabled) wallets.push(WalletOption.TRUSTWALLET_WEB);\n if (coinbaseEnabled) wallets.push(WalletOption.COINBASE_WEB);\n if (okxMobileEnabled()) wallets.push(WalletOption.OKX_MOBILE);\n\n return wallets;\n};\n\nexport function getEIP6963Wallets() {\n const providers: EIP6963Provider[] = [];\n\n function onAnnouncement(event: EIP6963AnnounceProviderEvent) {\n if (providers.map((p) => p.info.uuid).includes(event.detail.info.uuid)) return;\n providers.push(event.detail);\n }\n\n window.addEventListener(\"eip6963:announceProvider\", onAnnouncement);\n window.dispatchEvent(new Event(\"eip6963:requestProvider\"));\n\n function removeEIP6963EventListener() {\n window.removeEventListener(\"eip6963:announceProvider\", onAnnouncement);\n }\n\n return { providers, removeEIP6963EventListener };\n}\n\nexport const okxMobileEnabled = () => {\n const ua = navigator.userAgent;\n const isIOS = /iphone|ipad|ipod|ios/i.test(ua);\n const isAndroid = /android|XiaoMi|MiuiBrowser/i.test(ua);\n const isMobile = isIOS || isAndroid;\n const isOKApp = /OKApp/i.test(ua);\n\n return isMobile && isOKApp;\n};\n\nexport const isWeb3Detected = () => typeof window.ethereum !== \"undefined\";\n",
26
26
  "import { BigIntArithmetics, formatBigIntToSafeValue } from \"./bigIntArithmetics.ts\";\n\nexport type SwapKitValueType = BigIntArithmetics | string | number;\n\nexport class SwapKitNumber extends BigIntArithmetics {\n eq(value: SwapKitValueType) {\n return this.eqValue(value);\n }\n\n static fromBigInt(value: bigint, decimal?: number) {\n return new SwapKitNumber({\n decimal,\n value: formatBigIntToSafeValue({ value, bigIntDecimal: decimal, decimal }),\n });\n }\n}\n"
27
27
  ],
28
- "mappings": "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",
29
- "debugId": "10B3754A9D3A879764756E2164756E21",
28
+ "mappings": "oSAAO,IAAM,GAAW,CACtB,CAAE,OAAQ,CAAC,EAAG,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5E,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACxE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5E,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,EACrD,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CACvD,EACA,KAAM,YACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,MAAO,CAAC,EACjE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAC/D,KAAM,YACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,WACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,QAAS,CAAC,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,QAAS,CAAC,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,WACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,MAAO,CAAC,EACjE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,MAAO,CAAC,EACjE,gBAAiB,aACjB,KAAM,UACR,CACF,EClGO,IAAM,GAAuB,CAClC,CAAE,OAAQ,CAAC,EAAG,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAAC,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,EAEa,GAAuB,CAClC,CAAE,OAAQ,CAAC,EAAG,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,0BACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,0BACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAAC,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,EC1UO,IAAM,GAAqB,CAChC,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,CAAC,EACnE,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CAAC,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,aAAc,KAAM,SAAU,EACvE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAAC,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,EAEa,GAAwB,CACnC,CAAE,OAAQ,CAAC,EAAG,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,2BACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,2BACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAAC,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,EAEa,GAAkB,CAC7B,CAAE,OAAQ,CAAC,EAAG,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAAC,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,EC/eO,IAAK,EAAL,UAAK,EAAL,CACL,cAAW,+BACX,eAAY,+CACZ,uBAAoB,mCACpB,aAAU,2CACV,iBAAc,gDACd,eAAY,qCACZ,YAAS,8CACT,UAAO,wCACP,cAAW,4CACX,cAAW,4CACX,YAAS,uCACT,cAAW,4CACX,UAAO,oCACP,kBAAe,6CACf,cAAW,8BACX,cAAW,wBACX,aAAU,0BACV,WAAQ,wDACR,eAAY,2BACZ,uBAAoB,sCACpB,YAAS,iFArBC,WAwBL,IAAK,EAAL,UAAK,EAAL,CACL,cAAW,sBACX,eAAY,uBACZ,uBAAoB,sBACpB,aAAU,iCACV,iBAAc,0CACd,eAAY,yCACZ,YAAS,iCACT,UAAO,8BACP,cAAW,kCACX,cAAW,uBACX,YAAS,wCACT,cAAW,kCACX,UAAO,2BACP,cAAW,kCACX,cAAW,8BACX,aAAU,0BACV,WAAQ,iCACR,eAAY,sBACZ,YAAS,uBAnBC,WCtBL,IAAK,EAAL,UAAK,EAAL,CACL,cAAW,MACX,eAAY,OACZ,uBAAoB,MACpB,aAAU,MACV,iBAAc,MACd,YAAS,OACT,UAAO,OACP,cAAW,OACX,cAAW,MACX,YAAS,OACT,cAAW,MACX,UAAO,OACP,cAAW,KACX,cAAW,MACX,eAAY,OACZ,aAAU,QACV,WAAQ,MACR,eAAY,OACZ,YAAS,QAnBC,WAwBL,IAAK,EAAL,UAAK,EAAL,CACL,cAAW,QACX,iBAAc,SACd,eAAY,QACZ,kBAAe,SACf,uBAAoB,KACpB,0BAAuB,OACvB,aAAU,UACV,iBAAc,cACd,eAAY,YACZ,YAAS,cACT,UAAO,OACP,cAAW,WACX,YAAS,UACT,cAAW,IACX,iBAAc,MACd,cAAW,WACX,UAAO,uBACP,kBAAe,wBACf,cAAW,KACX,iBAAc,MACd,cAAW,WACX,aAAU,MACV,gBAAa,OACb,WAAQ,gBACR,eAAY,uBACZ,uBAAoB,wBACpB,YAAS,WA3BC,WA8BL,IAAM,GAAyC,EACnD,EAAQ,aAAc,EAAM,UAC5B,EAAQ,UAAW,EAAM,UACzB,EAAQ,cAAe,EAAM,WAC7B,EAAQ,WAAY,EAAM,WAC1B,EAAQ,sBAAuB,EAAM,mBACrC,EAAQ,mBAAoB,EAAM,mBAClC,EAAQ,aAAc,EAAM,aAC5B,EAAQ,SAAU,EAAM,SACxB,EAAQ,WAAY,EAAM,WAC1B,EAAQ,QAAS,EAAM,QACvB,EAAQ,MAAO,EAAM,MACrB,EAAQ,UAAW,EAAM,UACzB,EAAQ,aAAc,EAAM,UAC5B,EAAQ,QAAS,EAAM,QACvB,EAAQ,UAAW,EAAM,UACzB,EAAQ,UAAW,EAAM,UACzB,EAAQ,cAAe,EAAM,MAC7B,EAAQ,MAAO,EAAM,MACrB,EAAQ,aAAc,EAAM,UAC5B,EAAQ,UAAW,EAAM,UACzB,EAAQ,UAAW,EAAM,UACzB,EAAQ,YAAa,EAAM,SAC3B,EAAQ,SAAU,EAAM,SACxB,EAAQ,OAAQ,EAAM,OACtB,EAAQ,mBAAoB,EAAM,WAClC,EAAQ,WAAY,EAAM,WAC1B,EAAQ,QAAS,EAAM,MAC1B,EAGM,GAAa,OAAO,KAAK,CAAK,EAC9B,EAAS,OAAO,OAAO,CAAK,EAEtB,EAAL,UAAK,EAAL,CACL,WAAM,IAAN,MACA,YAAO,IAAP,OACA,WAAM,GAAN,MACA,WAAM,IAAN,MACA,WAAM,GAAN,MACA,YAAO,GAAP,OACA,YAAO,GAAP,OACA,WAAM,IAAN,MACA,WAAM,IAAN,MACA,YAAO,IAAP,OACA,YAAO,GAAP,OACA,YAAO,GAAP,OACA,WAAM,GAAN,MACA,aAAQ,IAAR,QACA,YAAO,IAAP,OACA,UAAK,IAAL,KACA,WAAM,GAAN,MACA,YAAO,GAAP,OACA,WAAM,IAAN,MACA,WAAM,GAAN,QApBU,WAwBL,IAAM,GAAkB,CAAC,EAAM,SAAU,EAAM,SAAS,EASlD,EAAY,CACvB,EAAM,SACN,EAAM,UACN,EAAM,kBACN,EAAM,SACN,EAAM,SACN,EAAM,OACR,EAQa,GAAa,CACxB,EAAM,QACN,EAAM,YACN,EAAM,KACN,EAAM,SACN,EAAM,QACR,EAGa,GAAe,CAAC,EAAM,OAAQ,EAAM,UAAW,EAAM,KAAM,EAAM,MAAM,EAEvE,GAAoB,CAC/B,EAAM,UACN,EAAM,kBACN,EAAM,QACN,EAAM,YACN,EAAM,OACN,EAAM,SACN,EAAM,SACN,EAAM,SACN,EAAM,SACR,EAEa,GAAsB,CACjC,EAAM,SACN,EAAM,KACN,EAAM,SACN,EAAM,OACN,EAAM,KACN,EAAM,SACR,EAEM,EAAmB,EAAO,OAC9B,CAAC,EAAK,IAAU,CACd,MAAM,EAAY,GAAW,KAAK,CAAC,IAAQ,EAAM,KAA0B,CAAK,EAEhF,GAAI,EAAW,EAAI,GAAS,EAE5B,OAAO,GAET,CAAC,CACH,EAEa,GAAiB,EAAO,OACnC,CAAC,EAAK,IAAU,CAEd,OADA,EAAI,GAAS,EAAQ,EAAiB,IAC/B,GAET,CAAC,CACH,EAEa,EAAa,EAAO,OAC/B,CAAC,EAAK,IAAU,CAEd,OADA,EAAI,GAAS,EAAO,EAAiB,IAC9B,GAET,CAAC,CACH,EAEa,GAAoB,EAAO,OACtC,CAAC,EAAK,IAAU,CACd,MAAM,EAAc,GAAG,EAAiB,QAGxC,OADA,EAAI,GAAS,EAAQ,GACd,GAET,CAAC,CACH,EAEa,GAAqB,EAAO,OACvC,CAAC,EAAK,IAAU,CAEd,OADA,EAAI,GAAS,EAAY,EAAiB,IACnC,GAET,CAAC,CACH,ECxIO,IAAK,EAAL,UAAK,EAAL,CACL,kCAA+B,QAC/B,yBAAsB,WACtB,0BAAuB,WACvB,yBAAsB,WACtB,yBAAsB,WACtB,gBAAa,cACb,iBAAc,cACd,gBAAa,cACb,0BAAuB,WACvB,iBAAc,cACd,kBAAe,cACf,iBAAc,cACd,yBAAsB,WACtB,gBAAa,cACb,iBAAc,cACd,gBAAa,gBAhBH,WA0BL,IAAM,GAAW,CAAC,EAAU,WAAY,EAAU,aAAc,EAAU,UAAU,EAE9E,GAAU,CACrB,EAAU,oBACV,EAAU,YACV,EAAU,WACV,EAAU,qBACV,EAAU,YACV,EAAU,YACV,EAAU,oBACV,EAAU,WACV,EAAU,WACZ,EAEa,GAAW,CACtB,EAAU,6BACV,EAAU,oBACV,EAAU,qBACV,EAAU,mBACZ,ECxHO,IAAK,GAAL,UAAK,EAAL,CACL,SAAM,6CACN,UAAO,6CACP,SAAM,6CACN,SAAM,6CACN,WAAQ,6CACR,QAAK,+CANK,aASL,IAAK,GAAL,UAAK,EAAL,CACL,SAAM,iBACN,UAAO,iBACP,SAAM,kBACN,SAAM,iBACN,SAAM,gBACN,UAAO,gBACP,UAAO,gBACP,SAAM,OACN,SAAM,iBACN,UAAO,OACP,UAAO,kBACP,UAAO,kBACP,SAAM,gBACN,WAAQ,iBACR,UAAO,kBACP,QAAK,iBACL,SAAM,kBACN,UAAO,kBACP,SAAM,SAnBI,aAwBL,IAAM,EAA4D,CACvE,IAAK,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACrB,KAAM,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACtB,IAAK,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACtB,IAAK,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACrB,IAAK,CAAC,GAAI,EAAG,EAAG,EAAG,CAAC,EACpB,KAAM,CAAC,GAAI,EAAG,EAAG,EAAG,CAAC,EACrB,KAAM,CAAC,GAAI,EAAG,EAAG,EAAG,CAAC,EACrB,IAAK,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACrB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACvB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACvB,IAAK,CAAC,GAAI,EAAG,EAAG,EAAG,CAAC,EACpB,MAAO,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACvB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACvB,GAAI,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACpB,IAAK,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACtB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EAGvB,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,EACnB,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,EACnB,KAAM,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,CACtB,EC/CO,IAAK,EAAL,UAAK,EAAL,CACL,WAAQ,QACR,qBAAkB,kBAClB,kBAAe,eACf,aAAU,UACV,YAAS,SACT,aAAU,UACV,WAAQ,QACR,cAAW,WACX,YAAS,SACT,cAAW,WACX,SAAM,MACN,gBAAa,aACb,aAAU,UACV,kBAAe,eACf,YAAS,SACT,cAAW,WACX,qBAAkB,kBAClB,mBAAgB,gBAChB,WAAQ,UAnBE,WAsBL,IAAK,GAAL,UAAK,EAAL,CACL,eAAU,OAAV,UACA,oBAAe,OAAf,eACA,mBAAc,OAAd,gBAHU,aChCZ,YAAS,aAgBF,IAAK,GAAL,UAAK,EAAL,CACL,aAAU,UACV,UAAO,OACP,aAAU,YAHA,aAML,IAAK,GAAL,UAAK,EAAL,CACL,aAAU,UACV,eAAY,cAFF,aAgBL,IAAK,EAAL,UAAK,EAAL,CACL,UAAO,OACP,aAAU,IACV,WAAQ,QACR,mBAAgB,IAChB,YAAS,SACT,cAAW,IACX,eAAY,KACZ,gBAAa,OARH,WAWL,IAAM,GAAqB,EAC/B,OAAO,CACN,UAAW,EAAE,OAAO,CAClB,YAAa,eACf,CAAC,EACD,SAAU,EAAE,OAAO,CACjB,YAAa,cACf,CAAC,EACD,WAAY,EACT,OAAO,CACN,YAAa,yBACf,CAAC,EACA,OAAO,CAAC,IAAW,EAAS,EAAG,CAC9B,QAAS,oCACT,KAAM,CAAC,YAAY,CACrB,CAAC,EACH,UAAW,EAAE,SACX,EAAE,MACA,EAAE,OAAO,CACP,YAAa,0BACf,CAAC,CACH,CACF,EACA,cAAe,EAAE,SACf,EAAE,OAAO,CACP,YAAa,4BACf,CAAC,CACH,EACA,mBAAoB,EAAE,SACpB,EAAE,OAAO,CACP,YAAa,0BACf,CAAC,CACH,EACA,SAAU,EAAE,SACV,EAAE,OAAO,CACP,YAAa,oDACf,CAAC,CACH,EACA,UAAW,EAAE,SACX,EAAE,OAAO,CACP,YAAa,oBACf,CAAC,CACH,EACA,aAAc,EAAE,SACd,EACG,OAAO,CACN,YAAa,+BACf,CAAC,EACA,OACC,CAAC,IAAQ,CACP,OAAO,IAAQ,KAAK,MAAM,CAAG,GAAK,GAAO,GAE3C,CAAE,QAAS,0CAA2C,KAAM,CAAC,cAAc,CAAE,CAC/E,CACJ,EACA,yBAA0B,EAAE,SAC1B,EAAE,QAAQ,CACR,YAAa,gCACf,CAAC,CACH,EACA,2BAA4B,EAAE,SAC5B,EAAE,QAAQ,CACR,YAAa,mCACf,CAAC,CACH,EACA,sBAAuB,EAAE,SACvB,EAAE,QAAQ,CACR,YAAa,yBACf,CAAC,CACH,CACF,CAAC,EACA,OAAO,CAAC,IAAS,EAAK,YAAc,EAAK,SAAU,CAClD,QAAS,oBACT,KAAM,CAAC,YAAa,UAAU,CAChC,CAAC,EC3HH,YAAS,aAEF,IAAK,EAAL,UAAK,EAAL,CACL,kBAAe,eACf,qBAAkB,oBAFR,WAKL,IAAM,GAAoC,EAAE,MACjD,EAAE,MAAM,CACN,EAAE,OAAO,EACT,EAAE,OAAO,EACT,EAAE,MAAM,EAAE,OAAO,CAAC,EAClB,EACG,OAAO,CACN,KAAM,EAAE,OAAO,EACf,MAAO,EAAE,OAAO,CAClB,CAAC,EACA,SAAS,2CAA2C,CACzD,CAAC,CACH,EAIa,GAA8B,EAAE,OAAO,CAClD,gBAAiB,EAAE,OAAO,CACxB,YAAa,0CACf,CAAC,EACD,eAAgB,EAAE,OAAO,CACvB,YAAa,4BACf,CAAC,EACD,eAAgB,GAOhB,mBAAoB,EAAE,MACpB,EAAE,OAAO,CACP,YAAa,wDACf,CAAC,CACH,EACA,cAAe,EAAE,SACf,EAAE,OAAO,CACP,YAAa,6CACf,CAAC,CACH,EACA,gBAAiB,EAAE,SACjB,EAAE,OAAO,CACP,YAAa,mCACf,CAAC,CACH,CACF,CAAC,EAIY,EAAsB,EAAE,OAAO,CAC1C,QAAS,EAAE,SACT,EAAE,OAAO,CACP,YAAa,0CACf,CAAC,CACH,EACA,KAAM,EAAE,SACN,EAAE,OAAO,CACP,YAAa,gCACf,CAAC,CACH,EACA,SAAU,EAAE,SACV,EAAE,OAAO,CACP,YAAa,2CACf,CAAC,CACH,EACA,MAAO,EAAE,OAAO,CACd,YAAa,uBACf,CAAC,CACH,CAAC,EAIW,EAAL,UAAK,EAAL,CACL,eAAY,YACZ,kBAAe,eACf,iBAAc,cACd,gBAAa,aACb,eAAY,YACZ,yBAAsB,sBACtB,eAAY,YACZ,aAAU,UACV,kBAAe,eACf,cAAW,WACX,iBAAc,gBAXJ,WAcL,IAAK,GAAL,UAAK,EAAL,CACL,eAAY,YACZ,aAAU,UACV,aAAU,UACV,cAAW,WACX,eAAY,YACZ,SAAM,QANI,aASL,IAAM,GAAa,EAAE,MAC1B,EAAE,OAAO,CACP,KAAM,EAAE,WAAW,EAAW,EAC9B,OAAQ,EAAE,OAAO,EACjB,MAAO,EAAE,OAAO,EAChB,MAAO,EAAE,OAAO,EAChB,SAAU,EAAE,WAAW,CAAY,CACrC,CAAC,CACH,EAIa,GAAiB,EAAE,OAAO,CACrC,UAAW,EAAE,OAAO,CAClB,YAAa,eACf,CAAC,EACD,SAAU,EAAE,OAAO,CACjB,YAAa,cACf,CAAC,EACD,SAAU,EAAE,WAAW,CAAY,EACnC,cAAe,EAAE,OAAO,CACtB,YAAa,gBACf,CAAC,EACD,mBAAoB,EAAE,OAAO,CAC3B,YAAa,qBACf,CAAC,EACD,cAAe,EAAoB,SAAS,EAC5C,UAAW,EACR,OAAO,CACN,YAAa,mBACf,CAAC,EACA,SAAS,EACZ,aAAc,EACX,OAAO,CACN,YAAa,eACf,CAAC,EACA,SAAS,EACZ,eAAgB,EAAE,OAAO,CACvB,YAAa,0BACf,CAAC,CACH,CAAC,EAIY,GAAiC,GAAe,KAAK,CAChE,cAAe,GACf,mBAAoB,GACpB,eAAgB,EAClB,CAAC,EAIY,GAAgC,EAAE,OAAO,CACpD,KAAM,EAAE,OAAO,CACb,YAAa,YACf,CAAC,EACD,MAAO,EAAE,OAAO,CACd,YAAa,cACf,CAAC,EACD,MAAO,EAAE,OAAO,CACd,YAAa,aACf,CAAC,CACH,CAAC,EAIY,GAA2B,EAAE,OAAO,CAC/C,YAAa,EAAE,OAAO,CACpB,YAAa,cACf,CAAC,EACD,OAAQ,EAAE,SAAS,EAAE,MAAM,EAA6B,CAAC,CAC3D,CAAC,EAEY,GAA0B,EAAE,MACvC,EAAE,OAAO,CACP,KAAM,EAAE,WAAW,CAAe,EAClC,QAAS,EAAE,OAAO,EAClB,QAAS,EAAE,OAAO,EAAE,SAAS,CAC/B,CAAC,CACH,EAEa,GAAsB,EAAE,OAAO,CAC1C,UAAW,EAAE,OAAO,CAClB,YAAa,eACf,CAAC,EACD,SAAU,EAAE,OAAO,CACjB,YAAa,cACf,CAAC,EACD,SAAU,EAAE,WAAW,CAAY,EACnC,UAAW,EAAE,OAAO,CAClB,YAAa,wBACf,CAAC,EACD,qBAAsB,EAAE,OAAO,CAC7B,YAAa,wBACf,CAAC,EACD,WAAY,EAAE,OAAO,CACnB,YAAa,yBACf,CAAC,EACD,cAAe,EAAE,OAAO,CACtB,YAAa,gBACf,CAAC,EACD,mBAAoB,EAAE,OAAO,CAC3B,YAAa,qBACf,CAAC,EACD,YAAa,EAAE,OAAO,CACpB,YAAa,iBACf,CAAC,EACD,cAAe,EAAE,SACf,EAAE,OAAO,CACP,YAAa,sDACf,CAAC,CACH,EACA,eAAgB,EAAE,SAChB,EAAE,OAAO,CACP,YAAa,iBACf,CAAC,CACH,EACA,cAAe,EAAE,SACf,EAAE,OAAO,CACP,YAAa,iBACf,CAAC,CACH,EACA,eAAgB,EAAE,SAChB,EAAE,OAAO,CACP,YAAa,iBACf,CAAC,CACH,EACA,KAAM,EAAE,SAAS,EAAU,EAC3B,cAAe,EAAE,SAAS,CAAmB,EAC7C,KAAM,EAAE,SACN,EAAE,OAAO,CACP,YAAa,MACf,CAAC,CACH,EACA,WAAY,EAAE,SACZ,EAAE,OAAO,CACP,YAAa,YACf,CAAC,CACH,CACF,CAAC,EAIY,GAAmB,EAAE,OAAO,CACvC,UAAW,EAAE,MAAM,EAAE,WAAW,CAAY,CAAC,EAC7C,UAAW,EAAE,OAAO,CAClB,YAAa,eACf,CAAC,EACD,WAAY,EAAE,OAAO,CACnB,YAAa,aACf,CAAC,EACD,SAAU,EAAE,OAAO,CACjB,YAAa,cACf,CAAC,EACD,kBAAmB,EAAE,OAAO,CAC1B,YAAa,qBACf,CAAC,EACD,6BAA8B,EAAE,OAAO,CACrC,YAAa,kCACf,CAAC,EACD,cAAe,EAAE,OAAO,CACtB,YAAa,gBACf,CAAC,EACD,mBAAoB,EAAE,OAAO,CAC3B,YAAa,qBACf,CAAC,EACD,cAAe,EAAE,SACf,EAAE,OAAO,CACP,YAAa,gBACf,CAAC,CACH,EACA,cAAe,EAAE,SACf,EAAE,OAAO,CACP,YAAa,gBACf,CAAC,CACH,EACA,eAAgB,EAAE,SAChB,EAAE,OAAO,CACP,YAAa,iBACf,CAAC,CACH,EACA,WAAY,EAAE,SACZ,EAAE,OAAO,CACP,YAAa,YACf,CAAC,CACH,EACA,KAAM,EAAE,SACN,EAAE,OAAO,CACP,YAAa,MACf,CAAC,CACH,EACA,sBAAuB,EAAE,SAAS,EAA2B,EAC7D,eAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAC9C,cAAe,EAAE,SAAS,CAAmB,EAC7C,iBAAkB,EAAE,OAAO,CACzB,YAAa,uBACf,CAAC,EACD,KAAM,EAAE,MAAM,EAAmB,EAEjC,UAAW,EAAE,SAAS,EAAE,OAAO,CAAC,EAChC,SAAU,GACV,KAAM,EACR,CAAC,EAIK,GAA4B,EAAE,OAAO,CACzC,SAAU,EAAE,WAAW,CAAY,EACnC,UAAW,EAAE,OAAO,CAClB,YAAa,eACf,CAAC,EACD,WAAY,EAAE,OAAO,CACnB,YAAa,aACf,CAAC,EACD,SAAU,EAAE,OAAO,CACjB,YAAa,cACf,CAAC,EACD,UAAW,EAAE,OAAO,CAClB,YAAa,YACf,CAAC,EACD,qBAAsB,EAAE,OAAO,CAC7B,YAAa,yBACf,CAAC,EACD,KAAM,EAAE,SAAS,EAAU,CAC7B,CAAC,EAEK,GAAyB,EAAE,OAAO,CACtC,UAAW,EAAE,MAAM,EAAE,WAAW,CAAY,CAAC,EAC7C,UAAW,EAAE,OAAO,CAClB,YAAa,eACf,CAAC,EACD,WAAY,EAAE,OAAO,CACnB,YAAa,aACf,CAAC,EACD,SAAU,EAAE,OAAO,CACjB,YAAa,cACf,CAAC,EACD,kBAAmB,EAAE,OAAO,CAC1B,YAAa,qBACf,CAAC,EACD,6BAA8B,EAAE,OAAO,CACrC,YAAa,kCACf,CAAC,EACD,cAAe,EAAE,OAAO,CACtB,YAAa,gBACf,CAAC,EACD,mBAAoB,EAAE,OAAO,CAC3B,YAAa,qBACf,CAAC,EACD,cAAe,EAAE,SACf,EAAE,OAAO,CACP,YAAa,gBACf,CAAC,CACH,EACA,WAAY,EAAE,SACZ,EAAE,OAAO,CACP,YAAa,YACf,CAAC,CACH,EACA,KAAM,EAAE,SACN,EAAE,OAAO,CACP,YAAa,MACf,CAAC,CACH,EACA,sBAAuB,EAAE,SAAS,EAA2B,EAC7D,cAAe,EAAE,SAAS,CAAmB,EAC7C,iBAAkB,EAAE,OAAO,CACzB,YAAa,uBACf,CAAC,EACD,KAAM,EAAE,MAAM,EAAyB,EACvC,SAAU,GACV,KAAM,EACR,CAAC,EAEY,GAAsB,EAAE,OAAO,CAC1C,QAAS,EAAE,OAAO,CAChB,YAAa,UACf,CAAC,EACD,OAAQ,EAAE,MAAM,EAAsB,EACtC,MAAO,EAAE,SACP,EAAE,OAAO,CACP,YAAa,eACf,CAAC,CACH,CACF,CAAC,EClYD,IAAM,GAAa,CAIjB,iDAAkD,MAClD,kBAAmB,MACnB,4BAA6B,MAC7B,6CAA8C,MAC9C,sBAAuB,MACvB,2BAA4B,MAC5B,kCAAmC,MACnC,gCAAiC,MACjC,kBAAmB,MAEnB,iCAAkC,MAClC,gCAAiC,MACjC,oCAAqC,MACrC,wCAAyC,MACzC,mCAAoC,MACpC,iCAAkC,MAClC,iCAAkC,MAClC,gCAAiC,MACjC,8BAA+B,MAC/B,kCAAmC,MAInC,yBAA0B,MAC1B,6BAA8B,MAC9B,+BAAgC,MAChC,6BAA8B,MAC9B,sCAAuC,MACvC,iCAAkC,MAClC,4BAA6B,MAC7B,mCAAoC,MAIpC,+BAAgC,MAChC,6CAA8C,MAC9C,8CAA+C,MAC/C,iDAAkD,MAClD,8CAA+C,MAC/C,4CAA6C,MAC7C,0CAA2C,MAC3C,2CAA4C,MAC5C,gCAAiC,MACjC,uCAAwC,MACxC,kDAAmD,MACnD,mCAAoC,MACpC,wCAAyC,MACzC,sCAAuC,MACvC,+BAAgC,MAIhC,mCAAoC,MACpC,uBAAwB,MACxB,2BAA4B,MAC5B,sBAAuB,MACvB,0BAA2B,MAC3B,uCAAwC,MACxC,+BAAgC,MAChC,iCAAkC,MAClC,gCAAiC,MACjC,+BAAgC,MAChC,4BAA6B,MAC7B,yBAA0B,MAC1B,uBAAwB,MACxB,yCAA0C,MAC1C,2CAA4C,MAC5C,+BAAgC,MAChC,8CAA+C,MAC/C,gDAAiD,MACjD,6CAA8C,MAC9C,yCAA0C,MAC1C,4CAA6C,MAC7C,oCAAqC,MACrC,4BAA6B,MAC7B,0BAA2B,MAI3B,wBAAyB,MACzB,wBAAyB,MACzB,gCAAiC,MACjC,iCAAkC,MAClC,0BAA2B,MAC3B,0BAA2B,MAC3B,0BAA2B,MAC3B,0CAA2C,MAC3C,sCAAuC,MAIvC,uBAAwB,MACxB,yBAA0B,MAC1B,iCAAkC,MAClC,gCAAiC,MACjC,+BAAgC,MAChC,gCAAiC,MAIjC,wBAAyB,MAKzB,kCAAmC,MACnC,iCAAkC,MAIlC,0CAA2C,MAC3C,gCAAiC,MACjC,2BAA4B,MAC5B,0BAA2B,MAC3B,iCAAkC,MAClC,0BAA2B,MAC3B,iCAAkC,MAClC,2BAA4B,KAC9B,EAIO,MAAM,UAAqB,KAAM,OAC/B,WAAY,GAEnB,WAAW,CACT,EACA,EACA,CACA,MAAM,SAAuB,IAAoB,SAE3C,EAAW,EAAgB,EAAkB,EAAgB,SAEnE,GAAI,EACF,QAAQ,MAAM,EAAa,CACzB,MAAO,GAAa,MACpB,QAAS,GAAa,OACxB,CAAC,EAGH,MAAM,EAAU,CACd,MAAO,CACL,KAAM,EAAa,UAAU,GAC7B,QAAS,GAAG,IAAW,EAAgB,GAAK,KAAK,KAAK,UAAU,EAAgB,IAAI,KACtF,CACF,CAAC,EAED,OAAO,eAAe,KAAM,EAAa,SAAS,EAEtD,CCnJO,SAAS,EAAkB,CAAC,EAAa,GAAI,CAClD,MAAM,EAAuB,EAAW,YAAY,GAE7C,GAAS,EAAqB,MAAM,GAAG,EAC9C,GAAI,GAAgB,SAAS,CAAK,EAAG,MAAO,GAE5C,MAAO,GAAc,EAAqB,MAAM,GAAG,EACnD,GAAI,GAAgB,SAAS,CAAU,EAAG,MAAO,GAEjD,MAAM,IAAI,EAAa,CACrB,SAAU,6BACV,KAAM,CACJ,QAAS,uBAAuB,6EAChC,YACF,CACF,CAAC,EAGI,SAAS,EAAW,CAAC,EAAc,CACxC,GAAI,EAAK,OAAS,GAAI,MAAO,GAE7B,MAAM,EAAQ,qBAEd,QAAS,EAAK,MAAM,CAAK,EAzB3B,IAAM,GAAkB,CAAC,GAAG,OAAO,OAAO,CAAK,EAAG,OAAO,ECelD,SAAS,CAAuB,EACrC,QACA,gBAAgB,EAChB,UAAU,GAKT,CACD,GAAI,IAAY,EAAG,OAAO,EAAM,SAAS,EACzC,MAAM,EAAa,EAAQ,GAC3B,IAAI,EAAc,EAAM,SAAS,EAAE,UAAU,EAAa,EAAI,CAAC,EAE/D,MAAM,EAAY,GAAW,EAAY,OAAS,GAElD,GAAI,EAAY,EACd,EAAc,IAAI,OAAO,CAAS,EAAI,EAGxC,MAAM,EAAe,EAAY,OAAS,EAC1C,IAAI,EAAgB,EAAY,OAAO,CAAO,EAG9C,GAAI,OAAO,SAAS,EAAc,IAAkB,GAAG,GAAK,EAE1D,EAAgB,GAAG,EAAc,UAAU,EAAG,EAAgB,CAAC,KAAK,OAAO,SAAS,EAAc,EAAgB,IAAM,GAAG,EAAI,GAAG,SAAS,QAG3I,GAAgB,EAAc,UAAU,EAAG,CAAa,EAG1D,MAAO,GAAG,EAAa,IAAM,KAAK,EAAY,MAAM,EAAG,CAAY,KAAK,IAAgB,QACtF,SACA,EACF,EAoVF,IAAS,UAAW,CAAC,EAAgC,CAGnD,MAAM,EAAa,UADV,IAAU,SAAW,GAAgB,OAAO,CAAK,EAAI,GAAe,CAAK,IAC9C,WAAW,IAAK,GAAG,EAAE,MAAM,GAAG,EAElE,OAAO,EAAW,OAAS,EACvB,GAAG,EAAW,MAAM,EAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAW,GAAG,EAAE,IACvD,EAAW,IAAM,KAGd,WAAgB,CAAC,EAAe,CACvC,MAAM,EAAW,EAAM,MAAM,GAAG,EAAE,IAAI,QAAU,EAChD,OAAO,KAAK,IAAI,EAAU,CAAe,GAGlC,WAAc,CAAC,EAAuB,CAC7C,cAAc,IAAU,SACpB,aAAc,EACZ,EAAM,SAAS,QAAQ,EACvB,EAAM,MACR,GA/YA,EAAkB,EAClB,EAAe,CAAC,IAAoB,KAAO,OAAO,CAAO,EACzD,EAAwB,CAAC,IAC7B,KAAK,MAAM,OAAO,WAAW,EAAW,SAAS,CAAC,CAAC,EAuC9C,MAAM,CAAkB,CAC7B,kBAA4B,KAAO,GACnC,YAAc,GACd,cAEO,WAAU,CAAC,EAAe,EAAkB,CACjD,OAAO,IAAI,EAAkB,CAC3B,UACA,MAAO,EAAwB,CAAE,QAAO,cAAe,EAAS,SAAQ,CAAC,CAC3E,CAAC,QAGI,cAAa,EAClB,QACA,OACA,MAKC,CACD,OAAO,EAAkB,WACtB,EAAM,aAAa,QAAQ,EAAI,EAAa,CAAE,EAAK,EAAa,CAAI,EACrE,CACF,EAGF,WAAW,CAAC,EAAwB,CAClC,MAAM,EAAQ,GAAe,CAAM,EAC7B,SAAmB,IAAW,SACpC,KAAK,QAAU,EAAY,EAAO,QAAU,OAG5C,KAAK,kBACH,GAAa,sBAAuB,EAChC,EAAO,kBACP,EAAa,KAAK,IAAI,GAAiB,EAAY,CAAK,CAAC,EAAG,KAAK,SAAW,CAAC,CAAC,EACpF,KAAK,GAAU,CAAK,EAGtB,GAAG,CAAC,EAA6B,CAE/B,OAAO,IAAI,KAAK,YAAY,CAAE,QAAS,KAAK,QAAS,QAAO,WAAY,KAAK,SAAS,CAAE,CAAC,EAE3F,GAAG,IAAI,EAAiC,CACtC,OAAO,KAAK,GAAa,MAAO,GAAG,CAAI,EAEzC,GAAG,IAAI,EAAiC,CACtC,OAAO,KAAK,GAAa,MAAO,GAAG,CAAI,EAEzC,GAAG,IAAI,EAAiC,CACtC,OAAO,KAAK,GAAa,MAAO,GAAG,CAAI,EAEzC,GAAG,IAAI,EAAiC,CACtC,OAAO,KAAK,GAAa,MAAO,GAAG,CAAI,EAEzC,EAAE,CAAC,EAAgC,CACjC,OAAO,KAAK,GAAY,KAAM,CAAK,EAErC,GAAG,CAAC,EAAgC,CAClC,OAAO,KAAK,GAAY,MAAO,CAAK,EAEtC,EAAE,CAAC,EAAgC,CACjC,OAAO,KAAK,GAAY,KAAM,CAAK,EAErC,GAAG,CAAC,EAAgC,CAClC,OAAO,KAAK,GAAY,MAAO,CAAK,EAEtC,OAAO,CAAC,EAAgC,CACtC,OAAO,KAAK,GAAY,UAAW,CAAK,EAI1C,QAAsC,CAAC,EAAkC,CACvE,MAAM,EAAQ,KAAK,wBACjB,KAAK,YACL,KAAK,SAAW,EAAsB,KAAK,iBAAiB,CAC9D,EAEA,OAAQ,OACD,SACH,OAAO,OAAO,CAAK,MAChB,SACH,OAAO,MACJ,SACH,OAAS,KAAK,YAAc,KAAO,OAAO,KAAK,SAAW,EAAE,EAC1D,KAAK,mBAKb,YAA0C,CAAC,EAAkC,CAC3E,MAAM,EAAU,KAAK,kBAAoB,EAAa,KAAK,SAAW,EAAY,IAAI,EAChF,EAAY,KAAK,YAAc,EAErC,OAAQ,OACD,SACH,OAAO,OAAO,CAAS,MACpB,SACH,OAAO,EAAU,SAAS,MACvB,SACH,OAAO,GAIb,cAAc,CAAC,EAAgC,EAAkB,CAC/D,IAAK,UAAkB,IAAU,SAAU,OAAO,EAAM,YAExD,MAAM,EAAc,GAAe,CAAK,EAClC,EAAY,EAAY,CAAW,EAEzC,GAAI,IAAc,KAAO,IAAc,YAAa,OAAO,GAC3D,OAAO,KAAK,GAAU,EAAW,CAAO,EAG1C,aAAa,CAAC,EAAoB,EAAG,CACnC,MAAO,EAAK,GAAO,KAAK,SAAS,QAAQ,EAAE,MAAM,GAAG,EAC9C,EAAU,GAAO,GACjB,EAAU,GAAO,GAGvB,IAFoB,OAAO,SAAS,CAAO,EAAI,EAAQ,OAAS,EAAQ,OAAS,EAAQ,SAEtE,EACjB,OAAO,KAAK,SAAS,QAAQ,EAG/B,GAAI,EAAQ,QAAU,EACpB,OAAO,EAAQ,MAAM,EAAG,CAAiB,EAAE,OAAO,EAAQ,OAAQ,GAAG,EAGvE,GAAI,OAAO,SAAS,CAAO,EACzB,MAAO,GAAG,KAAW,EAAQ,MAAM,EAAG,EAAoB,EAAQ,MAAM,IAAI,OAC1E,EAAoB,EAAQ,OAC5B,GACF,EAGF,MAAM,EAAiB,OAAO,SAAS,CAAO,EACxC,EAAgB,GAAG,IAAiB,MAAM,EAAG,CAAiB,EAEpE,MAAO,KAAK,EAAc,SACxB,EAAQ,OAAS,GAAG,IAAiB,OAAS,EAAc,OAC5D,GACF,IAGF,OAAO,CAAC,EAAc,EAAG,CACvB,MAAO,EAAK,GAAO,KAAK,SAAS,QAAQ,EAAE,MAAM,GAAG,EAC9C,EAAU,GAAO,GACjB,EAAU,GAAO,GAEvB,GAAI,OAAO,SAAS,CAAO,EACzB,MAAO,GAAG,KAAW,EAAQ,MAAM,EAAG,CAAW,IAAI,OAAO,EAAa,GAAG,EAG9E,MAAM,EAAiB,OAAO,SAAS,CAAO,EACxC,EAAgB,GAAG,IAAiB,MAAM,EAAG,CAAW,EAE9D,MAAO,KAAK,EAAc,SACxB,EAAQ,OAAS,GAAG,IAAiB,OAAS,EAAc,OAC5D,GACF,IAGF,cAAc,CAAC,EAAS,EAAG,CACzB,MAAM,EAAQ,KAAK,SAAS,QAAQ,EAC9B,EAAgB,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,GAAG,EACvD,EAAO,KAAK,MAAM,KAAK,MAAM,KAAK,IAAI,CAAK,CAAC,EAAI,CAAC,EACjD,EAAS,EAAc,GAE7B,IAAK,EAAQ,OAAO,KAAK,SAAS,QAAQ,EAE1C,MAAM,EAAQ,KAAO,EAAO,GAG5B,MAAO,IAFQ,EAAQ,GAEN,QAAQ,CAAM,IAAI,IAGrC,UAAU,CACR,EAAW,KAET,mBAAmB,QACnB,UAAU,EACV,mBAAmB,IACnB,oBAAoB,KAClB,CAAC,EACL,CACA,MAAM,EAAQ,KAAK,SAAS,QAAQ,GAC7B,EAAM,GAAI,EAAM,IAAM,EAAM,QAAQ,CAAC,EAAE,MAAM,GAAG,EACjD,EAAU,EAAI,QAAQ,wBAAyB,CAAiB,EAEhE,EACJ,GAAO,EACH,IAAQ,IACN,GAAG,OAAO,WAAW,KAAK,GAAK,IAAI,QAAQ,IAAK,CAAgB,EAChE,GAAG,IAAU,OAAO,SAAS,CAAG,EAAI,GAAG,IAAmB,EAAI,MAAM,EAAG,CAAO,IAAM,KACtF,OAEN,MAAO,GAAG,IAAqB,QAAU,EAAW,KAAK,IACvD,IAAqB,MAAQ,EAAW,KAI5C,uBAAuB,CAAC,EAAe,EAAkB,CACvD,MAAM,EAAgB,GAAW,KAAK,SAAW,EAC3C,EAA4B,KAAK,IACrC,EACA,EAAsB,KAAK,iBAAiB,CAC9C,EACM,EAAa,EAAQ,GAErB,EAAc,EAAM,SAAS,EAAE,UAAU,EAAa,EAAI,CAAC,EAC3D,EAAY,GAA6B,EAAY,OAAS,GAE9D,EAAoB,EAAY,EAAI,IAAI,OAAO,CAAS,EAAI,EAAc,EAE1E,EAAe,EAAkB,OAAS,EAChD,IAAI,EAAgB,EAAkB,OAAO,CAAyB,EAGtE,GAAI,OAAO,SAAS,EAAc,IAAkB,GAAG,GAAK,EAE1D,EAAgB,GAAG,EAAc,UAAU,EAAG,EAAgB,CAAC,KAAK,OAAO,SAAS,EAAc,EAAgB,IAAM,GAAG,EAAI,GAAG,SAAS,QAG3I,GAAgB,EAAc,UAAU,EAAG,CAAa,EAG1D,MAAO,GAAG,EAAa,IAAM,KAAK,EAAkB,MAClD,EACA,CACF,KAAK,IAAgB,QAAQ,SAAU,EAAE,EAG3C,EAAY,CAAC,KAA0C,EAAuC,CAC5F,MAAM,EAAmB,KAAK,GAA0B,KAAM,GAAG,CAAI,EAC/D,EAAU,KAAK,IAAI,EAAkB,EAAsB,KAAK,iBAAiB,CAAC,EAClF,EAA6B,EAAa,CAAO,EAEjD,EAAS,EAAK,OAClB,CAAC,EAAa,IAAQ,CACpB,MAAM,EAAQ,KAAK,eAAe,EAAK,CAAO,EAE9C,OAAQ,OACD,MACH,OAAO,EAAM,MACV,MACH,OAAO,EAAM,MASV,MACH,OAAQ,EAAM,EAAS,MACpB,MAAO,CACV,GAAI,IAAU,GAAI,MAAM,IAAI,WAAW,kBAAkB,EACzD,OAAQ,EAAM,EAA8B,CAC9C,SAEE,OAAO,IAIZ,KAAK,YAAc,EAA8B,KAAK,iBACzD,EAEM,EAAQ,EAAwB,CACpC,cAAe,EACf,UACA,MAAO,CACT,CAAC,EAGD,OAAO,IAAI,KAAK,YAAY,CAC1B,kBAAmB,EAAa,CAAO,EACvC,QAAS,KAAK,QACd,QACA,WAAY,KAAK,SAAS,CAC5B,CAAC,EAGH,EAAW,CAAC,KAAoD,EAAiC,CAC/F,MAAM,EAAU,KAAK,GAA0B,KAAM,GAAG,CAAI,EACtD,EAAQ,KAAK,eAAe,EAAK,IAAM,IAAK,CAAO,EACnD,EAAiB,KAAK,eAAe,KAAM,CAAO,EAExD,OAAQ,OACD,KACH,OAAO,EAAiB,MACrB,MACH,OAAO,GAAkB,MACtB,KACH,OAAO,EAAiB,MACrB,MACH,OAAO,GAAkB,MACtB,UACH,OAAO,IAAmB,GAIhC,EAAS,CAAC,EAAgC,CACxC,MAAM,EAAY,EAAY,CAAK,GAAK,IACxC,KAAK,YAAc,KAAK,GAAU,CAAS,EAG7C,EAAyB,IAAI,EAAiC,CAC5D,MAAM,EAAW,EACd,IAAI,CAAC,IAAQ,CAMZ,cALwB,IAAQ,SAE5B,EAAI,SAAW,EAAsB,EAAI,iBAAiB,EAC1D,GAAiB,EAAY,CAAG,CAAC,EAGtC,EACA,OAAO,OAAO,EAEjB,OAAO,KAAK,IAAI,GAAG,EAAU,CAAe,EAG9C,EAAS,CAAC,EAAe,EAAkB,CACzC,MAAM,EAAa,EAAU,EAAa,CAAO,EAAI,KAAK,kBACpD,EAAa,EAAsB,CAAU,GAC5C,EAAc,GAAI,EAAc,IAAM,EAAM,MAAM,GAAG,EAE5D,OAAO,OAAO,GAAG,IAAc,EAAY,OAAO,EAAY,GAAG,GAAG,EAExE,CAEA,IAAM,GAAkB,KAAK,aAAa,WAAY,CACpD,YAAa,GACb,sBAAuB,EACzB,CAAC,EC3JM,SAAS,EAAmB,CAAC,EAAc,CAChD,MAAM,EAAQ,EAAW,KAAK,CAAE,OAAM,CAAC,EAEvC,OAAQ,QACD,EAAM,aACN,EAAM,cACN,EAAM,iBACN,EAAM,KACT,OAAO,EAAM,IAAI,UAAU,OAExB,EAAM,SACT,OAAO,EAAM,IAAI,UAAU,OAExB,EAAM,eACN,EAAM,cACN,EAAM,cACN,EAAM,kBACT,OAAO,EAAM,IAAI,UAAU,OAExB,EAAM,eACN,EAAM,KACT,OAAO,EAAM,IAAI,CAAC,OAEf,EAAM,YACN,EAAM,OACT,OAAO,EAAM,IAAI,QAAQ,UAGzB,OAAO,EAAM,IAAI,UAAU,GAIjC,eAAe,EAAgB,CAAC,EAAoB,EAA0B,EAAG,CAC/E,GAAmB,CAAU,EAE7B,MAAM,EAAc,EAAgB,IAAI,EAAW,YAAY,CAAe,EACxE,EAAU,GAAa,SAAY,MAAM,GAAW,GAAa,CAAU,CAAC,EAClF,IAAK,EACH,EAAgB,IAAI,EAAW,YAAY,EAAiB,CAAE,aAAY,SAAQ,CAAC,EAGrF,OAAO,IAAI,EAAW,CAAE,UAAS,MAAO,EAAU,EAAO,CAAO,EAAG,YAAW,CAAC,EAGjF,IAAS,WAAyB,CAAC,EAAoB,EAA0B,EAAG,CAClF,MAAO,EAAY,GACjB,EAAW,MAAM,GAAG,IAAI,IAAI,YAAY,IAAM,EAAM,UAChD,EAAW,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,EAC/C,EAAW,MAAM,GAAG,EAE1B,KAAM,GAAc,GAClB,MAAM,IAAI,EAAa,CACrB,SAAU,mCACV,KAAM,CAAE,YAAW,CACrB,CAAC,EAGH,OAAO,IAAI,EAAW,CACpB,QAAS,EACT,MAAO,EAAU,EAAO,CAAC,EACzB,WAAY,GAAG,EAAM,aAAa,KAAc,GAClD,CAAC,GAGM,UAAS,CAAC,EAAyB,EAAiB,CAC3D,cAAc,IAAU,SACpB,EAAwB,CAAE,QAAO,cAAe,EAAS,SAAQ,CAAC,EAClE,GAIG,WAAY,CAAC,EAAoB,CACxC,MAAM,EAAc,EAAW,MAAM,EAAG,EAAE,EAAE,SAAS,GAAG,EAElD,EAAc,EAAW,MAAM,GAAG,IAAI,IAAI,YAAY,IAAM,EAAM,UAClE,EAAS,EAAW,MAAM,GAAG,IAAI,IAAI,YAAY,IAAM,EAAM,MAE5D,EAAY,EAAc,IAC/B,GAAe,EACX,EAAW,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,EAC/C,EAAW,MAAM,GAAG,EAE1B,GAAI,KAAiB,GAAc,GACjC,MAAM,IAAI,EAAa,CACrB,SAAU,mCACV,KAAM,CAAE,YAAW,CACrB,CAAC,EAGH,MAAM,EACJ,EAAW,SAAS,GAAG,IAAM,EACzB,EACA,GAAG,EAAS,EAAM,KAAO,EAAM,aAAa,KAE3C,KAAU,GAAQ,EAAmB,MAAM,GAAG,EAE/C,EAAS,EAAc,EAAc,EAAK,KAAK,GAAG,EAClD,EAAc,EAAO,MAAM,GAAG,EAC9B,EACJ,EAAY,SAAW,EAAI,EAAY,GAAK,EAAY,MAAM,EAAG,EAAE,EAAE,KAAK,GAAG,EAEzE,EAAU,EAAY,SAAW,EAAI,OAAY,EAAY,EAAY,OAAS,GAExF,MAAO,CACL,QAAS,GAAS,YAAY,EAC9B,QACA,WAAY,GAAW,CAAE,QAAO,QAAO,CAAC,EACxC,cACA,SACA,QACG,EAAc,GAAG,KAAgB,KACjC,EAAU,GAAG,KAAU,GAAS,YAAY,GAAK,KAAO,EAC7D,GA3UI,EAAkB,IAAI,IAoBrB,MAAM,UAAmB,CAAkB,CAChD,QACA,MACA,WAAa,GACb,YAAc,GACd,OACA,IACA,OACA,KACA,QAEA,WAAW,EACT,QACA,UACA,MACA,QACA,SACA,cAIC,CACD,aAAa,IAAU,SAAW,EAAQ,CAAE,UAAS,OAAM,CAAC,EAE5D,MAAM,EAAY,GAAa,GAAc,GAAG,KAAS,GAAQ,EAEjE,KAAK,KAAO,GAAa,CAAS,EAClC,KAAK,IAAM,EACX,KAAK,MAAQ,EAAU,MACvB,KAAK,OAAS,EAAU,OACxB,KAAK,OAAS,EAAU,OACxB,KAAK,QAAU,EAAU,QACzB,KAAK,YAAc,EAAU,YAC7B,KAAK,WAAa,EAAU,WAC5B,KAAK,QAAU,GAAe,EAAU,OAG1C,QAAQ,EAAG,CACT,OAAO,KAAK,YAAc,KAAK,OAAS,GAAG,KAAK,SAAS,KAAK,SAGhE,KAAK,EAAG,CACN,OAAO,KAAK,YAAc,GAAG,KAAK,SAAS,KAAK,OAAO,QAAQ,IAAK,GAAG,IAAM,KAAK,SAAS,EAG7F,OAAO,EAAG,QAAO,UAA4C,CAC3D,OAAO,KAAK,QAAU,GAAS,KAAK,SAAW,EAGjD,EAAE,CAAC,EAAwB,CACzB,OAAO,KAAK,QAAQ,CAAU,GAAK,KAAK,QAAQ,CAAU,QAMrD,QAAO,CAAC,EAAkB,EAA0B,EAAG,CAC5D,MAAO,EAAO,EAAQ,GAAU,EAAS,MAAM,GAAG,EAClD,KAAM,GAAS,GACb,MAAM,IAAI,EAAa,CACrB,SAAU,4BACV,KAAM,CAAE,UAAS,CACnB,CAAC,EAGH,MAAM,EAAQ,IAAU,EAAM,WAAa,EAAS,GAAG,KAAS,KAAU,IAAW,EAErF,OAAO,EAAW,KAAK,CAAE,QAAO,OAAM,CAAC,QAGlC,KAAkB,EACvB,QAAQ,EACR,kBACA,sBACG,GACwD,CAC3D,MAAM,EAAc,aAAiB,EAAoB,EAAM,SAAS,QAAQ,EAAI,EAE9E,EAAc,UAAW,EAEzB,EAAe,EAAc,EAAiB,MAAQ,EAAiB,MAEvE,EACJ,GACA,GAAmB,SAAS,CAAmD,GAEzE,WAAY,EAAkB,QAAS,GAAuB,EAClE,GAAmB,CAAiC,EACpD,CAAE,WAAY,EAAc,QAAS,MAAU,GAE3C,QAAO,eAAgB,GAAa,CAAgB,GAEpD,MAAK,UAAS,cAAe,EAAgB,IACnD,EAAiB,YAAY,CAC/B,GAAK,CACH,QAAS,GAAsB,EAAY,GAC3C,WAAY,CACd,EAEM,EAAgB,EAClB,EAAU,OAAO,CAAW,EAAG,CAAe,EAC9C,EAAU,EAAa,CAAO,EAQlC,OANmB,EACf,GAAiB,EAAY,EAAkB,EAAgB,CAAW,EAC1E,EACE,GAA0B,EAAY,CAAW,EACjD,IAAI,EAAW,CAAE,MAAK,UAAS,aAAY,MAAO,CAAc,CAAC,QAKlE,iBAAgB,EAAG,CACxB,OAAO,IAAI,QACT,CAAC,EAAS,IAAW,CACnB,GAAI,CACF,AAAO,0BAAmB,KAAK,CAAC,IAAkB,CAChD,QAAW,KAAa,OAAO,OAAO,CAAa,EACjD,QAAa,aAAY,WAAU,KAAU,EAAU,OACrD,EAAgB,IAAI,EAAW,YAAY,EAAiB,CAC1D,aACA,QAAS,aAAc,EAAO,EAAK,SAAW,EAAY,EAC5D,CAAC,EAIL,EAAQ,CAAE,GAAI,EAAK,CAAC,EACrB,QACM,EAAP,CACA,QAAQ,MAAM,CAAK,EACnB,EAAO,CACL,GAAI,GACJ,QACA,QACE,gFACJ,CAAC,GAGP,QAMK,WAAU,CAAC,EAAe,EAA0B,EAAG,CAC5D,OAAO,EAAW,KAAK,CAAE,QAAO,QAAO,iBAAkB,EAAK,CAAC,QAK1D,eAAc,CACnB,EACA,EAA0B,EAC1B,CACA,OAAO,EAAW,KAAK,CAAE,MAAO,EAAqB,QAAO,iBAAkB,EAAK,CAAC,QAK/E,eAAc,CAAC,EAAe,EAA0B,EAAG,CAChE,OAAO,EAAW,KAAK,CAAE,QAAO,OAAM,CAAC,QAKlC,mBAAkB,CACvB,EACA,EAAyB,GACzB,EAA0B,EAAY,KACtC,CACA,OAAO,EAAW,KAAK,CAAE,iBAAkB,GAAM,QAAO,QAAO,iBAAgB,CAAC,QAK3E,uBAAsB,CAC3B,EACA,EAAyB,GACzB,EAA0B,EAAY,KACtC,CACA,OAAO,EAAW,KAAK,CAAE,QAAO,QAAO,iBAAgB,CAAC,QAKnD,mBAAkB,CAAC,EAAmB,EAA0B,EAAG,CACxE,OAAO,EAAW,KAAK,CAAE,QAAO,OAAM,CAAC,QAKlC,qBAAoB,CAAC,EAAiC,EAA0B,EAAG,CACxF,GAAI,OAAO,OAAO,CAAK,EAAE,SAAS,CAAqB,EACrD,OAAO,EAAW,KAAK,CAAE,MAAO,EAAuB,OAAM,CAAC,EAEhE,OAAO,EAAW,KAAK,CAAE,MAAO,EAAc,OAAM,CAAC,EAEzD,CCzOA,mBASO,SAAS,EAAsB,EAAG,YAAW,GAAyC,CAC3F,GAAiB,IAAK,EAAQ,QAAO,EAGvC,IAAS,WAAW,EAAG,CACrB,MAAQ,YAAW,GAAW,GAC9B,OAAO,GAAG,OAAO,IACZ,EACH,QAAS,IAAK,MAA0B,EAAO,QAAS,YAAa,CAAO,CAC9E,CAAC,GAhBC,GAAgD,CAAC,EAExC,UACJ,SAAW,YACb,CAAC,EACF,CAAE,SAAU,0BAA2B,QAAS,yBAA0B,EAc1E,GAA4B,CAAC,KAAoB,CACrD,IAAK,MAAU,EAA6B,KACzC,MAAM,EAAG,IAAI,EAAK,CAAO,GAAG,KAAQ,EACvC,KAAM,MAAU,EAA6B,KAC1C,MAAM,EAAG,KAAK,EAAK,CAAO,GAAG,KAAQ,CAC1C,GAEa,EAAgB,IACxB,GAA0B,GAAY,CAAC,EAC1C,OAAQ,CAAC,IAAqB,CAC5B,MAAM,EAAiB,GAAY,EAAE,OAAO,CAAO,EACnD,MAAO,IACF,GAA0B,CAAc,EAC3C,OAAQ,EAAc,MACxB,EAEJ,EC0NA,eAAsB,EAAW,CAC/B,EACA,CACA,MAAM,EAAgB,KAAa,2BAEnC,QAAW,KAAa,OAAO,OAAO,CAAa,EACjD,QAAa,aAAY,MAAO,KAAe,KAAU,EAAU,OAAQ,CACzE,GAAI,eAAgB,GAAU,IAAe,EAAO,WAClD,OAAO,EAGT,GACE,YAAa,GACb,UAAW,GACX,IAAe,EAAO,OACtB,EAAK,QAAQ,YAAY,IAAM,EAAO,SAAS,YAAY,EAE3D,OAAO,EAIb,OA/QF,IAAM,GAAsB,aAIf,GAAqB,CAChC,GAAG,EAAM,YACT,GAAG,EAAM,gBACT,GAAG,EAAM,iBACT,GAAG,EAAM,YACX,EAEM,GAAsB,OAAS,QAAO,QAA0C,CACpF,GAAI,CACF,MAAQ,UAAW,MAAM,EAAc,KAAyB,EAAW,GAAQ,CACjF,QAAS,CACP,OAAQ,MACR,eAAgB,mBAChB,gBAAiB,UACnB,EACA,KAAM,KAAK,UAAU,CACnB,GAAI,GACJ,QAAS,MACT,OAAQ,WACR,OAAQ,CAAC,CAAE,GAAI,EAAG,YAAY,EAAG,KAAM,EAAoB,EAAG,QAAQ,CACxE,CAAC,CACH,CAAC,EAED,OAAO,OAAO,SAAS,OAAO,GAAU,EAAY,EAAM,EAAE,SAAS,CAAC,QAC/D,EAAP,CAEA,OADA,QAAQ,MAAM,CAAK,EACZ,EAAY,KAIjB,GAA2B,OAAS,YAAiC,CACzE,GAAI,CACF,MAAM,EAAkB,EAAO,MAAM,GAAG,EAAE,IAAI,YAAY,GAElD,WAAY,MAAM,EAAc,KACtC,GAAG,EAAW,EAAM,wBACpB,CACE,QAAS,CACP,OAAQ,MACR,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CACnB,QAAS,UACT,iBAAkB,CACpB,CAAC,CACH,CACF,EAEA,OAAO,EAAQ,aAAa,MAAM,mBAC3B,EAAP,CAEA,OADA,QAAQ,MAAM,CAAK,EACZ,EAAY,EAAM,SAIvB,GAAqB,CAAC,IAAmB,CAC7C,GAAI,IAAW,EAAM,SAAU,OAAO,EAAY,IAClD,MAAM,EAAc,EAAO,MAAM,GAAG,EAC9B,EACJ,EAAY,SAAW,EAAI,OAAY,EAAY,EAAY,OAAS,IAAI,YAAY,EAE1F,OAAO,GAAS,WAAW,IAAI,EAC3B,GAAoB,CAAE,MAAO,EAAM,SAAU,GAAI,CAAQ,CAAC,EAC1D,EAAY,KAGZ,GAAsB,CAAC,IAAmB,CAC9C,MAAM,EAAc,EAAO,MAAM,GAAG,EAC9B,EAAU,EAAY,SAAW,EAAI,OAAY,EAAY,EAAY,OAAS,GAExF,OAAO,GAAS,WAAW,IAAI,EAC3B,GAAoB,CAAE,MAAO,EAAM,UAAW,GAAI,EAAQ,YAAY,CAAE,CAAC,EACzE,EAAY,MAGZ,GAAqB,CAAC,IAAmB,CAC7C,GAAI,IAAW,EAAM,kBAAmB,OAAO,EAAY,IAE3D,OAAO,EAAY,KAGf,GAAuB,CAAC,IAAmB,CAC/C,GAAI,IAAW,EAAM,MAAO,OAAO,EAAY,IAE/C,OAAO,GAAyB,CAAE,QAAO,CAAC,GAG/B,GAAa,EAAG,QAAO,YAA+C,CACjF,OAAQ,QACD,EAAM,SACT,OAAO,GAAmB,CAAM,OAC7B,EAAM,UACT,OAAO,GAAoB,CAAM,OAC9B,EAAM,kBACT,OAAO,GAAmB,CAAM,OAC7B,EAAM,MACT,OAAO,GAAqB,CAAM,UAElC,OAAO,EAAY,KAIZ,GAAc,EAAG,WAA8B,CAC1D,OAAQ,QACD,EAAM,cACN,EAAM,SACT,OAAO,EAAW,KAAK,CAAE,MAAO,GAAG,OAAY,CAAC,OAC7C,EAAM,KACT,OAAO,EAAW,KAAK,CAAE,MAAO,GAAG,SAAc,CAAC,OAC/C,EAAM,OACT,OAAO,EAAW,KAAK,CAAE,MAAO,GAAG,QAAa,CAAC,OAC9C,EAAM,kBACT,OAAO,EAAW,KAAK,CAAE,MAAO,GAAG,OAAY,CAAC,OAC7C,EAAM,UACT,OAAO,EAAW,KAAK,CAAE,MAAO,GAAG,QAAa,CAAC,UAGjD,OAAO,EAAW,KAAK,CAAE,MAAO,GAAG,KAAS,GAAQ,CAAC,IAI9C,GAAa,EAAG,QAAO,YAA+C,CACjF,OAAQ,QACD,EAAM,cACN,EAAM,SACT,OAAO,IAAW,WACf,EAAM,KACT,OAAO,IAAW,aACf,EAAM,OACT,OAAO,IAAW,YACf,EAAM,kBACT,OAAO,IAAW,WACf,EAAM,UACT,OAAO,IAAW,eAGlB,OAAO,IAAW,IAIX,GAAqB,CAChC,IAC4C,CAC5C,OAAQ,QACD,EAAM,cACN,EAAM,SACT,MAAO,CAAE,WAAY,GAAG,QAAmB,QAAS,EAAY,EAAa,MAE1E,GAAG,EAAM,gBACZ,MAAO,CAAE,WAAY,sDAAuD,QAAS,EAAG,MACrF,GAAG,EAAM,iBACZ,MAAO,CAAE,WAAY,uDAAwD,QAAS,EAAG,OACtF,EAAM,OACT,MAAO,CAAE,WAAY,GAAG,SAAoB,QAAS,EAAY,EAAa,OAC3E,EAAM,UACT,MAAO,CAAE,WAAY,GAAG,SAAoB,QAAS,EAAY,EAAa,OAC3E,EAAM,kBACT,MAAO,CAAE,WAAY,GAAG,QAAmB,QAAS,EAAY,EAAa,OAC1E,EAAM,KACT,MAAO,CAAE,WAAY,GAAG,UAAqB,QAAS,EAAY,EAAa,OAC5E,EAAM,MACT,MAAO,CAAE,WAAY,GAAG,EAAM,YAAa,QAAS,EAAY,EAAa,MAE1E,GAAG,EAAM,YACZ,MAAO,CAAE,WAAY,EAAa,QAAS,CAAE,MAC1C,GAAG,EAAM,aACZ,MAAO,CAAE,WAAY,EAAa,QAAS,CAAE,UAG7C,MAAO,CAAE,WAAY,GAAG,KAAe,IAAe,QAAS,EAAY,EAAa,IAKjF,GAAe,EAAG,QAAO,YAA+C,CACnF,GAAI,EAAO,SAAS,GAAG,EAAG,MAAO,QAEjC,OAAQ,QACD,EAAM,OACT,OAAO,IAAW,OAAS,SAAW,EAAM,YACzC,EAAM,OACT,OAAO,IAAW,EAAM,OAAS,SAAW,EAAM,YAC/C,EAAM,kBACT,OAAO,IAAW,MAAQ,SAAW,aAClC,EAAM,SACT,OAAO,IAAW,EAAM,SAAW,SAAW,aAC3C,EAAM,UACT,OAAO,IAAW,EAAM,UAAY,SAAW,EAAM,eAClD,EAAM,QACT,OAAO,IAAW,EAAM,QAAU,SAAW,eAC1C,EAAM,SACT,MAAO,CAAC,EAAM,SAAU,EAAM,QAAQ,EAAE,SAAS,CAAe,EAAI,SAAW,gBAC5E,EAAM,SACT,MAAO,CAAC,EAAM,SAAU,EAAM,QAAQ,EAAE,SAAS,CAAe,EAAI,SAAW,gBAC5E,EAAM,MACT,OAAO,IAAW,EAAM,MAAQ,SAAW,gBAG3C,MAAO,WAIA,GAAkB,CAAC,IAAwB,CACtD,MAAO,KAAU,GAAe,EAAY,MAAM,GAAG,EAC/C,EAAQ,EAAY,SAAS,GAAG,EAChC,EAAS,EAAY,KAAK,GAAG,EAC7B,EAAc,GAAQ,MAAM,GAAG,EAC/B,EAAS,GAAa,OACxB,EAAY,SAAW,EACrB,EAAY,GACZ,EAAY,MAAM,EAAG,EAAE,EAAE,KAAK,GAAG,EACnC,OAEJ,MAAO,CAAE,QAAO,SAAQ,SAAQ,OAAM,GAGlC,GAAqB,IAAI,OAC7B,qEACA,KACF,EAEM,GAAqB,CAAC,IAAwB,CAClD,MAAO,EAAO,GAAU,EAAY,MAAM,GAAG,EAC7C,IAAK,EAAU,SAAS,CAAiB,EAAG,MAAO,GACnD,MAAM,EAAc,EAAO,MAAM,GAAG,EAC9B,EAAU,EAAY,SAAW,EAAI,OAAY,EAAY,EAAY,OAAS,GAExF,OAAO,GAAW,CAAE,MAAO,EAAgB,QAAO,CAAC,KAAO,GAG/C,GAAe,CAC1B,IAOA,EAAO,OAAO,EAAG,QAAO,QAAO,YAAa,CAC1C,MAAM,EAAc,GAAG,KAAS,IAEhC,OACG,GAAmB,KAAK,CAAW,GAAK,GAAmB,CAAW,GAAK,IAAU,IAEzF,EC1OI,SAAS,EAAoB,EAAG,QAAO,QAAO,eAAe,EAAG,QAAgB,CACrF,GAAI,EAAU,SAAS,CAAiB,EAAG,CACzC,GAAI,IAAS,SAAU,MAAO,CAAC,GAAI,GAAI,EAAG,CAAK,EAC/C,GAAI,IAAS,aAAc,MAAO,CAAC,GAAI,GAAI,EAAO,EAAG,CAAY,EACjE,OAAO,GAAiB,EAAsB,GAAQ,CAAK,EAG7D,GAAI,CAAC,EAAM,QAAS,EAAM,QAAQ,EAAE,SAAS,CAAK,EAAG,CACnD,MAAM,EAAU,IAAU,EAAM,QAAU,EAAI,EAE9C,GAAI,IAAS,4BAA6B,MAAO,CAAC,GAAI,EAAS,EAAO,EAAG,CAAY,EACrF,GAAI,IAAS,SAAU,MAAO,CAAC,GAAI,EAAS,EAAG,EAAG,CAAK,EACvD,GAAI,IAAS,SAAU,MAAO,CAAC,GAAI,EAAS,EAAG,EAAG,CAAK,EACvD,OAAO,GAAiB,EAAsB,GAAQ,CAAK,EAG7D,OAAO,GAAiB,EAAsB,GAAQ,CAAK,EAGtD,SAAS,EAAkB,CAAC,EAAc,CAC/C,MAAO,EAAG,EAAS,GAAW,EAAK,MAAM,GAAG,EAAE,IAAI,CAAC,IAAM,OAAO,SAAS,EAAG,EAAE,CAAC,EAI/E,OAAQ,OACD,IACH,MAAO,aACJ,IACH,MAAO,eAEP,MAAO,UAnCb,IAAM,GAAmB,CAAC,EAA2B,IAAkB,CACrE,GAAG,EAAK,MAAM,EAAG,EAAK,OAAS,CAAC,EAChC,CACF,ECQO,SAAS,EAAsB,EACpC,iBACA,YACA,aACqC,CACrC,MAAM,EAAI,EAAkB,CAAc,EACpC,EAAI,EAAkB,CAAS,EAC/B,EAAI,EAAkB,CAAS,EAE/B,EAAQ,EAAE,IAAI,CAAC,EACf,EAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EACtB,EAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EACtB,EAAQ,EAAE,IAAI,CAAC,EACf,EAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAI5B,OAFkB,EAAM,IAAI,EAAM,IAAI,CAAK,EAAE,IAAI,CAAK,CAAC,EAEtC,IAAI,CAAK,EAGrB,SAAS,EAAuB,EACrC,iBACA,YACA,cACsC,CACtC,MAAM,EAAI,EAAkB,CAAc,EACpC,EAAI,EAAkB,CAAS,EAC/B,EAAI,EAAkB,CAAU,EAEhC,EAAQ,EAAE,IAAI,CAAC,EACf,EAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EACtB,EAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EACtB,EAAQ,EAAE,IAAI,CAAC,EACf,EAAY,EAAM,IAAI,EAAM,IAAI,CAAK,EAAE,IAAI,CAAK,CAAC,EACjD,EAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAE5B,OAAO,EAAU,IAAI,CAAK,EAGrB,SAAS,EAA+B,EAC7C,UACA,YACA,iBACA,aACsD,CACtD,OAAO,GAAuB,CAAE,YAAW,iBAAgB,WAAU,CAAC,EAAE,IAAI,CAAO,EAG9E,SAAS,EAAgC,EAC9C,UACA,aACA,iBACA,aACuD,CACvD,OAAO,GAAwB,CAAE,aAAY,iBAAgB,WAAU,CAAC,EAAE,IAAI,CAAO,EAGvF,IAAS,UAAiB,CAAC,EAAe,CACxC,OAAO,EAAc,WAAW,OAAO,CAAK,EAAG,EAAY,IAAI,GAG1D,SAAS,EAAqB,EACnC,iBACA,YACA,YACA,cAIE,CACF,MAAO,CACL,YAAa,EAAkB,CAAU,EAAE,IAAI,CAAc,EAAE,IAAI,CAAS,EAC5E,WAAY,EAAkB,CAAS,EAAE,IAAI,CAAc,EAAE,IAAI,CAAS,CAC5E,EAGK,SAAS,EAAoB,EAClC,iBACA,YACA,YACA,aACA,WAKE,CACF,OAAO,OAAO,YACZ,OAAO,QAAQ,GAAsB,CAAE,iBAAgB,YAAW,YAAW,YAAW,CAAC,CAAC,EAAE,IAC1F,EAAE,EAAM,KAAW,CAAC,EAAM,EAAM,IAAI,CAAO,CAAC,CAC9C,CACF,EAGK,SAAS,EAAqB,EACnC,YACA,YACA,aACA,iBACA,aACA,eAME,CACF,MAAM,EAAI,IAAI,EAAc,CAAE,MAAO,EAAW,QAAS,CAAE,CAAC,EACtD,EAAI,IAAI,EAAc,CAAE,MAAO,EAAY,QAAS,CAAE,CAAC,EACvD,EAAI,IAAI,EAAc,CAAE,MAAO,EAAW,QAAS,CAAE,CAAC,EACtD,EAAgB,IAAI,EAAc,CAAE,MAAO,EAAY,QAAS,CAAE,CAAC,EACnE,EAAiB,IAAI,EAAc,CAAE,MAAO,EAAa,QAAS,CAAE,CAAC,EAGrE,EAAK,EAAc,IAAI,CAAC,EACxB,EAAK,EAAe,IAAI,CAAC,EACzB,EAAK,EAAc,IAAI,CAAc,EACrC,EAAK,EAAE,IAAI,CAAC,EACZ,EAAY,EAAE,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAC3C,EAAc,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,EACtC,GAAyB,EAAU,IAAI,CAAW,EAClD,EAA0B,EAAkB,CAAc,EAAE,IAAI,EAAsB,EAE5F,GAAI,GAAuB,aAAa,QAAQ,IAAM,EACpD,OAAO,EAAwB,IAAI,CAAC,EAAE,aAAa,QAAQ,EAI7D,MAAM,EAAe,EAAE,IAAI,CAAuB,EAElD,OAAO,EAAwB,IAAI,CAAY,EAAE,aAAa,QAAQ,EAGjE,SAAS,EAAoB,EAClC,aACA,cACA,YACA,cACa,CACb,GAAI,IAAe,KAAO,IAAgB,KAAO,IAAc,KAAO,IAAe,IACnF,MAAO,GAET,MAAM,EAAI,EAAkB,CAAS,EAC/B,EAAI,EAAkB,CAAU,EAChC,EAAiB,EAAkB,CAAW,EAC9C,EAAgB,EAAkB,CAAU,EAE5C,EAAY,EAAe,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAa,CAAC,EAC1D,EAAc,EAAE,IAAI,CAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAGrD,OAAO,KAAK,IAAI,EAAU,IAAI,CAAW,EAAE,aAAa,QAAQ,CAAC,ECzKnE,IAAS,UAAY,CAAC,GAAgB,mBAAkB,wBAA2C,CACjG,MAAM,EAAgB,EAAmB,IAAI,KAAoB,GAAwB,IAAM,GAE/F,MAAO,GAAG,IAAO,KAGV,WAAiB,EAAG,QAAO,UAA4C,CAC9E,OAAQ,QACD,EAAM,aACN,EAAM,cACN,EAAM,SACT,OAAO,EAAM,MAAM,EAAG,CAAC,EAAE,YAAY,OAClC,EAAM,YACT,MAAO,YAGP,MAAO,GAAG,KAAS,MAIlB,SAAS,EAAsB,EACpC,OACA,WAC4D,CAC5D,MAAO,GAAG,KAAQ,IAGb,SAAS,EAAgB,EAC9B,UACA,gBAC4C,CAC5C,MAAO,GAAG,EAAS,UAAU,KAAW,IAGnC,SAAS,EAAsB,EACpC,OACA,QACA,UACA,SACmE,CACnE,MAAM,EAAW,GAAG,EAAS,iBAAiB,KAAQ,KAAS,IACzD,EAA8B,EAAQ,IAAI,IAAU,GAE1D,MAAO,GAAG,IAAW,IAGhB,SAAS,EAAc,CAC5B,GAEE,QACA,UACA,eACG,GAML,CACA,MAAM,EAAW,GAAG,KAAY,KAAS,IACnC,EAAgB,EAAY,IAAI,IAAc,GAEpD,OAAO,EAAa,GAAG,IAAW,IAAiB,CAAS,EAGvD,SAAS,EAAsB,EACpC,QACA,YACG,GAC+C,CAClD,OAAO,EAAa,GAAG,EAAS,WAAW,KAAS,IAAU,CAAS,EAGlE,SAAS,EAAiB,EAC/B,QACA,SACA,WACqD,CACrD,MAAM,EAAiB,GAAkB,CAAE,QAAO,QAAO,CAAC,EACpD,EAAc,EAAU,IAAI,IAAY,GAE9C,MAAO,GAAG,EAAS,WAAW,IAAiB,IAG1C,SAAS,EAAuB,EACrC,QACA,SACA,iBACG,GACoE,CACvE,OAAO,EAAa,GAAG,EAAS,YAAY,KAAS,KAAU,IAAe,CAAS,EAGlF,SAAS,EAAkB,EAChC,QACA,SACA,SACA,cACA,iBACG,GAOD,CACF,MAAM,EACJ,IAAU,OAAS,IAAW,MAAQ,GAAG,KAAU,EAAO,MAAM,EAAE,IAAM,EACpE,EAAa,EAAc,IAAI,IAAgB,GAErD,OAAO,EACL,GAAG,EAAS,YAAY,KAAS,KAAmB,IAAc,IAClE,CACF,EA0BK,IAAM,GAAa,CAAqB,EAAa,IAA4B,CACtF,OAAQ,QACD,EAAS,WACT,EAAS,KAAM,CAClB,MAAQ,WAAY,EACpB,OAAO,GAAuB,CAAE,KAAM,EAAU,SAAQ,CAAC,CAC3D,MAEK,EAAS,OAAQ,CACpB,MAAQ,UAAS,gBAAiB,EAClC,OAAO,GAAiB,CAAE,UAAS,cAAa,CAAC,CACnD,MAEK,EAAS,cACZ,OAAO,GAAuB,CAA8C,OAGzE,EAAS,eACT,EAAS,WACZ,OAAO,GAAe,EAAU,CAA0C,OAGvE,EAAS,QAAS,CACrB,MAAQ,QAAO,SAAQ,UAAS,cAAe,EAE/C,GAAI,EACF,OAAO,GAAuB,CAAE,QAAO,QAAO,CAAC,EAGjD,OAAO,GAAkB,CAAE,QAAO,SAAQ,SAAQ,CAAC,CACrD,MAEK,EAAS,SAAU,CACtB,MACE,QACA,SACA,SACA,cACA,kBAAmB,EACnB,cACE,EAEJ,GAAI,EACF,OAAO,GAAwB,CAAE,QAAO,SAAQ,aAAY,CAAC,EAG/D,OAAO,GAAmB,CAAE,QAAO,SAAQ,SAAQ,cAAa,aAAY,CAAC,CAC/E,SAGE,MAAM,IAAI,EAAa,CACrB,SAAU,4BACV,KAAM,CAAE,UAAS,CACnB,CAAC,ICnMA,SAAS,EAAe,CAAC,EAAuB,CACrD,GAAI,EAAgB,EAClB,MAAM,IAAI,EAAa,CACrB,SAAU,kCACV,KAAM,CAAE,eAAc,CACxB,CAAC,EACH,MAAO,IAAK,EAKP,SAAS,EAAe,CAAC,EAAuB,CACrD,GAAI,EAAgB,EAClB,MAAM,IAAI,EAAa,CACrB,SAAU,kCACV,KAAM,CAAE,eAAc,CACxB,CAAC,EAEH,OAAO,KAAK,OAAO,GAAK,EAAgB,QAAU,WAAI,EAAI,YAGrD,SAAS,EAAsB,EAAE,EAAS,EAAS,EAAS,EAAQ,GAElD,CAGvB,MAAO,KAAK,MAAY,MAAY,MAAY,WAFvB,IAAU,SAEkC,GAAK,IAAI,MAGzE,SAAS,EAAgB,CAAC,EAAa,EAAsB,CAClE,GAAI,CACF,OAAO,EAAG,QACH,EAAP,CACA,GAAI,EACF,MAAM,IAAI,EAAa,EAAU,CAAK,EAGxC,OAAO,QAAQ,MAAM,CAAK,GAIvB,IAAM,GAAqB,CAAC,IAAiB,CAClD,OAAQ,QACD,EAAM,UACT,MAAO,GAAG,cAEP,EAAM,OACT,MAAO,GAAG,cAEP,EAAM,kBACT,MAAO,GAAG,YAGV,MAAO,GAAG,KAAS,MCuHlB,SAAS,EAAiB,EAAG,CAClC,MAAM,EAA+B,CAAC,EAEtC,SAAS,CAAc,CAAC,EAAqC,CAC3D,GAAI,EAAU,IAAI,CAAC,IAAM,EAAE,KAAK,IAAI,EAAE,SAAS,EAAM,OAAO,KAAK,IAAI,EAAG,OACxE,EAAU,KAAK,EAAM,MAAM,EAG7B,OAAO,iBAAiB,2BAA4B,CAAc,EAClE,OAAO,cAAc,IAAI,MAAM,yBAAyB,CAAC,EAEzD,SAAS,CAA0B,EAAG,CACpC,OAAO,oBAAoB,2BAA4B,CAAc,EAGvE,MAAO,CAAE,YAAW,4BAA2B,EAnIjD,IAAM,GAAgB,CACpB,UACA,iBACA,OACA,kBACA,WACA,aACA,iBACA,yBACA,aACA,uBACA,eACA,mBACA,oBACA,wBACF,EAEa,GAA8B,CACzC,EACA,EACA,IAEC,SAAU,IAAiB,CAC1B,GAAI,CACF,MAAM,GAAuB,EAAU,CAAO,QACvC,EAAP,CACA,MAAM,IAAI,EAAa,CACrB,SAAU,mCACV,KAAM,CAAE,OAAM,CAChB,CAAC,EAEH,OAAO,EAAK,GAAG,CAAI,GAGjB,GAAkB,EAAG,WAAU,SAAQ,YAAoC,CAC/E,IAAK,GAAU,KACb,MAAM,IAAI,EAAa,4BAA4B,EAGrD,MAAM,EAAiB,EAAU,MAAM,QAAQ,CAAM,EAAI,EAAS,CAAC,CAAM,EAAK,CAAC,EAC/E,OAAO,EAAS,KAAK,EAAQ,CAAc,GAGhC,GAAuB,EAClC,UACA,UACA,WAAW,OAAO,YAKd,CACJ,MAAM,EAAiB,GAAc,OAAO,CAAC,EAAQ,IAAe,CAClE,IAAK,EAAQ,GAAa,OAAO,EACjC,MAAM,EAAS,EAAQ,GAEvB,UAAW,IAAW,WAAY,OAAO,EAEzC,MAAO,IAEF,GACF,GAAa,GAA2C,EAAQ,EAAU,CAAO,CACpF,GACC,CAAC,CAAC,EAEL,MAAO,IAAK,KAAY,CAAe,GAG5B,GAAsB,CAAC,EAA2B,IAC7D,GAAgB,CAAE,WAAU,OAAQ,0BAA2B,OAAQ,CAAC,CAAa,CAAE,CAAC,EAE7E,GAAyB,CAAC,EAA2B,EAAU,EAAQ,cAClF,GAAgB,CAAE,WAAU,OAAQ,6BAA8B,OAAQ,CAAC,CAAE,SAAQ,CAAC,CAAE,CAAC,EAE9E,GAA6B,CAAC,IAAyB,CAClE,OAAO,UAAU,GAAG,kBAAmB,IAAM,EAAS,CAAC,EAEvD,OAAO,KAAK,SAAS,GAAG,kBAAmB,IAAM,EAAS,CAAC,GAGhD,GAAsB,IAAM,CACvC,MAAQ,UAAS,gBAAe,UAAS,qBAAoB,oBAC3D,QAAQ,UAAY,CAAC,EACvB,GAAI,EAAS,OAAO,EAAa,gBACjC,GAAI,EAAe,OAAO,EAAa,MACvC,GAAI,GAAsB,GAAkB,iBAAkB,OAAO,EAAa,aAClF,GAAI,EAAS,EAAa,MAC1B,OAAO,EAAa,UAGT,GAAa,CAAC,IAA+B,CACxD,OAAO,GAAmB,EAAE,SAAS,CAAY,GAGtC,GAAqB,IAAM,CACtC,MAAM,EAAkB,QAAQ,WAAa,OAAO,UAAU,cAExD,EAAe,QAAQ,KAAO,QAAQ,UAAU,QAChD,EAAe,QAAQ,UAAU,cACjC,EAAe,QAAQ,UAAU,SAAW,QAAQ,YACpD,EACH,QAAQ,UAAU,oBACjB,QAAQ,UAAU,kBAAkB,kBACtC,QAAQ,wBAEJ,EAAU,CAAC,EACjB,GAAI,EAAiB,EAAQ,KAAK,EAAa,QAAQ,EACvD,GAAI,EAAc,EAAQ,KAAK,EAAa,KAAK,EACjD,GAAI,EAAc,EAAQ,KAAK,EAAa,KAAK,EACjD,GAAI,EAAc,EAAQ,KAAK,EAAa,eAAe,EAC3D,GAAI,EAAiB,EAAQ,KAAK,EAAa,YAAY,EAC3D,GAAI,GAAiB,EAAG,EAAQ,KAAK,EAAa,UAAU,EAE5D,OAAO,GAqBI,GAAmB,IAAM,CACpC,MAAM,EAAK,UAAU,UACf,EAAQ,wBAAwB,KAAK,CAAE,EACvC,EAAY,8BAA8B,KAAK,CAAE,EACjD,EAAW,GAAS,EACpB,EAAU,SAAS,KAAK,CAAE,EAEhC,OAAO,GAAY,GAGR,GAAiB,WAAa,OAAO,WAAa,YC1MxD,MAAM,UAAsB,CAAkB,CACnD,EAAE,CAAC,EAAyB,CAC1B,OAAO,KAAK,QAAQ,CAAK,QAGpB,WAAU,CAAC,EAAe,EAAkB,CACjD,OAAO,IAAI,EAAc,CACvB,UACA,MAAO,EAAwB,CAAE,QAAO,cAAe,EAAS,SAAQ,CAAC,CAC3E,CAAC,EAEL",
29
+ "debugId": "B80448EF1E8A198364756E2164756E21",
30
30
  "names": []
31
31
  }
package/package.json CHANGED
@@ -29,5 +29,5 @@
29
29
  },
30
30
  "type": "module",
31
31
  "types": "./src/index.ts",
32
- "version": "1.0.1"
32
+ "version": "1.0.2"
33
33
  }
@@ -227,7 +227,7 @@ export class AssetValue extends BigIntArithmetics {
227
227
  * @deprecated use AssetValue.from({ asset, value }) or AssetValue.from({ chain, value })
228
228
  */
229
229
  static fromChainOrSignature(assetOrChain: CommonAssetString, value: NumberPrimitives = 0) {
230
- if (assetOrChain in Chain) {
230
+ if (Object.values(Chain).includes(assetOrChain as Chain)) {
231
231
  return AssetValue.from({ chain: assetOrChain as Chain, value });
232
232
  }
233
233
  return AssetValue.from({ asset: assetOrChain, value });