@swapkit/core 1.0.0-rc.42 → 1.0.0-rc.44
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.cjs +2 -2
- package/dist/index.es.js +94 -91
- package/package.json +18 -18
- package/src/client/index.ts +10 -10
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var yt=Object.create;var pe=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var Tt=Object.getPrototypeOf,ht=Object.prototype.hasOwnProperty;var _t=(e,t,n)=>t in e?pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ft=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of mt(t))!ht.call(e,s)&&s!==n&&pe(e,s,{get:()=>t[s],enumerable:!(a=ct(t,s))||a.enumerable});return e};var $=(e,t,n)=>(n=e!=null?yt(Tt(e)):{},ft(t||!e||!e.__esModule?pe(n,"default",{value:e,enumerable:!0}):n,e));var T=(e,t,n)=>(_t(e,typeof t!="symbol"?t+"":t,n),n),bt=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var f=(e,t,n)=>(bt(e,t,"read from private field"),n?n.call(e):t.get(e)),P=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var wt=Object.defineProperty,At=(e,t,n)=>t in e?wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v=(e,t,n)=>(At(e,typeof t!="symbol"?t+"":t,n),n);const Et=[{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"}],De=[{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"}],Pe=[{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"}],Be=[{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 Le=(e=>(e.TC_SUPPORTED_TO_TC_SUPPORTED="TC-TC",e.TC_SUPPORTED_TO_ETH="TC-ERC20",e.TC_SUPPORTED_TO_AVAX="TC-ARC20",e.TC_SUPPORTED_TO_BSC="TC-BEP20",e.ETH_TO_TC_SUPPORTED="ERC20-TC",e.ETH_TO_ETH="ERC20-ERC20",e.ETH_TO_AVAX="ERC20-ARC20",e.ETH_TO_BSC="ERC20-BEP20",e.AVAX_TO_TC_SUPPORTED="ARC20-TC",e.AVAX_TO_ETH="ARC20-ERC20",e.AVAX_TO_AVAX="ARC20-ARC20",e.AVAX_TO_BSC="ARC20-BEP20",e.BSC_TO_TC_SUPPORTED="BEP20-TC",e.BSC_TO_ETH="BEP20-ERC20",e.BSC_TO_AVAX="BEP20-ARC20",e.BSC_TO_BSC="BEP20-BEP20",e))(Le||{});const Ve=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],Ue=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],He=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var fe=(e=>(e.VALIDATION_ERROR="VALIDATION_ERROR",e.REQUEST_PARAMETER_ERROR="REQUEST_PARAMETER_ERROR",e.RESPONSE_PARSING_ERROR="RESPONSE_PARSING_ERROR",e.UNSUPPORTED="UNSUPPORTED",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.INCOMPATIBLE_ASSETS_OPERATIONS="INCOMPATIBLE_ASSETS_OPERATIONS",e.SERVICE_UNAVAILABLE="SERVICE_UNAVAILABLE",e.DOWN_FOR_MAINTENANCE="DOWN_FOR_MAINTENANCE",e.MISSING_INBOUND_INFO="MISSING_INBOUND_INFO",e.QUOTE_FETCHING_ERROR="QUOTE_FETCHING_ERROR",e.AIRDROP_ERROR="AIRDROP_ERROR",e.UNHANDLED_ERROR="UNHANDLED_ERROR",e))(fe||{}),$e=(e=>(e.HEALTH_CONTROLLER="1000",e.LIQUIDITY_CONTROLLER="1001",e.PROVIDER_CONTROLLER="1002",e.QUOTE_CONTROLLER="1003",e.SWAP_CONTROLLER="1004",e.UTIL_CONTROLLER="1005",e.AIRDROP_CONTROLLER="1006",e.PROVIDER="2000",e.ASSET="2001",e.TOKEN_LIST="2002",e.QUOTE="2100",e.QUOTE_TXN_DETAILS="2101",e.THORCHAIN_PROVIDER="3000",e.UNISWAPV2_ETH_PROVIDER="3001",e.UNISWAPV3_ETH_PROVIDER="3002",e.SUSHISWAP_ETH_PROVIDER="3003",e.PANCAKESWAP_BSC_PROVIDER="3004",e.PANCAKESWAP_ETH_PROVIDER="3005",e.ONEINCH_ETH_PROVIDER="3006",e.ONEINCH_BSC_PROVIDER="3007",e.ONEINCH_AVAX_PROVIDER="3008",e.ZEROX_ETH_PROVIDER="3009",e.WOOFI_AVAX_PROVIDER="3010",e.PANGOLIN_AVAX_PROVIDER="3011",e.TRADERJOE_AVAX_PROVIDER="3012",e.KYBER_ETH_PROVIDER="3013",e.KYBER_AVAX_PROVIDER="3014",e.WOOFI_BSC_PROVIDER="3015",e.STARGATE_PROVIDER="3016",e.PROVIDER_UTIL="4000",e.TXN_DETAILS="5000",e.AIRDROP_UTIL="6000",e))($e||{}),y=(e=>(e.INVALID_INPUT_PARAMETERS="1000",e.UNKNOWN_PROVIDERS="1001",e.CANNOT_FIND_INBOUND_ADDRESS="1002",e.NO_INBOUND_ADDRESSES="1003",e.CHAIN_HALTED_OR_UNSUPPORTED="1004",e.MISSING_INPUT_PARAMETER="1005",e.INVALID_TYPE_GENERIC="1100",e.INVALID_NUMBER_STRING="1101",e.INVALID_NUMBER="1102",e.INVALID_BOOLEAN="1103",e.INVALID_OBJECT="1104",e.INVALID_ARRAY="1105",e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER="2000",e.SELL_BUY_ASSETS_ARE_THE_SAME="2001",e.MISSING_SOURCE_ADDRESS_FOR_SYNTH="2002",e.AFF_ADDRESS_AND_BPS_OR_NEITHER="2003",e.AFF_ADDRESS_TOO_LONG="2004",e.AFF_BPS_INTEGER_0_100="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROFVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.INVALID_PROVIDER="2100",e.MISSING_CROSS_CHAIN_PROVIDER="2101",e.MISSING_AVAX_PROVIDER="2102",e.MISSING_BSC_PROVIDER="2103",e.MISSING_ETH_PROVIDER="2104",e.INVALID_PROVIDER_FOR_SWAP_OUT="2105",e.MISSING_ARB_PROVIDER="2106",e.INVALID_CHAIN="2200",e.INVALID_ASSET="2201",e.INVALID_ASSET_IDENTIFIER="2202",e.UNSUPPORTED_CHAIN="2204",e.UNSUPPORTED_ASSET="2203",e.UNSUPPORTED_ASSET_FOR_SWAPOUT="2205",e.INVALID_SOURCE_ADDRESS="2300",e.INVALID_DESTINATION_ADDRESS="2301",e.THORNODE_QUOTE_GENERIC_ERROR="3000",e.NOT_ENOUGH_SYNTH_BALANCE="3001",e.SYNTH_MINTING_CAP_REACHED="3002",e.INVALID_QUOTE_MODE="4000",e.NO_QUOTES="4001",e.SERVICE_UNAVAILABLE_GENERIC="5000",e.MISSING_GAS_DATA_GENERIC="5100",e.MISSING_TOKEN_INFO_GENERIC="5200",e.CANT_FIND_TOKEN_LIST="5201",e.NO_PRICE="5202",e.PRICE_IS_STALE="5203",e.ADDRESS_NOT_WHITELISTED="6000",e.ADDRESS_ALREADY_CLAIMED="6001",e.TEMPORARY_ERROR="9999",e))(y||{});const Rt={[y.INVALID_INPUT_PARAMETERS]:"Invalid input parameters: {0}.",[y.UNKNOWN_PROVIDERS]:"Unknown providers: {0}.",[y.CANNOT_FIND_INBOUND_ADDRESS]:"Cannot find inbound address.",[y.NO_INBOUND_ADDRESSES]:"No inbound addresses.",[y.CHAIN_HALTED_OR_UNSUPPORTED]:"Chain {0} halted or unsupported.",[y.MISSING_INPUT_PARAMETER]:"Missing input parameter: {0}.",[y.INVALID_TYPE_GENERIC]:"Invalid type",[y.INVALID_NUMBER_STRING]:"Invalid number string.",[y.INVALID_NUMBER]:"Invalid number.",[y.INVALID_BOOLEAN]:"Invalid boolean.",[y.INVALID_OBJECT]:"Invalid object.",[y.INVALID_ARRAY]:"Invalid array.",[y.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Sell amount must be a positive integer.",[y.SELL_BUY_ASSETS_ARE_THE_SAME]:"Sell and buy assets are the same.",[y.MISSING_SOURCE_ADDRESS_FOR_SYNTH]:"Source address is required for synth quote.",[y.AFF_ADDRESS_AND_BPS_OR_NEITHER]:"Must provide affiliateAddress and affiliateBasisPoints params, or neither.",[y.AFF_ADDRESS_TOO_LONG]:"affiliateAddress too long: 3 characters max.",[y.AFF_BPS_INTEGER_0_100]:"affiliateBasisPoints must be an integer between 0 and 100.",[y.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]:"Source address {0} invalid for sell chain.",[y.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:"Destination address {0} invalid for buy chain.",[y.PREFERRED_PROFVIDER_NOT_SUPPORTED]:"Preferred provider not supported.",[y.DESTINATION_ADDRESS_SMART_CONTRACT]:"Destination address is a smart contract.",[y.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Buy amount must be a positive integer.",[y.INVALID_PROVIDER]:"Invalid provider {0}.",[y.MISSING_CROSS_CHAIN_PROVIDER]:"Missing cross-chain provider.",[y.MISSING_AVAX_PROVIDER]:"Missing AVAX provider.",[y.MISSING_BSC_PROVIDER]:"Missing BSC provider.",[y.MISSING_ETH_PROVIDER]:"Missing ETH provider.",[y.MISSING_ARB_PROVIDER]:"Missing ARB provider.",[y.INVALID_PROVIDER_FOR_SWAP_OUT]:"Invalid provider for swap out.",[y.INVALID_CHAIN]:"Invalid chain {0}.",[y.INVALID_ASSET]:"Invalid asset {0}.",[y.UNSUPPORTED_CHAIN]:"Unsupported chain {0}.",[y.UNSUPPORTED_ASSET]:"Unsupported asset {0}.",[y.UNSUPPORTED_ASSET_FOR_SWAPOUT]:"Unsupported asset {0} for swap out.",[y.THORNODE_QUOTE_GENERIC_ERROR]:"ThorNode quote generic error.",[y.INVALID_SOURCE_ADDRESS]:"Invalid source address {0}",[y.INVALID_DESTINATION_ADDRESS]:"Invalid destination address {0}",[y.NOT_ENOUGH_SYNTH_BALANCE]:"Source address doesn't have enough synth balance for this quote.",[y.SYNTH_MINTING_CAP_REACHED]:"Synth minting cap reached.",[y.INVALID_QUOTE_MODE]:"Invalid quote mode.",[y.NO_QUOTES]:"No quotes to service this request.",[y.SERVICE_UNAVAILABLE_GENERIC]:"Service unavailable.",[y.MISSING_GAS_DATA_GENERIC]:"Missing gas data.",[y.MISSING_TOKEN_INFO_GENERIC]:"Missing token info.",[y.CANT_FIND_TOKEN_LIST]:"Can't find tokenlist {0}.",[y.NO_PRICE]:"No price for asset {0}.",[y.PRICE_IS_STALE]:"Price is stale for asset {0}.",[y.ADDRESS_NOT_WHITELISTED]:"Address {0} not whitelisted for airdrop.",[y.ADDRESS_ALREADY_CLAIMED]:"Address {0} already claimed the airdrop."},de=(e,t)=>{let n=Rt[e];for(let a=0;a<t.length;a++)n=n.replace(`{${a}}`,t[a]);return t.length===0?n.replace("{0}",""):n};class be extends Error{constructor({status:t,revision:n,module:a,code:s,message:r,type:o,options:{shouldLog:p,shouldThrow:d,shouldTrace:l}={shouldLog:!0,shouldThrow:!0,shouldTrace:!0},displayMessageParams:u}){const c=r||de(s,u||[])||"";super(c),v(this,"status"),v(this,"revision"),v(this,"type"),v(this,"module"),v(this,"code"),v(this,"message"),v(this,"display"),v(this,"stack"),v(this,"options"),v(this,"displayMessageParams"),this.status=t,this.revision=n||"NO_REVISION",this.module=a,this.message=c,this.display=de(s,u||[]),this.code=s,this.type=o||fe.UNHANDLED_ERROR,this.options={shouldLog:p||!0,shouldTrace:l||!0,shouldThrow:d||!1},this.displayMessageParams=u||[],this.options.shouldTrace&&Error.captureStackTrace(this)}static fromErrorInfo(t){return new be(t)}toErrorInfo(){return{...this,identifier:this.identifier}}get identifier(){return`${this.revision}-${this.type||"NO_TYPE"}-${this.module}-${this.code}`}get displayMessage(){return de(this.code,this.displayMessageParams||[])}handle(){const t=`[${this.identifier}]: ${this.message}`;if(this.options.shouldLog&&console.error(t,`
|
|
2
|
-
`,this.stack||""),this.options.shouldThrow)throw Error(t,{cause:this.stack});return this.toErrorInfo()}}var i=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polygon="MATIC",e.THORChain="THOR",e))(i||{}),ke=(e=>(e.ARB="0x0000000000000000000000000000000000000000",e.AVAX="0x0000000000000000000000000000000000000000",e.ETH="0x0000000000000000000000000000000000000000",e.BSC="0x0000000000000000000000000000000000000000",e.MATIC="0x0000000000000000000000000000000000001010",e.OP="0x4200000000000000000000000000000000000042",e))(ke||{}),Fe=(e=>(e.ARB="m/44'/60'/0'/0",e.AVAX="m/44'/60'/0'/0",e.BCH="m/44'/145'/0'/0",e.BNB="m/44'/714'/0'/0",e.BSC="m/44'/60'/0'/0",e.BTC="m/84'/0'/0'/0",e.DOGE="m/44'/3'/0'/0",e.ETH="m/44'/60'/0'/0",e.GAIA="m/44'/118'/0'/0",e.KUJI="m/44'/118'/0'/0",e.LTC="m/84'/2'/0'/0",e.MATIC="m/44'/60'/0'/0",e.MAYA="m/44'/931'/0'/0",e.OP="m/44'/60'/0'/0",e.THOR="m/44'/931'/0'/0",e))(Fe||{});const gt={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BNB:[44,714,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],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],THOR:[44,931,0,0,0]};var b=(e=>(e[e.ARB=18]="ARB",e[e.AVAX=18]="AVAX",e[e.BCH=8]="BCH",e[e.BNB=8]="BNB",e[e.BSC=18]="BSC",e[e.BTC=8]="BTC",e[e.DASH=8]="DASH",e[e.DOGE=8]="DOGE",e[e.ETH=18]="ETH",e[e.GAIA=6]="GAIA",e[e.KUJI=6]="KUJI",e[e.LTC=8]="LTC",e[e.MATIC=18]="MATIC",e[e.MAYA=10]="MAYA",e[e.OP=18]="OP",e[e.THOR=8]="THOR",e))(b||{});const Ge=["ETH","AVAX","BSC","ARB","OP","MATIC"],Ot=["BTC","BCH","DOGE","LTC"],It=["GAIA","THOR","BNB"],St=["AVAX","BNB","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"];var se=(e=>(e.Arbitrum="42161",e.ArbitrumHex="0xa4b1",e.Avalanche="43114",e.AvalancheHex="0xa86a",e.Binance="Binance-Chain-Tigris",e.BinanceSmartChain="56",e.BinanceSmartChainHex="0x38",e.Bitcoin="bitcoin",e.BitcoinCash="bitcoincash",e.Cosmos="cosmoshub-4",e.Dogecoin="dogecoin",e.Kujira="kaiyo-1",e.Ethereum="1",e.EthereumHex="0x1",e.Litecoin="litecoin",e.Maya="mayachain-mainnet-v1",e.MayaStagenet="mayachain-stagenet-v1",e.Optimism="10",e.OptimismHex="0xa",e.Polygon="137",e.PolygonHex="0x89",e.THORChain="thorchain-mainnet-v1",e.THORChainStagenet="thorchain-stagenet-v2",e))(se||{}),we=(e=>(e.Arbitrum="https://arb1.arbitrum.io/rpc",e.Avalanche="https://node-router.thorswap.net/avalanche-c",e.Binance="",e.BinanceSmartChain="https://bsc-dataseed.binance.org",e.Bitcoin="https://node-router.thorswap.net/bitcoin",e.BitcoinCash="https://node-router.thorswap.net/bitcoin-cash",e.Cosmos="https://node-router.thorswap.net/cosmos/rpc",e.Kujira="https://rpc-kujira.synergynodes.com/",e.Dogecoin="https://node-router.thorswap.net/dogecoin",e.Ethereum="https://node-router.thorswap.net/ethereum",e.Litecoin="https://node-router.thorswap.net/litecoin",e.Maya="https://tendermint.mayachain.info",e.MayaStagenet="https://stagenet.tendermint.mayachain.info",e.Optimism="https://mainnet.optimism.io",e.Polygon="https://polygon-rpc.com",e.THORChain="https://rpc.thorswap.net",e.THORChainStagenet="https://stagenet-rpc.ninerealms.com",e))(we||{}),H=(e=>(e.Cosmos="https://node-router.thorswap.net/cosmos/rest",e.Kujira="https://lcd-kujira.synergynodes.com/",e.MayanodeMainnet="https://mayanode.mayachain.info",e.MayanodeStagenet="https://stagenet.mayanode.mayachain.info",e.ThornodeMainnet="https://thornode.thorswap.net",e.ThornodeStagenet="https://stagenet-thornode.ninerealms.com",e.ThorswapApi="https://api.thorswap.finance",e.ThorswapStatic="https://static.thorswap.net",e))(H||{});const ie=Object.values(i),vt=Object.keys(i),Ae=ie.reduce((e,t)=>{const n=vt.find(a=>i[a]===t);return n&&(e[t]=n),e},{}),qe=ie.reduce((e,t)=>(e[t]=se[Ae[t]],e),{}),We=ie.reduce((e,t)=>(e[t]=we[Ae[t]],e),{}),Ct=ie.reduce((e,t)=>{const n=`${Ae[t]}Hex`;return e[t]=se[n],e},{}),Mt={"0xa4b1":"ARB",42161:"ARB","0xa86a":"AVAX",43114:"AVAX","0x38":"BSC",56:"BSC","Binance-Chain-Tigris":"BNB",bitcoincash:"BCH",bitcoin:"BTC","cosmoshub-4":"GAIA",dogecoin:"DOGE","0x1":"ETH","kaiyo-1":"KUJI",1:"ETH",litecoin:"LTC","mayachain-stagenet-v1":"MAYA","mayachain-mainnet-v1":"MAYA","0xa":"OP",10:"OP","0x89":"MATIC",137:"MATIC","thorchain-stagenet-v2":"THOR","thorchain-mainnet-v1":"THOR"},Ee={ARB:"https://arbiscan.io",AVAX:"https://snowtrace.io",BSC:"https://bscscan.com",BNB:"https://explorer.binance.org",BCH:"https://www.blockchain.com/bch",BTC:"https://blockstream.info",GAIA:"https://cosmos.bigdipper.live",DOGE:"https://blockchair.com/dogecoin",KUJI:"https://finder.kujira.network/kaiyo-1",ETH:"https://etherscan.io",LTC:"https://ltc.bitaps.com",MAYA:"https://www.mayascan.org",OP:"https://optimistic.etherscan.io",MATIC:"https://polygonscan.com",THOR:"https://viewblock.io/thorchain"};var je=(e=>(e[e.NoError=36864]="NoError",e))(je||{}),h=(e=>(e.BOND="BOND",e.DEPOSIT="+",e.LEAVE="LEAVE",e.THORNAME_REGISTER="~",e.UNBOND="UNBOND",e.WITHDRAW="-",e.OPEN_LOAN="$+",e.CLOSE_LOAN="$-",e))(h||{}),U=(e=>(e.Average="average",e.Fast="fast",e.Fastest="fastest",e))(U||{}),Ke=(e=>(e.KEYSTORE="KEYSTORE",e.XDEFI="XDEFI",e.METAMASK="METAMASK",e.COINBASE_WEB="COINBASE_WEB",e.TREZOR="TREZOR",e.TRUSTWALLET_WEB="TRUSTWALLET_WEB",e.LEDGER="LEDGER",e.KEPLR="KEPLR",e.OKX="OKX",e.BRAVE="BRAVE",e.WALLETCONNECT="WALLETCONNECT",e))(Ke||{}),Nt=Object.defineProperty,xt=(e,t,n)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t,n)=>(xt(e,typeof t!="symbol"?t+"":t,n),n),Dt=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Y=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},D=(e,t,n)=>(Dt(e,t,"access private method"),n);const Pt="0x313ce567",Ye=async({chain:e,to:t})=>{try{const{result:n}=await re.post(We[e],{headers:{accept:"*/*","content-type":"application/json","cache-control":"no-cache"},body:JSON.stringify({id:44,jsonrpc:"2.0",method:"eth_call",params:[{to:t.toLowerCase(),data:Pt},"latest"]})});return parseInt(BigInt(n).toString())}catch(n){return console.error(n),b[e]}},Bt=async e=>{if(e===i.Ethereum)return b.ETH;const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Ye({chain:i.Ethereum,to:t}):b.ETH},Lt=async e=>{const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Ye({chain:i.Avalanche,to:t.toLowerCase()}):b.AVAX},Vt=async e=>(e===i.BinanceSmartChain,b.BSC),Xe=async({chain:e,symbol:t})=>{switch(e){case i.Ethereum:return Bt(t);case i.Avalanche:return Lt(t);case i.BinanceSmartChain:return Vt(t);default:return b[e]}},Je={[U.Average]:1.2,[U.Fast]:1.5,[U.Fastest]:2},Re=({chain:e,symbol:t})=>{switch(e){case i.Bitcoin:case i.BitcoinCash:case i.Litecoin:case i.Dogecoin:case i.Binance:case i.Ethereum:case i.Avalanche:return t===e;case i.Arbitrum:case i.Optimism:return t==="ETH";case i.Maya:return t==="CACAO";case i.Kujira:return t==="KUJI";case i.Cosmos:return t==="ATOM";case i.Polygon:return t==="MATIC";case i.BinanceSmartChain:return t==="BNB";case i.THORChain:return t==="RUNE"}},Qe=e=>{switch(e){case"ETH.THOR":return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case"ETH.vTHOR":return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case i.Cosmos:return{identifier:"GAIA.ATOM",decimal:b[e]};case i.THORChain:return{identifier:"THOR.RUNE",decimal:b[e]};case i.BinanceSmartChain:return{identifier:"BSC.BNB",decimal:b[e]};case i.Maya:return{identifier:"MAYA.CACAO",decimal:b.MAYA};case"MAYA.MAYA":return{identifier:"MAYA.MAYA",decimal:4};case i.Kujira:case i.Arbitrum:case i.Optimism:case i.BitcoinCash:case i.Litecoin:case i.Dogecoin:case i.Binance:case i.Avalanche:case i.Polygon:case i.Bitcoin:case i.Ethereum:return{identifier:`${e}.${e}`,decimal:b[e]}}},ze=({chain:e,symbol:t})=>{if(t.includes("/"))return"Synth";switch(e){case i.Bitcoin:case i.BitcoinCash:case i.Dogecoin:case i.Litecoin:case i.Maya:case i.THORChain:return"Native";case i.Cosmos:return t==="ATOM"?"Native":i.Cosmos;case i.Kujira:return t===i.Kujira?"Native":i.Kujira;case i.Binance:return t===i.Binance?"Native":"BEP2";case i.BinanceSmartChain:return t===i.Binance?"Native":"BEP20";case i.Ethereum:return t===i.Ethereum?"Native":"ERC20";case i.Avalanche:return t===i.Avalanche?"Native":i.Avalanche;case i.Polygon:return t===i.Polygon?"Native":"POLYGON";case i.Arbitrum:return[i.Ethereum,i.Arbitrum].includes(t)?"Native":"ARBITRUM";case i.Optimism:return[i.Ethereum,i.Optimism].includes(t)?"Native":"OPTIMISM"}},Ut=e=>{var t;const[n,...a]=e.split("."),s=e.includes("/"),r=a.join("."),o=(t=r==null?void 0:r.split("-"))==null?void 0:t[0];return{chain:n,symbol:r,ticker:o,synth:s}},Ht=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),$t=e=>{const[t,n]=e.split(".");if(!Ge.includes(t))return!0;const[,a]=n.split("-");return Re({chain:t,symbol:n})||!!a},kt=e=>e.filter(t=>{const n=`${t.chain}.${t.symbol}`;return!Ht.test(n)&&$t(n)&&t.value!=="0"}),Ze=({liquidityUnits:e,poolUnits:t,runeDepth:n})=>{const a=R(e),s=R(t),r=R(n),o=a.mul(r),p=s.mul(s).mul(2),d=s.mul(a).mul(2),l=a.mul(a),u=s.mul(s).mul(s);return o.mul(p.sub(d).add(l)).div(u)},et=({liquidityUnits:e,poolUnits:t,assetDepth:n})=>{const a=R(e),s=R(t),r=R(n),o=a.mul(r),p=s.mul(s).mul(2),d=s.mul(a).mul(2),l=a.mul(a),u=o.mul(p.sub(d).add(l)),c=s.mul(s).mul(s);return u.div(c)},Ft=({percent:e,runeDepth:t,liquidityUnits:n,poolUnits:a})=>Ze({runeDepth:t,liquidityUnits:n,poolUnits:a}).mul(e),Gt=({percent:e,assetDepth:t,liquidityUnits:n,poolUnits:a})=>et({assetDepth:t,liquidityUnits:n,poolUnits:a}).mul(e),R=e=>N.fromBigInt(BigInt(e),b.THOR),tt=({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})=>({assetAmount:R(a).mul(e).div(t),runeAmount:R(n).mul(e).div(t)}),qt=({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a,percent:s})=>Object.fromEntries(Object.entries(tt({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})).map(([r,o])=>[r,o.mul(s)])),Wt=({runeDepth:e,poolUnits:t,assetDepth:n,liquidityUnits:a,runeAmount:s,assetAmount:r})=>{const o=new N({value:e,decimal:8}),p=new N({value:n,decimal:8}),d=new N({value:t,decimal:8}),l=new N({value:s,decimal:8}),u=new N({value:r,decimal:8}),c=l.mul(p),_=u.mul(o),w=l.mul(u),A=o.mul(p),E=d.mul(c.add(_.add(w.mul(2)))),g=c.add(_.add(A.mul(2))),O=E.div(g),x=R(a).add(O);if(O.getBaseValue("number")===0)return x.div(d).getBaseValue("number");const oe=d.add(x);return x.div(oe).getBaseValue("number")},jt=({runeAmount:e,assetAmount:t,runeDepth:n,assetDepth:a})=>{if(e==="0"||t==="0"||n==="0"||a==="0")return 0;const s=R(n),r=R(a),o=R(t),p=R(e),d=o.mul(s).sub(r.mul(p)),l=r.mul(p).add(s.mul(r));return Math.abs(d.div(l).getBaseValue("number"))},Kt=({symbol:e,ticker:t,chain:n})=>n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,C=(e,t)=>{switch(e){case h.LEAVE:case h.BOND:{const{address:n}=t;return`${e}:${n}`}case h.UNBOND:{const{address:n,unbondAmount:a}=t;return`${e}:${n}:${a*10**8}`}case h.THORNAME_REGISTER:{const{name:n,chain:a,address:s,owner:r}=t;return`${e}:${n}:${a}:${s}${r?`:${r}`:""}`}case h.DEPOSIT:{const{chain:n,symbol:a,address:s,singleSide:r}=t;return r?`${e}:${n}/${a}::t:0`:`${e}:${n}.${a}:${s||""}:t:0`}case h.WITHDRAW:{const{chain:n,ticker:a,symbol:s,basisPoints:r,targetAssetString:o,singleSide:p}=t,d=!p&&o?`:${o}`:"",l=Kt({chain:n,symbol:s,ticker:a});return`${e}:${n}${p?"/":"."}${l}:${r}${d}`}case h.OPEN_LOAN:case h.CLOSE_LOAN:{const{asset:n,address:a}=t;return`${e}:${n}:${a}`}default:return""}},Yt=e=>{if(e<0)throw new Error("Invalid number of year");return 10+e},Xt=e=>{if(e.length>30)return!1;const t=/^[a-zA-Z0-9+_-]+$/g;return!!e.match(t)},Jt=([e,t,n,a,s])=>`${e}'/${t}'/${n}'/${a}${typeof s!="number"?"":`/${s}`}`;class Oe extends Error{constructor(t,n,a){const s=t.status||t.status===0?t.status:"",r=t.statusText||"",o=`${s} ${r}`.trim(),p=o?`status code ${o}`:"an unknown error";super(`Request failed with ${p}`),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="HTTPError",this.response=t,this.request=n,this.options=a}}class nt extends Error{constructor(t){super("Request timed out"),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.request=t}}const J=e=>e!==null&&typeof e=="object",X=(...e)=>{for(const t of e)if((!J(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return ge({},...e)},at=(e={},t={})=>{const n=new globalThis.Headers(e),a=t instanceof globalThis.Headers,s=new globalThis.Headers(t);for(const[r,o]of s.entries())a&&o==="undefined"||o===void 0?n.delete(r):n.set(r,o);return n},ge=(...e)=>{let t={},n={};for(const a of e)if(Array.isArray(a))Array.isArray(t)||(t=[]),t=[...t,...a];else if(J(a)){for(let[s,r]of Object.entries(a))J(r)&&s in t&&(r=ge(t[s],r)),t={...t,[s]:r};J(a.headers)&&(n=at(n,a.headers),t.headers=n)}return t},Qt=(()=>{let e=!1,t=!1;const n=typeof globalThis.ReadableStream=="function",a=typeof globalThis.Request=="function";return n&&a&&(t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")),e&&!t})(),zt=typeof globalThis.AbortController=="function",Zt=typeof globalThis.ReadableStream=="function",en=typeof globalThis.FormData=="function",st=["get","post","put","patch","head","delete"],tn={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},ue=2147483647,it=Symbol("stop"),nn={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},an={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0},sn=e=>st.includes(e)?e.toUpperCase():e,rn=["get","put","head","delete","options","trace"],on=[408,413,429,500,502,503,504],rt=[413,429,503],Ie={limit:2,methods:rn,statusCodes:on,afterStatusCodes:rt,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},pn=(e={})=>{if(typeof e=="number")return{...Ie,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...Ie,...e,afterStatusCodes:rt}};async function dn(e,t,n,a){return new Promise((s,r)=>{const o=setTimeout(()=>{n&&n.abort(),r(new nt(e))},a.timeout);a.fetch(e,t).then(s).catch(r).then(()=>{clearTimeout(o)})})}async function un(e,{signal:t}){return new Promise((n,a)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",s,{once:!0}));function s(){clearTimeout(r),a(t.reason)}const r=setTimeout(()=>{t==null||t.removeEventListener("abort",s),n()},e)})}const ln=(e,t)=>{const n={};for(const a in t)!(a in an)&&!(a in nn)&&!(a in e)&&(n[a]=t[a]);return n};class Z{static create(t,n){const a=new Z(t,n),s=async()=>{if(typeof a._options.timeout=="number"&&a._options.timeout>ue)throw new RangeError(`The \`timeout\` option cannot be greater than ${ue}`);await Promise.resolve();let o=await a._fetch();for(const p of a._options.hooks.afterResponse){const d=await p(a.request,a._options,a._decorateResponse(o.clone()));d instanceof globalThis.Response&&(o=d)}if(a._decorateResponse(o),!o.ok&&a._options.throwHttpErrors){let p=new Oe(o,a.request,a._options);for(const d of a._options.hooks.beforeError)p=await d(p);throw p}if(a._options.onDownloadProgress){if(typeof a._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Zt)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return a._stream(o.clone(),a._options.onDownloadProgress)}return o},r=a._options.retry.methods.includes(a.request.method.toLowerCase())?a._retry(s):s();for(const[o,p]of Object.entries(tn))r[o]=async()=>{a.request.headers.set("accept",a.request.headers.get("accept")||p);const d=(await r).clone();if(o==="json"){if(d.status===204||(await d.clone().arrayBuffer()).byteLength===0)return"";if(n.parseJson)return n.parseJson(await d.text())}return d[o]()};return r}constructor(t,n={}){if(Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_retryCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._input=t,this._options={credentials:this._input.credentials||"same-origin",...n,headers:at(this._input.headers,n.headers),hooks:ge({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:sn(n.method??this._input.method),prefixUrl:String(n.prefixUrl||""),retry:pn(n.retry),throwHttpErrors:n.throwHttpErrors!==!1,timeout:n.timeout??1e4,fetch:n.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(zt){if(this.abortController=new globalThis.AbortController,this._options.signal){const a=this._options.signal;this._options.signal.addEventListener("abort",()=>{this.abortController.abort(a.reason)})}this._options.signal=this.abortController.signal}if(Qt&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const a="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);(en&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(s,{...this.request}),this._options)}this._options.json!==void 0&&(this._options.body=JSON.stringify(this._options.json),this.request.headers.set("content-type",this._options.headers.get("content-type")??"application/json"),this.request=new globalThis.Request(this.request,{body:this._options.body}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<this._options.retry.limit&&!(t instanceof nt)){if(t instanceof Oe){if(!this._options.retry.statusCodes.includes(t.response.status))return 0;const a=t.response.headers.get("Retry-After");if(a&&this._options.retry.afterStatusCodes.includes(t.response.status)){let s=Number(a);return Number.isNaN(s)?s=Date.parse(a)-Date.now():s*=1e3,this._options.retry.maxRetryAfter!==void 0&&s>this._options.retry.maxRetryAfter?0:s}if(t.response.status===413)return 0}const n=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,n)}return 0}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(n){const a=Math.min(this._calculateRetryDelay(n),ue);if(a!==0&&this._retryCount>0){await un(a,{signal:this._options.signal});for(const s of this._options.hooks.beforeRetry)if(await s({request:this.request,options:this._options,error:n,retryCount:this._retryCount})===it)return;return this._retry(t)}throw n}}async _fetch(){for(const n of this._options.hooks.beforeRequest){const a=await n(this.request,this._options);if(a instanceof Request){this.request=a;break}if(a instanceof Response)return a}const t=ln(this.request,this._options);return this._options.timeout===!1?this._options.fetch(this.request.clone(),t):dn(this.request.clone(),t,this.abortController,this._options)}_stream(t,n){const a=Number(t.headers.get("content-length"))||0;let s=0;return t.status===204?(n&&n({percent:1,totalBytes:a,transferredBytes:s},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(r){const o=t.body.getReader();n&&n({percent:0,transferredBytes:0,totalBytes:a},new Uint8Array);async function p(){const{done:d,value:l}=await o.read();if(d){r.close();return}if(n){s+=l.byteLength;const u=a===0?0:s/a;n({percent:u,transferredBytes:s,totalBytes:a},l)}r.enqueue(l),await p()}await p()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}/*! MIT License © Sindre Sorhus */const le=e=>{const t=(n,a)=>Z.create(n,X(e,a));for(const n of st)t[n]=(a,s)=>Z.create(a,X(e,s,{method:n}));return t.create=n=>le(X(n)),t.extend=n=>le(X(e,n)),t.stop=it,t},yn=le(),cn=yn,mn=typeof window<"u"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},Se=cn.create({headers:mn}),re={get:(e,t)=>Se.get(e,t).json(),post:(e,t)=>Se.post(e,t).json()},ve=Object.values(i),Tn=(e="")=>{const t=e.toUpperCase(),[n]=t.split(".");if(ve.includes(n))return!0;const[a]=t.split("/");if(ve.includes(a))return!0;throw new Error(`Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`)},G=8,V=e=>10n**BigInt(e),F=e=>Math.log10(parseFloat(e.toString()));function K({value:e,bigIntDecimal:t=G,decimal:n=G}){const a=e<0n;let s=e.toString().substring(a?1:0);const r=n-(s.length-1);r>0&&(s="0".repeat(r)+s);const o=s.length-n;let p=s.slice(-n);return parseInt(p[t])>=5?p=`${p.substring(0,t-1)}${(parseInt(p[t-1])+1).toString()}`:p=p.substring(0,t),`${a?"-":""}${s.slice(0,o)}.${p}`.replace(/\.?0*$/,"")}var L,k,ye,ot,ce,Ce,ee,me;const hn=class pt{constructor(t){Y(this,L),Y(this,ye),Y(this,ce),Y(this,ee),M(this,"decimalMultiplier",10n**8n),M(this,"bigIntValue",0n),M(this,"decimal");const n=Te(t);this.decimal=typeof t=="object"?t.decimal:void 0,this.decimalMultiplier=V(Math.max(dt(ne(n)),this.decimal||0)),D(this,ye,ot).call(this,n)}static fromBigInt(t,n){return new pt({decimal:n,value:K({value:t,bigIntDecimal:n,decimal:n})})}static shiftDecimals({value:t,from:n,to:a}){return this.fromBigInt(t.getBaseValue("bigint")*V(a)/V(n),a)}set(t){return new this.constructor({decimal:this.decimal,value:t,identifier:this.toString()})}add(...t){return D(this,L,k).call(this,"add",...t)}sub(...t){return D(this,L,k).call(this,"sub",...t)}mul(...t){return D(this,L,k).call(this,"mul",...t)}div(...t){return D(this,L,k).call(this,"div",...t)}gt(t){return this.bigIntValue>this.getBigIntValue(t)}gte(t){return this.bigIntValue>=this.getBigIntValue(t)}lt(t){return this.bigIntValue<this.getBigIntValue(t)}lte(t){return this.bigIntValue<=this.getBigIntValue(t)}eqValue(t){return this.bigIntValue===this.getBigIntValue(t)}getValue(t){const n=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||F(this.decimalMultiplier));switch(t){case"number":return Number(n);case"string":return n;default:return this.bigIntValue*BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(t){const n=this.decimalMultiplier/V(this.decimal||b.THOR),a=this.bigIntValue/n;switch(t){case"number":return Number(a);case"string":return a.toString();default:return a}}getBigIntValue(t,n){if(!n&&typeof t=="object")return t.bigIntValue;const a=Te(t),s=ne(a);return s==="0"||s==="undefined"?0n:D(this,ee,me).call(this,s,n)}formatBigIntToSafeValue(t,n){const a=n||this.decimal||G,s=Math.max(a,F(this.decimalMultiplier)),r=t<0n,o=t.toString().substring(r?1:0),p=s-(o.length-1),d=p>0?"0".repeat(p)+o:o,l=d.length-s;let u=d.slice(-s);return parseInt(u[a])>=5?u=`${u.substring(0,a-1)}${(parseInt(u[a-1])+1).toString()}`:u=u.substring(0,a),`${r?"-":""}${d.slice(0,l)}.${u}`.replace(/\.?0*$/,"")}toSignificant(t=6){const[n,a]=this.getValue("string").split("."),s=n||"",r=a||"";if((parseInt(s)?s.length+r.length:r.length)<=t)return this.getValue("string");if(s.length>=t)return s.slice(0,t).padEnd(s.length,"0");if(parseInt(s))return`${s}.${r.slice(0,t-s.length)}`.padEnd(t-s.length,"0");const o=parseInt(r),p=`${o}`.slice(0,t);return`0.${p.padStart(r.length-`${o}`.length+p.length,"0")}`}toFixed(t=6){const[n,a]=this.getValue("string").split("."),s=n||"",r=a||"";if(parseInt(s))return`${s}.${r.slice(0,t)}`.padEnd(t,"0");const o=parseInt(r),p=`${o}`.slice(0,t);return`0.${p.padStart(r.length-`${o}`.length+p.length,"0")}`}toAbbreviation(t=2){const n=this.getValue("number"),a=["","K","M","B","T","Q","Qi","S"],s=Math.floor(Math.log10(Math.abs(n))/3),r=a[s];if(!r)return this.getValue("string");const o=10**(s*3);return`${(n/o).toFixed(t)}${r}`}toCurrency(t="$",{currencyPosition:n="start",decimal:a=2,decimalSeparator:s=".",thousandSeparator:r=","}={}){const o=this.getValue("number"),[p,d=""]=o.toFixed(6).split("."),l=p.replace(/\B(?=(\d{3})+(?!\d))/g,r),u=!p&&!d?"0.00":p==="0"?`${parseFloat(`0.${d}`)}`.replace(".",s):`${l}${parseInt(d)?`${s}${d.slice(0,a)}`:""}`;return`${n==="start"?t:""}${u}${n==="end"?t:""}`}};L=new WeakSet,k=function(e,...t){const n=D(this,ce,Ce).call(this,this,...t),a=V(n),s=t.reduce((o,p)=>{const d=this.getBigIntValue(p,n);switch(e){case"add":return o+d;case"sub":return o-d;case"mul":return o*d/a;case"div":{if(d===0n)throw new RangeError("Division by zero");return o*a/d}default:return o}},this.bigIntValue*a/this.decimalMultiplier),r=K({bigIntDecimal:n,decimal:Math.max(n,F(this.decimalMultiplier)),value:s});return new this.constructor({decimal:this.decimal,value:r,identifier:this.toString()})},ye=new WeakSet,ot=function(e){const t=ne(e)||"0";this.bigIntValue=D(this,ee,me).call(this,t)},ce=new WeakSet,Ce=function(...e){const t=e.map(n=>typeof n=="object"?n.decimal||F(n.decimalMultiplier):dt(ne(n))).filter(Boolean);return Math.max(...t,G)},ee=new WeakSet,me=function(e,t){const n=t?V(t):this.decimalMultiplier,a=F(n),[s="",r=""]=e.split(".");return BigInt(`${s}${r.padEnd(a,"0")}`)};let te=hn;const _n=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function ne(e){const t=`${typeof e=="number"?_n.format(e):Te(e)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]}function dt(e){var t;const n=((t=e.split(".")[1])==null?void 0:t.length)||0;return Math.max(n,G)}function Te(e){return typeof e=="object"?"getValue"in e?e.getValue("string"):e.value:e}const Q=(e,t)=>typeof e=="bigint"?K({value:e,bigIntDecimal:t,decimal:t}):e;let he;const Me=e=>{if(!he)throw new Error("Static assets not loaded, call await AssetValue.loadStaticAssets() first");return he.get(e.toUpperCase())||{decimal:b.THOR,identifier:""}},Ne=async(e,t=0)=>{Tn(e);const n=await Xe(_e(e)),a=Q(t,n);return new S({decimal:n,value:a,identifier:e})};class S extends te{constructor(t){const n="identifier"in t?t.identifier:`${t.chain}.${t.symbol}`;super(t.value instanceof te?t.value:{decimal:t.decimal,value:t.value}),M(this,"address"),M(this,"isSynthetic",!1),M(this,"isGasAsset",!1),M(this,"chain"),M(this,"symbol"),M(this,"ticker"),M(this,"type");const a=_e(n);this.type=ze(a),this.chain=a.chain,this.ticker=a.ticker,this.symbol=a.symbol,this.address=a.address,this.isSynthetic=a.isSynthetic,this.isGasAsset=a.isGasAsset}toString(t=!1){const n=this.isSynthetic?this.symbol.split("-")[0]:this.ticker;return t?n:`${this.chain}.${this.symbol}`}eq({chain:t,symbol:n}){return this.chain===t&&this.symbol===n}static async fromString(t,n=0){return Ne(t,n)}static fromStringSync(t,n=0){const{isSynthetic:a}=_e(t),{decimal:s,identifier:r}=Me(t),o=Q(n,s);return r?new S({decimal:s,identifier:r,value:o}):a?new S({decimal:8,identifier:t,value:o}):void 0}static async fromIdentifier(t,n=0){return Ne(t,n)}static fromIdentifierSync(t,n=0){const{decimal:a,identifier:s}=Me(t),r=Q(n,a);return new S({decimal:a,identifier:s,value:r})}static fromChainOrSignature(t,n=0){const{decimal:a,identifier:s}=Qe(t),r=Q(n,a);return new S({value:r,decimal:a,identifier:s})}static async loadStaticAssets(){return new Promise(async(t,n)=>{try{const{ThorchainList:a,NativeList:s,...r}=await import("@swapkit/tokens");he=[s,...Object.values(r)].reduce((o,{tokens:p})=>(p.forEach(({identifier:d,chain:l,...u})=>{const c="decimals"in u?u.decimals:b[l];o.set(d,{identifier:d,decimal:c})}),o),new Map),t({ok:!0})}catch(a){console.error(a),n({ok:!1,error:a,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}}const z=e=>{const t=S.fromChainOrSignature(e);switch(e){case i.Bitcoin:case i.Litecoin:case i.BitcoinCash:return t.set(10001e-8);case i.Dogecoin:return t.set(1.00000001);case i.Avalanche:case i.Ethereum:return t.set(1e-8);case i.THORChain:case i.Maya:return t.set(0);default:return t.set(1e-8)}},_e=e=>{const t=e.slice(0,14).includes("/"),[n,a]=e.split(".").pop().split("/"),s=e.includes(".")&&!t?e:`${i.THORChain}.${a}`,[r,o]=s.split("."),[p,d]=(t?a:o).split("-");return{address:d==null?void 0:d.toLowerCase(),chain:r,isGasAsset:Re({chain:r,symbol:o}),isSynthetic:t,symbol:(t?`${n}/`:"")+(d?`${p}-${(d==null?void 0:d.toLowerCase())??""}`:o),ticker:p}},fn={core_wallet_connection_not_found:10001,core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_chain_halted:10099,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_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_rune_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_no_rune_address:10306,core_transaction_add_liquidity_rune_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_deposit_server_error:10313,wallet_ledger_connection_error:20001,helpers_number_different_decimals:99101};class m extends Error{constructor(t,n){console.error(n),super(t,{cause:{code:fn[t],message:t}}),Object.setPrototypeOf(this,m.prototype)}}class N extends te{eq(t){return this.eqValue(t)}static fromBigInt(t,n){return new N({decimal:n,value:K({value:t,bigIntDecimal:n,decimal:n})})}}const bn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"router",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],wn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"SwapOut",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IWoofi",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],An=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"swapRouter",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],En=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"router",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Rn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_wbnb",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"SwapOut",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IPancakeRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wbnb",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],gn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2AVAX",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],On=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],In=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2AVAX",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Sn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],vn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"address",name:"_legToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"legToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Cn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Mn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Nn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],xn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],ut={["0x7C38b8B2efF28511ECc14a621e263857Fb5771d3".toLowerCase()]:bn,["0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c".toLowerCase()]:An,["0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2".toLowerCase()]:En},Dn={...ut,["0x942c6dA485FD6cEf255853ef83a149d43A73F18a".toLowerCase()]:gn,["0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a".toLowerCase()]:wn,["0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212".toLowerCase()]:In,["0x30912B38618D3D37De3191A4FFE982C65a9aEC2E".toLowerCase()]:Rn,["0xbf365e79aA44A2164DA135100C57FDB6635ae870".toLowerCase()]:On,["0x86904Eb2b3c743400D03f929F2246EfA80B91215".toLowerCase()]:Sn,["0x3660dE6C56cFD31998397652941ECe42118375DA".toLowerCase()]:vn,["0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8".toLowerCase()]:Cn,["0xe4ddca21881bac219af7f217703db0475d2a9f02".toLowerCase()]:Mn,["0x11733abf0cdb43298f7e949c930188451a9a9ef2".toLowerCase()]:Nn,["0xb33874810e5395eb49d8bd7e912631db115d5a03".toLowerCase()]:xn},Pn=({streamSwap:e,contractAddress:t,recipient:n,toChecksumAddress:a,calldata:{amount:s,amountOutMin:r="",data:o="",deadline:p,memo:d,router:l,memoStreamingSwap:u,tcMemo:c,tcRouter:_,tcVault:w,vault:A,token:E}})=>{const g=!!ut[t.toLowerCase()];if(g&&!l)throw new Error("Router is required on calldata for swapIn with GenericContract");const O=c||d,x=e&&u||O;if(!w&&!A)throw new Error("TC Vault is required on calldata");if(!_&&!l)throw new Error("TC Router is required on calldata");if(!x)throw new Error("TC Memo is required on calldata");if(!E)throw new Error("Token is required on calldata");const oe=[a(_||l),a(w||A),x.replace("{recipientAddress}",n),a(E),s],lt=g?[a(l),o,p]:[r,p];return[...oe,...lt]},Bn=({chain:e,txHash:t})=>{const n=Ee[e];switch(e){case i.Binance:case i.Bitcoin:case i.BitcoinCash:case i.Maya:case i.Kujira:case i.THORChain:return`${n}/tx/${t}`;case i.Arbitrum:case i.Avalanche:case i.BinanceSmartChain:case i.Ethereum:case i.Optimism:case i.Polygon:return`${n}/tx/${t.startsWith("0x")?t:`0x${t}`}`;case i.Cosmos:return`${n}/transactions/${t}`;case i.Dogecoin:return`${n}/transaction/${t.toLowerCase()}`;case i.Litecoin:return`${n}/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},Ln=({chain:e,address:t})=>{const n=Ee[e];switch(e){case i.Arbitrum:case i.Avalanche:case i.Binance:case i.BinanceSmartChain:case i.Bitcoin:case i.BitcoinCash:case i.Dogecoin:case i.Ethereum:case i.Maya:case i.Optimism:case i.Polygon:case i.Kujira:case i.THORChain:return`${n}/address/${t}`;case i.Cosmos:return`${n}/account/${t}`;case i.Litecoin:return`${n}/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},Vn=e=>{const t=e?H.ThornodeStagenet:H.ThornodeMainnet;return re.get(`${t}/thorchain/inbound_addresses`)},Un=e=>{const t=e?H.ThornodeStagenet:H.ThornodeMainnet;return re.get(`${t}/thorchain/mimir`)},xe=()=>Object.values(i).reduce((e,t)=>(e[t]=null,e),{});var B,ae,q,I,W,j;class Hn{constructor({stagenet:t}={}){T(this,"connectedChains",xe());T(this,"connectedWallets",xe());T(this,"stagenet",!1);T(this,"getAddress",t=>{var n;return((n=this.connectedChains[t])==null?void 0:n.address)||""});T(this,"getExplorerTxUrl",(t,n)=>Bn({chain:t,txHash:n}));T(this,"getWallet",t=>this.connectedWallets[t]);T(this,"getExplorerAddressUrl",(t,n)=>Ln({chain:t,address:n}));T(this,"getBalance",async(t,n)=>{const a=await this.getWalletByChain(t,n);return(a==null?void 0:a.balance)||[]});T(this,"swap",async({streamSwap:t,recipient:n,route:a,feeOptionKey:s})=>{var p,d;const{quoteMode:r}=a.meta,o=r.startsWith("ERC20-")?i.Ethereum:r.startsWith("ARC20-")?i.Avalanche:i.BinanceSmartChain;if(!a.complete)throw new m("core_swap_route_not_complete");try{if(Ve.includes(r)){const l=this.connectedWallets[o];if(!(l!=null&&l.sendTransaction))throw new m("core_wallet_connection_not_found");if(!(t?(p=a==null?void 0:a.streamingSwap)==null?void 0:p.transaction:a==null?void 0:a.transaction))throw new m("core_swap_route_transaction_not_found");const{data:c,from:_,to:w,value:A}=a.transaction,E={data:c,from:_,to:w.toLowerCase(),chainId:BigInt(qe[o]),value:A?BigInt(A):0n};return l.sendTransaction(E,s)}if(He.includes(r)){if(!a.calldata.fromAsset)throw new m("core_swap_asset_not_recognized");const l=await S.fromString(a.calldata.fromAsset);if(!l)throw new m("core_swap_asset_not_recognized");const{address:u}=await f(this,B).call(this,l.chain),{contract:c,calldata:{expiration:_,amountIn:w,memo:A,memoStreamingSwap:E}}=a,g=l.add(N.fromBigInt(BigInt(w),l.decimal)),O=t&&E||A;return this.deposit({expiration:_,assetValue:g,memo:O,feeOptionKey:s,router:c,recipient:u})}if(Ue.includes(r)){const{calldata:l,contract:u}=a;if(!u)throw new m("core_swap_contract_not_found");const c=this.connectedWallets[o],_=this.getAddress(o);if(!(c!=null&&c.sendTransaction)||!_)throw new m("core_wallet_connection_not_found");const{getProvider:w,toChecksumAddress:A}=await import("@swapkit/toolbox-evm"),E=w(o),g=Dn[u.toLowerCase()];if(!g)throw new m("core_swap_contract_not_supported",{contractAddress:u});const x=await(await((d=c.createContract)==null?void 0:d.call(c,u,g,E))).getFunction("swapIn").populateTransaction(...Pn({streamSwap:t,toChecksumAddress:A,contractAddress:u,recipient:n,calldata:l}),{from:_});return c.sendTransaction(x,s)}throw new m("core_swap_quote_mode_not_supported",{quoteMode:r})}catch(l){throw new m("core_swap_transaction_error",l)}});T(this,"getWalletByChain",async(t,n)=>{var o,p;const a=this.getAddress(t);if(!a)return null;const s=[S.fromChainOrSignature(t)],r=(o=this.connectedChains[t])==null?void 0:o.walletType;try{const d=await((p=this.getWallet(t))==null?void 0:p.getBalance(a,n));return this.connectedChains[t]={address:a,balance:d!=null&&d.length?d:s,walletType:r},{...this.connectedChains[t]}}catch(d){return console.error(d),{address:a,balance:s,walletType:r}}});T(this,"approveAssetValue",(t,n)=>f(this,q).call(this,{assetValue:t,type:"approve",contractAddress:n}));T(this,"isAssetValueApproved",(t,n)=>f(this,q).call(this,{assetValue:t,contractAddress:n,type:"checkOnly"}));T(this,"validateAddress",({address:t,chain:n})=>{var a,s;return(s=(a=this.getWallet(n))==null?void 0:a.validateAddress)==null?void 0:s.call(a,t)});T(this,"transfer",async t=>{const n=this.connectedWallets[t.assetValue.chain];if(!n)throw new m("core_wallet_connection_not_found");try{return await n.transfer(f(this,j).call(this,t))}catch(a){throw new m("core_swap_transaction_error",a)}});T(this,"deposit",async({assetValue:t,recipient:n,router:a,...s})=>{const{chain:r,symbol:o,ticker:p}=t,d=this.connectedWallets[r];if(!d)throw new m("core_wallet_connection_not_found");const l=f(this,j).call(this,{assetValue:t,recipient:n,router:a,...s});try{switch(r){case i.THORChain:{const u=d;return await(n===""?u.deposit(l):u.transfer(l))}case i.Ethereum:case i.BinanceSmartChain:case i.Avalanche:{const{getChecksumAddressFromAsset:u}=await import("@swapkit/toolbox-evm"),c=r===i.Avalanche?Pe:r===i.BinanceSmartChain?Be:De;return await d.call({abi:c,contractAddress:a||(await f(this,B).call(this,r)).router,funcName:"depositWithExpiry",funcParams:[n,u({chain:r,symbol:o,ticker:p},r),t.getBaseValue("string"),l.memo,s.expiration||parseInt(`${(new Date().getTime()+15*60*1e3)/1e3}`)],txOverrides:{from:l.from,value:t.isGasAsset?t.getBaseValue("bigint"):void 0}})}default:return await d.transfer(l)}}catch(u){const c=((u==null?void 0:u.message)||(u==null?void 0:u.toString())).toLowerCase(),_=c==null?void 0:c.includes("insufficient funds"),w=c==null?void 0:c.includes("gas"),A=c==null?void 0:c.includes("server"),E=_?"core_transaction_deposit_insufficient_funds_error":w?"core_transaction_deposit_gas_error":A?"core_transaction_deposit_server_error":"core_transaction_deposit_error";throw new m(E,u)}});T(this,"createLiquidity",async({runeAssetValue:t,assetValue:n})=>{if(t.lte(0)||n.lte(0))throw new m("core_transaction_create_liquidity_invalid_params");let a="",s="";try{a=await f(this,I).call(this,{assetValue:t,memo:C(h.DEPOSIT,{...n,address:this.getAddress(n.chain)})})}catch(r){throw new m("core_transaction_create_liquidity_rune_error",r)}try{s=await f(this,I).call(this,{assetValue:n,memo:C(h.DEPOSIT,{...n,address:this.getAddress(i.THORChain)})})}catch(r){throw new m("core_transaction_create_liquidity_asset_error",r)}return{runeTx:a,assetTx:s}});T(this,"addLiquidity",async({runeAssetValue:t,assetValue:n,runeAddr:a,assetAddr:s,isPendingSymmAsset:r,mode:o="sym"})=>{const{chain:p,symbol:d}=n,l=o==="sym",u=(t==null?void 0:t.gt(0))&&(l||o==="rune"),c=(n==null?void 0:n.gt(0))&&(l||o==="asset"),_=r||u,w=_?a||this.getAddress(i.THORChain):"",A=l||o==="asset"?s||this.getAddress(p):"";if(!u&&!c)throw new m("core_transaction_add_liquidity_invalid_params");if(_&&!w)throw new m("core_transaction_add_liquidity_no_rune_address");let E,g;if(u&&t)try{E=await f(this,I).call(this,{assetValue:t,memo:C(h.DEPOSIT,{chain:p,symbol:d,address:A})})}catch(O){throw new m("core_transaction_add_liquidity_rune_error",O)}if(c&&n)try{g=await f(this,I).call(this,{assetValue:n,memo:C(h.DEPOSIT,{chain:p,symbol:d,address:w})})}catch(O){throw new m("core_transaction_add_liquidity_asset_error",O)}return{runeTx:E,assetTx:g}});T(this,"addLiquidityPart",({assetValue:t,poolAddress:n,address:a,symmetric:s})=>{if(s&&!a)throw new m("core_transaction_add_liquidity_invalid_params");return f(this,I).call(this,{assetValue:t,memo:`+:${n}:${a||""}:t:0`})});T(this,"withdraw",async({memo:t,assetValue:n,percent:a,from:s,to:r})=>{const o=r==="rune"?S.fromChainOrSignature(i.THORChain):s==="sym"&&r==="sym"||s==="rune"||s==="asset"?void 0:n,p=z(s==="asset"?n.chain:i.THORChain),d=t||C(h.WITHDRAW,{symbol:n.symbol,chain:n.chain,ticker:n.ticker,basisPoints:Math.max(1e4,Math.round(a*100)),targetAssetString:o==null?void 0:o.toString(),singleSide:!1});return f(this,I).call(this,{assetValue:p,memo:d})});T(this,"savings",async({assetValue:t,memo:n,percent:a,type:s})=>{const r=s==="add"?h.DEPOSIT:h.WITHDRAW,o=n||C(r,{ticker:t.ticker,symbol:t.symbol,chain:t.chain,singleSide:!0,basisPoints:a?Math.min(1e4,Math.round(a*100)):void 0}),p=r===h.DEPOSIT?t:z(t.chain);return f(this,I).call(this,{memo:o,assetValue:p})});T(this,"loan",({assetValue:t,memo:n,minAmount:a,type:s})=>f(this,I).call(this,{assetValue:t,memo:n||C(s==="open"?h.OPEN_LOAN:h.CLOSE_LOAN,{asset:t.toString(),minAmount:a.toString(),address:this.getAddress(t.chain)})}));T(this,"nodeAction",({type:t,assetValue:n,address:a})=>{const s=t==="bond"?h.BOND:t==="unbond"?h.UNBOND:h.LEAVE,r=C(s,{address:a,unbondAmount:t==="unbond"?n.getBaseValue("number"):void 0});return f(this,W).call(this,{memo:r,assetValue:t==="bond"?n:z(i.THORChain)})});T(this,"registerThorname",({assetValue:t,...n})=>f(this,W).call(this,{assetValue:t,memo:C(h.THORNAME_REGISTER,n)}));T(this,"extend",({wallets:t,config:n,apis:a={},rpcUrls:s={}})=>{try{t.forEach(r=>{this[r.connectMethodName]=r.connect({addChain:f(this,ae),config:n||{},apis:a,rpcUrls:s})})}catch(r){throw new m("core_extend_error",r)}});T(this,"estimateMaxSendableAmount",async({chain:t,params:n})=>{const a=this.getWallet(t);switch(t){case i.Arbitrum:case i.Avalanche:case i.BinanceSmartChain:case i.Ethereum:case i.Optimism:case i.Polygon:{const{estimateMaxSendableAmount:s}=await import("@swapkit/toolbox-evm");return s({...n,toolbox:a})}case i.Bitcoin:case i.BitcoinCash:case i.Dogecoin:case i.Litecoin:return a.estimateMaxSendableAmount(n);case i.Binance:case i.THORChain:case i.Cosmos:{const{estimateMaxSendableAmount:s}=await import("@swapkit/toolbox-cosmos");return s({...n,toolbox:a})}default:throw new m("core_estimated_max_spendable_chain_not_supported")}});T(this,"connectXDEFI",async t=>{throw new m("core_wallet_xdefi_not_installed")});T(this,"connectEVMWallet",async(t,n)=>{throw new m("core_wallet_evmwallet_not_installed")});T(this,"connectWalletconnect",async(t,n)=>{throw new m("core_wallet_walletconnect_not_installed")});T(this,"connectKeystore",async(t,n)=>{throw new m("core_wallet_keystore_not_installed")});T(this,"connectLedger",async(t,n)=>{throw new m("core_wallet_ledger_not_installed")});T(this,"connectTrezor",async(t,n)=>{throw new m("core_wallet_trezor_not_installed")});T(this,"connectKeplr",async t=>{throw new m("core_wallet_keplr_not_installed")});T(this,"connectOkx",async t=>{throw new m("core_wallet_okx_not_installed")});T(this,"disconnectChain",t=>{this.connectedChains[t]=null,this.connectedWallets[t]=null});P(this,B,async t=>{if(t===i.THORChain)return{gas_rate:"0",router:"0",address:"",halted:!1,chain:i.THORChain};const a=(await Vn(this.stagenet)).find(s=>s.chain===t);if(!a)throw new m("core_inbound_data_not_found");if(a!=null&&a.halted)throw new m("core_chain_halted");return a});P(this,ae,({chain:t,wallet:n,walletMethods:a})=>{this.connectedChains[t]=n,this.connectedWallets[t]=a});P(this,q,async({assetValue:t,type:n="checkOnly",contractAddress:a})=>{const{address:s,chain:r,isGasAsset:o,isSynthetic:p}=t,d=[i.Ethereum,i.Avalanche,i.BinanceSmartChain].includes(r);if(d&&o||!d||p)return!0;const u=this.connectedWallets[r],c=n==="checkOnly"?u==null?void 0:u.isApproved:u==null?void 0:u.approve;if(!c)throw new m("core_wallet_connection_not_found");const _=this.getAddress(r);if(!s||!_)throw new m("core_approve_asset_address_or_from_not_found");const w=a||(await f(this,B).call(this,r)).router;return c({amount:t.getBaseValue("bigint"),assetAddress:s,from:_,spenderAddress:w})});P(this,I,async({assetValue:t,memo:n,feeOptionKey:a=U.Fast})=>{const{gas_rate:s,router:r,address:o}=await f(this,B).call(this,t.chain),p=(parseInt(s)||0)*Je[a];return this.deposit({assetValue:t,recipient:o,memo:n,router:r,feeRate:p})});P(this,W,async({memo:t,assetValue:n})=>{const a=await Un(this.stagenet);if(a.HALTCHAINGLOBAL>=1||a.HALTTHORCHAIN>=1)throw new m("core_chain_halted");return this.deposit({assetValue:n,recipient:"",memo:t})});P(this,j,({assetValue:t,...n})=>({...n,memo:n.memo||"",from:this.getAddress(t.chain),assetValue:t}));this.stagenet=!!t}}B=new WeakMap,ae=new WeakMap,q=new WeakMap,I=new WeakMap,W=new WeakMap,j=new WeakMap;exports.AGG_SWAP=Ve;exports.ApiError=be;exports.ApiUrl=H;exports.AssetValue=S;exports.BaseDecimal=b;exports.BigIntArithmetics=te;exports.Chain=i;exports.ChainId=se;exports.ChainIdToChain=Mt;exports.ChainToChainId=qe;exports.ChainToExplorerUrl=Ee;exports.ChainToHexChainId=Ct;exports.ChainToRPC=We;exports.ContractAddress=ke;exports.CosmosChainList=It;exports.DerivationPath=Fe;exports.ERROR_CODE=y;exports.ERROR_MODULE=$e;exports.ERROR_TYPE=fe;exports.EVMChainList=Ge;exports.ErrorCode=je;exports.FeeOption=U;exports.MemoType=h;exports.NetworkDerivationPath=gt;exports.QuoteMode=Le;exports.RPCUrl=we;exports.RequestClient=re;exports.SWAP_IN=Ue;exports.SWAP_OUT=He;exports.SwapKitCore=Hn;exports.SwapKitError=m;exports.SwapKitNumber=N;exports.TCAvalancheDepositABI=Pe;exports.TCBscDepositABI=Be;exports.TCEthereumVaultAbi=De;exports.TCSupportedChainList=St;exports.UTXOChainList=Ot;exports.WalletOption=Ke;exports.assetFromString=Ut;exports.derivationPathToString=Jt;exports.erc20ABI=Et;exports.filterAssets=kt;exports.formatBigIntToSafeValue=K;exports.gasFeeMultiplier=Je;exports.getAssetType=ze;exports.getAsymmetricAssetShare=et;exports.getAsymmetricAssetWithdrawAmount=Gt;exports.getAsymmetricRuneShare=Ze;exports.getAsymmetricRuneWithdrawAmount=Ft;exports.getCommonAssetInfo=Qe;exports.getDecimal=Xe;exports.getEstimatedPoolShare=Wt;exports.getLiquiditySlippage=jt;exports.getMemoFor=C;exports.getMinAmountByChain=z;exports.getSymmetricPoolShare=tt;exports.getSymmetricWithdraw=qt;exports.getTHORNameCost=Yt;exports.isGasAsset=Re;exports.validateTHORName=Xt;
|
|
1
|
+
"use strict";var yt=Object.create;var pe=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var Tt=Object.getPrototypeOf,ht=Object.prototype.hasOwnProperty;var _t=(e,t,n)=>t in e?pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ft=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of mt(t))!ht.call(e,s)&&s!==n&&pe(e,s,{get:()=>t[s],enumerable:!(a=ct(t,s))||a.enumerable});return e};var $=(e,t,n)=>(n=e!=null?yt(Tt(e)):{},ft(t||!e||!e.__esModule?pe(n,"default",{value:e,enumerable:!0}):n,e));var T=(e,t,n)=>(_t(e,typeof t!="symbol"?t+"":t,n),n),bt=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var f=(e,t,n)=>(bt(e,t,"read from private field"),n?n.call(e):t.get(e)),P=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var wt=Object.defineProperty,At=(e,t,n)=>t in e?wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v=(e,t,n)=>(At(e,typeof t!="symbol"?t+"":t,n),n);const Et=[{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"}],xe=[{inputs:[{internalType:"address",name:"rune",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[],name:"RUNE",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"aggregator",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}],De=[{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"}],Pe=[{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 Be=(e=>(e.TC_SUPPORTED_TO_TC_SUPPORTED="TC-TC",e.TC_SUPPORTED_TO_ETH="TC-ERC20",e.TC_SUPPORTED_TO_AVAX="TC-ARC20",e.TC_SUPPORTED_TO_BSC="TC-BEP20",e.ETH_TO_TC_SUPPORTED="ERC20-TC",e.ETH_TO_ETH="ERC20-ERC20",e.ETH_TO_AVAX="ERC20-ARC20",e.ETH_TO_BSC="ERC20-BEP20",e.AVAX_TO_TC_SUPPORTED="ARC20-TC",e.AVAX_TO_ETH="ARC20-ERC20",e.AVAX_TO_AVAX="ARC20-ARC20",e.AVAX_TO_BSC="ARC20-BEP20",e.BSC_TO_TC_SUPPORTED="BEP20-TC",e.BSC_TO_ETH="BEP20-ERC20",e.BSC_TO_AVAX="BEP20-ARC20",e.BSC_TO_BSC="BEP20-BEP20",e))(Be||{});const Le=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],Ve=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],Ue=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var fe=(e=>(e.VALIDATION_ERROR="VALIDATION_ERROR",e.REQUEST_PARAMETER_ERROR="REQUEST_PARAMETER_ERROR",e.RESPONSE_PARSING_ERROR="RESPONSE_PARSING_ERROR",e.UNSUPPORTED="UNSUPPORTED",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.INCOMPATIBLE_ASSETS_OPERATIONS="INCOMPATIBLE_ASSETS_OPERATIONS",e.SERVICE_UNAVAILABLE="SERVICE_UNAVAILABLE",e.DOWN_FOR_MAINTENANCE="DOWN_FOR_MAINTENANCE",e.MISSING_INBOUND_INFO="MISSING_INBOUND_INFO",e.QUOTE_FETCHING_ERROR="QUOTE_FETCHING_ERROR",e.AIRDROP_ERROR="AIRDROP_ERROR",e.UNHANDLED_ERROR="UNHANDLED_ERROR",e))(fe||{}),He=(e=>(e.HEALTH_CONTROLLER="1000",e.LIQUIDITY_CONTROLLER="1001",e.PROVIDER_CONTROLLER="1002",e.QUOTE_CONTROLLER="1003",e.SWAP_CONTROLLER="1004",e.UTIL_CONTROLLER="1005",e.AIRDROP_CONTROLLER="1006",e.PROVIDER="2000",e.ASSET="2001",e.TOKEN_LIST="2002",e.QUOTE="2100",e.QUOTE_TXN_DETAILS="2101",e.THORCHAIN_PROVIDER="3000",e.UNISWAPV2_ETH_PROVIDER="3001",e.UNISWAPV3_ETH_PROVIDER="3002",e.SUSHISWAP_ETH_PROVIDER="3003",e.PANCAKESWAP_BSC_PROVIDER="3004",e.PANCAKESWAP_ETH_PROVIDER="3005",e.ONEINCH_ETH_PROVIDER="3006",e.ONEINCH_BSC_PROVIDER="3007",e.ONEINCH_AVAX_PROVIDER="3008",e.ZEROX_ETH_PROVIDER="3009",e.WOOFI_AVAX_PROVIDER="3010",e.PANGOLIN_AVAX_PROVIDER="3011",e.TRADERJOE_AVAX_PROVIDER="3012",e.KYBER_ETH_PROVIDER="3013",e.KYBER_AVAX_PROVIDER="3014",e.WOOFI_BSC_PROVIDER="3015",e.STARGATE_PROVIDER="3016",e.PROVIDER_UTIL="4000",e.TXN_DETAILS="5000",e.AIRDROP_UTIL="6000",e))(He||{}),y=(e=>(e.INVALID_INPUT_PARAMETERS="1000",e.UNKNOWN_PROVIDERS="1001",e.CANNOT_FIND_INBOUND_ADDRESS="1002",e.NO_INBOUND_ADDRESSES="1003",e.CHAIN_HALTED_OR_UNSUPPORTED="1004",e.MISSING_INPUT_PARAMETER="1005",e.INVALID_TYPE_GENERIC="1100",e.INVALID_NUMBER_STRING="1101",e.INVALID_NUMBER="1102",e.INVALID_BOOLEAN="1103",e.INVALID_OBJECT="1104",e.INVALID_ARRAY="1105",e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER="2000",e.SELL_BUY_ASSETS_ARE_THE_SAME="2001",e.MISSING_SOURCE_ADDRESS_FOR_SYNTH="2002",e.AFF_ADDRESS_AND_BPS_OR_NEITHER="2003",e.AFF_ADDRESS_TOO_LONG="2004",e.AFF_BPS_INTEGER_0_100="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROFVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.INVALID_PROVIDER="2100",e.MISSING_CROSS_CHAIN_PROVIDER="2101",e.MISSING_AVAX_PROVIDER="2102",e.MISSING_BSC_PROVIDER="2103",e.MISSING_ETH_PROVIDER="2104",e.INVALID_PROVIDER_FOR_SWAP_OUT="2105",e.MISSING_ARB_PROVIDER="2106",e.INVALID_CHAIN="2200",e.INVALID_ASSET="2201",e.INVALID_ASSET_IDENTIFIER="2202",e.UNSUPPORTED_CHAIN="2204",e.UNSUPPORTED_ASSET="2203",e.UNSUPPORTED_ASSET_FOR_SWAPOUT="2205",e.INVALID_SOURCE_ADDRESS="2300",e.INVALID_DESTINATION_ADDRESS="2301",e.THORNODE_QUOTE_GENERIC_ERROR="3000",e.NOT_ENOUGH_SYNTH_BALANCE="3001",e.SYNTH_MINTING_CAP_REACHED="3002",e.INVALID_QUOTE_MODE="4000",e.NO_QUOTES="4001",e.SERVICE_UNAVAILABLE_GENERIC="5000",e.MISSING_GAS_DATA_GENERIC="5100",e.MISSING_TOKEN_INFO_GENERIC="5200",e.CANT_FIND_TOKEN_LIST="5201",e.NO_PRICE="5202",e.PRICE_IS_STALE="5203",e.ADDRESS_NOT_WHITELISTED="6000",e.ADDRESS_ALREADY_CLAIMED="6001",e.TEMPORARY_ERROR="9999",e))(y||{});const Rt={[y.INVALID_INPUT_PARAMETERS]:"Invalid input parameters: {0}.",[y.UNKNOWN_PROVIDERS]:"Unknown providers: {0}.",[y.CANNOT_FIND_INBOUND_ADDRESS]:"Cannot find inbound address.",[y.NO_INBOUND_ADDRESSES]:"No inbound addresses.",[y.CHAIN_HALTED_OR_UNSUPPORTED]:"Chain {0} halted or unsupported.",[y.MISSING_INPUT_PARAMETER]:"Missing input parameter: {0}.",[y.INVALID_TYPE_GENERIC]:"Invalid type",[y.INVALID_NUMBER_STRING]:"Invalid number string.",[y.INVALID_NUMBER]:"Invalid number.",[y.INVALID_BOOLEAN]:"Invalid boolean.",[y.INVALID_OBJECT]:"Invalid object.",[y.INVALID_ARRAY]:"Invalid array.",[y.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Sell amount must be a positive integer.",[y.SELL_BUY_ASSETS_ARE_THE_SAME]:"Sell and buy assets are the same.",[y.MISSING_SOURCE_ADDRESS_FOR_SYNTH]:"Source address is required for synth quote.",[y.AFF_ADDRESS_AND_BPS_OR_NEITHER]:"Must provide affiliateAddress and affiliateBasisPoints params, or neither.",[y.AFF_ADDRESS_TOO_LONG]:"affiliateAddress too long: 3 characters max.",[y.AFF_BPS_INTEGER_0_100]:"affiliateBasisPoints must be an integer between 0 and 100.",[y.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]:"Source address {0} invalid for sell chain.",[y.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:"Destination address {0} invalid for buy chain.",[y.PREFERRED_PROFVIDER_NOT_SUPPORTED]:"Preferred provider not supported.",[y.DESTINATION_ADDRESS_SMART_CONTRACT]:"Destination address is a smart contract.",[y.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Buy amount must be a positive integer.",[y.INVALID_PROVIDER]:"Invalid provider {0}.",[y.MISSING_CROSS_CHAIN_PROVIDER]:"Missing cross-chain provider.",[y.MISSING_AVAX_PROVIDER]:"Missing AVAX provider.",[y.MISSING_BSC_PROVIDER]:"Missing BSC provider.",[y.MISSING_ETH_PROVIDER]:"Missing ETH provider.",[y.MISSING_ARB_PROVIDER]:"Missing ARB provider.",[y.INVALID_PROVIDER_FOR_SWAP_OUT]:"Invalid provider for swap out.",[y.INVALID_CHAIN]:"Invalid chain {0}.",[y.INVALID_ASSET]:"Invalid asset {0}.",[y.UNSUPPORTED_CHAIN]:"Unsupported chain {0}.",[y.UNSUPPORTED_ASSET]:"Unsupported asset {0}.",[y.UNSUPPORTED_ASSET_FOR_SWAPOUT]:"Unsupported asset {0} for swap out.",[y.THORNODE_QUOTE_GENERIC_ERROR]:"ThorNode quote generic error.",[y.INVALID_SOURCE_ADDRESS]:"Invalid source address {0}",[y.INVALID_DESTINATION_ADDRESS]:"Invalid destination address {0}",[y.NOT_ENOUGH_SYNTH_BALANCE]:"Source address doesn't have enough synth balance for this quote.",[y.SYNTH_MINTING_CAP_REACHED]:"Synth minting cap reached.",[y.INVALID_QUOTE_MODE]:"Invalid quote mode.",[y.NO_QUOTES]:"No quotes to service this request.",[y.SERVICE_UNAVAILABLE_GENERIC]:"Service unavailable.",[y.MISSING_GAS_DATA_GENERIC]:"Missing gas data.",[y.MISSING_TOKEN_INFO_GENERIC]:"Missing token info.",[y.CANT_FIND_TOKEN_LIST]:"Can't find tokenlist {0}.",[y.NO_PRICE]:"No price for asset {0}.",[y.PRICE_IS_STALE]:"Price is stale for asset {0}.",[y.ADDRESS_NOT_WHITELISTED]:"Address {0} not whitelisted for airdrop.",[y.ADDRESS_ALREADY_CLAIMED]:"Address {0} already claimed the airdrop."},de=(e,t)=>{let n=Rt[e];for(let a=0;a<t.length;a++)n=n.replace(`{${a}}`,t[a]);return t.length===0?n.replace("{0}",""):n};let gt=class $e extends Error{constructor({status:t,revision:n,module:a,code:s,message:r,type:o,options:{shouldLog:p,shouldThrow:d,shouldTrace:l}={shouldLog:!0,shouldThrow:!0,shouldTrace:!0},displayMessageParams:u}){const c=r||de(s,u||[])||"";super(c),v(this,"status"),v(this,"revision"),v(this,"type"),v(this,"module"),v(this,"code"),v(this,"message"),v(this,"display"),v(this,"stack"),v(this,"options"),v(this,"displayMessageParams"),this.status=t,this.revision=n||"NO_REVISION",this.module=a,this.message=c,this.display=de(s,u||[]),this.code=s,this.type=o||fe.UNHANDLED_ERROR,this.options={shouldLog:p||!0,shouldTrace:l||!0,shouldThrow:d||!1},this.displayMessageParams=u||[],this.options.shouldTrace&&Error.captureStackTrace(this)}static fromErrorInfo(t){return new $e(t)}toErrorInfo(){return{...this,identifier:this.identifier}}get identifier(){return`${this.revision}-${this.type||"NO_TYPE"}-${this.module}-${this.code}`}get displayMessage(){return de(this.code,this.displayMessageParams||[])}handle(){const t=`[${this.identifier}]: ${this.message}`;if(this.options.shouldLog&&console.error(t,`
|
|
2
|
+
`,this.stack||""),this.options.shouldThrow)throw Error(t,{cause:this.stack});return this.toErrorInfo()}};var i=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polygon="MATIC",e.THORChain="THOR",e))(i||{}),ke=(e=>(e.ARB="0x0000000000000000000000000000000000000000",e.AVAX="0x0000000000000000000000000000000000000000",e.ETH="0x0000000000000000000000000000000000000000",e.BSC="0x0000000000000000000000000000000000000000",e.MATIC="0x0000000000000000000000000000000000001010",e.OP="0x4200000000000000000000000000000000000042",e))(ke||{}),Fe=(e=>(e.ARB="m/44'/60'/0'/0",e.AVAX="m/44'/60'/0'/0",e.BCH="m/44'/145'/0'/0",e.BNB="m/44'/714'/0'/0",e.BSC="m/44'/60'/0'/0",e.BTC="m/84'/0'/0'/0",e.DOGE="m/44'/3'/0'/0",e.ETH="m/44'/60'/0'/0",e.GAIA="m/44'/118'/0'/0",e.KUJI="m/44'/118'/0'/0",e.LTC="m/84'/2'/0'/0",e.MATIC="m/44'/60'/0'/0",e.MAYA="m/44'/931'/0'/0",e.OP="m/44'/60'/0'/0",e.THOR="m/44'/931'/0'/0",e))(Fe||{});const Ot={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BNB:[44,714,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],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],THOR:[44,931,0,0,0]};var b=(e=>(e[e.ARB=18]="ARB",e[e.AVAX=18]="AVAX",e[e.BCH=8]="BCH",e[e.BNB=8]="BNB",e[e.BSC=18]="BSC",e[e.BTC=8]="BTC",e[e.DASH=8]="DASH",e[e.DOGE=8]="DOGE",e[e.ETH=18]="ETH",e[e.GAIA=6]="GAIA",e[e.KUJI=6]="KUJI",e[e.LTC=8]="LTC",e[e.MATIC=18]="MATIC",e[e.MAYA=10]="MAYA",e[e.OP=18]="OP",e[e.THOR=8]="THOR",e))(b||{});const Ge=["ETH","AVAX","BSC","ARB","OP","MATIC"],It=["BTC","BCH","DOGE","LTC"],St=["GAIA","THOR","BNB"],vt=["AVAX","BNB","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"];var se=(e=>(e.Arbitrum="42161",e.ArbitrumHex="0xa4b1",e.Avalanche="43114",e.AvalancheHex="0xa86a",e.Binance="Binance-Chain-Tigris",e.BinanceSmartChain="56",e.BinanceSmartChainHex="0x38",e.Bitcoin="bitcoin",e.BitcoinCash="bitcoincash",e.Cosmos="cosmoshub-4",e.Dogecoin="dogecoin",e.Kujira="kaiyo-1",e.Ethereum="1",e.EthereumHex="0x1",e.Litecoin="litecoin",e.Maya="mayachain-mainnet-v1",e.MayaStagenet="mayachain-stagenet-v1",e.Optimism="10",e.OptimismHex="0xa",e.Polygon="137",e.PolygonHex="0x89",e.THORChain="thorchain-mainnet-v1",e.THORChainStagenet="thorchain-stagenet-v2",e))(se||{}),be=(e=>(e.Arbitrum="https://arb1.arbitrum.io/rpc",e.Avalanche="https://node-router.thorswap.net/avalanche-c",e.Binance="",e.BinanceSmartChain="https://bsc-dataseed.binance.org",e.Bitcoin="https://node-router.thorswap.net/bitcoin",e.BitcoinCash="https://node-router.thorswap.net/bitcoin-cash",e.Cosmos="https://node-router.thorswap.net/cosmos/rpc",e.Kujira="https://rpc-kujira.synergynodes.com/",e.Dogecoin="https://node-router.thorswap.net/dogecoin",e.Ethereum="https://node-router.thorswap.net/ethereum",e.Litecoin="https://node-router.thorswap.net/litecoin",e.Maya="https://tendermint.mayachain.info",e.MayaStagenet="https://stagenet.tendermint.mayachain.info",e.Optimism="https://mainnet.optimism.io",e.Polygon="https://polygon-rpc.com",e.THORChain="https://rpc.thorswap.net",e.THORChainStagenet="https://stagenet-rpc.ninerealms.com",e))(be||{}),H=(e=>(e.Cosmos="https://node-router.thorswap.net/cosmos/rest",e.Kujira="https://lcd-kujira.synergynodes.com/",e.MayanodeMainnet="https://mayanode.mayachain.info",e.MayanodeStagenet="https://stagenet.mayanode.mayachain.info",e.ThornodeMainnet="https://thornode.thorswap.net",e.ThornodeStagenet="https://stagenet-thornode.ninerealms.com",e.ThorswapApi="https://api.thorswap.finance",e.ThorswapStatic="https://static.thorswap.net",e))(H||{});const ie=Object.values(i),Ct=Object.keys(i),we=ie.reduce((e,t)=>{const n=Ct.find(a=>i[a]===t);return n&&(e[t]=n),e},{}),qe=ie.reduce((e,t)=>(e[t]=se[we[t]],e),{}),We=ie.reduce((e,t)=>(e[t]=be[we[t]],e),{}),Mt=ie.reduce((e,t)=>{const n=`${we[t]}Hex`;return e[t]=se[n],e},{}),Nt={"0xa4b1":"ARB",42161:"ARB","0xa86a":"AVAX",43114:"AVAX","0x38":"BSC",56:"BSC","Binance-Chain-Tigris":"BNB",bitcoincash:"BCH",bitcoin:"BTC","cosmoshub-4":"GAIA",dogecoin:"DOGE","0x1":"ETH","kaiyo-1":"KUJI",1:"ETH",litecoin:"LTC","mayachain-stagenet-v1":"MAYA","mayachain-mainnet-v1":"MAYA","0xa":"OP",10:"OP","0x89":"MATIC",137:"MATIC","thorchain-stagenet-v2":"THOR","thorchain-mainnet-v1":"THOR"},Ae={ARB:"https://arbiscan.io",AVAX:"https://snowtrace.io",BSC:"https://bscscan.com",BNB:"https://explorer.binance.org",BCH:"https://www.blockchain.com/bch",BTC:"https://blockstream.info",GAIA:"https://cosmos.bigdipper.live",DOGE:"https://blockchair.com/dogecoin",KUJI:"https://finder.kujira.network/kaiyo-1",ETH:"https://etherscan.io",LTC:"https://ltc.bitaps.com",MAYA:"https://www.mayascan.org",OP:"https://optimistic.etherscan.io",MATIC:"https://polygonscan.com",THOR:"https://viewblock.io/thorchain"};var je=(e=>(e[e.NoError=36864]="NoError",e))(je||{}),h=(e=>(e.BOND="BOND",e.DEPOSIT="+",e.LEAVE="LEAVE",e.THORNAME_REGISTER="~",e.UNBOND="UNBOND",e.WITHDRAW="-",e.OPEN_LOAN="$+",e.CLOSE_LOAN="$-",e))(h||{}),U=(e=>(e.Average="average",e.Fast="fast",e.Fastest="fastest",e))(U||{}),Ke=(e=>(e.KEYSTORE="KEYSTORE",e.XDEFI="XDEFI",e.METAMASK="METAMASK",e.COINBASE_WEB="COINBASE_WEB",e.TREZOR="TREZOR",e.TRUSTWALLET_WEB="TRUSTWALLET_WEB",e.LEDGER="LEDGER",e.KEPLR="KEPLR",e.OKX="OKX",e.BRAVE="BRAVE",e.WALLETCONNECT="WALLETCONNECT",e))(Ke||{}),xt=Object.defineProperty,Dt=(e,t,n)=>t in e?xt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t,n)=>(Dt(e,typeof t!="symbol"?t+"":t,n),n),Pt=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},Y=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},D=(e,t,n)=>(Pt(e,t,"access private method"),n);const Bt="0x313ce567",Ye=async({chain:e,to:t})=>{try{const{result:n}=await re.post(We[e],{headers:{accept:"*/*","content-type":"application/json","cache-control":"no-cache"},body:JSON.stringify({id:44,jsonrpc:"2.0",method:"eth_call",params:[{to:t.toLowerCase(),data:Bt},"latest"]})});return parseInt(BigInt(n).toString())}catch(n){return console.error(n),b[e]}},Lt=async e=>{if(e===i.Ethereum)return b.ETH;const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Ye({chain:i.Ethereum,to:t}):b.ETH},Vt=async e=>{const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Ye({chain:i.Avalanche,to:t.toLowerCase()}):b.AVAX},Ut=async e=>(e===i.BinanceSmartChain,b.BSC),Xe=async({chain:e,symbol:t})=>{switch(e){case i.Ethereum:return Lt(t);case i.Avalanche:return Vt(t);case i.BinanceSmartChain:return Ut(t);default:return b[e]}},Je={[U.Average]:1.2,[U.Fast]:1.5,[U.Fastest]:2},Ee=({chain:e,symbol:t})=>{switch(e){case i.Bitcoin:case i.BitcoinCash:case i.Litecoin:case i.Dogecoin:case i.Binance:case i.Ethereum:case i.Avalanche:return t===e;case i.Arbitrum:case i.Optimism:return t==="ETH";case i.Maya:return t==="CACAO";case i.Kujira:return t==="KUJI";case i.Cosmos:return t==="ATOM";case i.Polygon:return t==="MATIC";case i.BinanceSmartChain:return t==="BNB";case i.THORChain:return t==="RUNE"}},Qe=e=>{switch(e){case"ETH.THOR":return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case"ETH.vTHOR":return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case i.Cosmos:return{identifier:"GAIA.ATOM",decimal:b[e]};case i.THORChain:return{identifier:"THOR.RUNE",decimal:b[e]};case i.BinanceSmartChain:return{identifier:"BSC.BNB",decimal:b[e]};case i.Maya:return{identifier:"MAYA.CACAO",decimal:b.MAYA};case"MAYA.MAYA":return{identifier:"MAYA.MAYA",decimal:4};case i.Kujira:case i.Arbitrum:case i.Optimism:case i.BitcoinCash:case i.Litecoin:case i.Dogecoin:case i.Binance:case i.Avalanche:case i.Polygon:case i.Bitcoin:case i.Ethereum:return{identifier:`${e}.${e}`,decimal:b[e]}}},ze=({chain:e,symbol:t})=>{if(t.includes("/"))return"Synth";switch(e){case i.Bitcoin:case i.BitcoinCash:case i.Dogecoin:case i.Litecoin:case i.Maya:case i.THORChain:return"Native";case i.Cosmos:return t==="ATOM"?"Native":i.Cosmos;case i.Kujira:return t===i.Kujira?"Native":i.Kujira;case i.Binance:return t===i.Binance?"Native":"BEP2";case i.BinanceSmartChain:return t===i.Binance?"Native":"BEP20";case i.Ethereum:return t===i.Ethereum?"Native":"ERC20";case i.Avalanche:return t===i.Avalanche?"Native":i.Avalanche;case i.Polygon:return t===i.Polygon?"Native":"POLYGON";case i.Arbitrum:return[i.Ethereum,i.Arbitrum].includes(t)?"Native":"ARBITRUM";case i.Optimism:return[i.Ethereum,i.Optimism].includes(t)?"Native":"OPTIMISM"}},Ht=e=>{var t;const[n,...a]=e.split("."),s=e.includes("/"),r=a.join("."),o=(t=r==null?void 0:r.split("-"))==null?void 0:t[0];return{chain:n,symbol:r,ticker:o,synth:s}},$t=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),kt=e=>{const[t,n]=e.split(".");if(!Ge.includes(t))return!0;const[,a]=n.split("-");return Ee({chain:t,symbol:n})||!!a},Ft=e=>e.filter(t=>{const n=`${t.chain}.${t.symbol}`;return!$t.test(n)&&kt(n)&&t.value!=="0"}),Ze=({liquidityUnits:e,poolUnits:t,runeDepth:n})=>{const a=R(e),s=R(t),r=R(n),o=a.mul(r),p=s.mul(s).mul(2),d=s.mul(a).mul(2),l=a.mul(a),u=s.mul(s).mul(s);return o.mul(p.sub(d).add(l)).div(u)},et=({liquidityUnits:e,poolUnits:t,assetDepth:n})=>{const a=R(e),s=R(t),r=R(n),o=a.mul(r),p=s.mul(s).mul(2),d=s.mul(a).mul(2),l=a.mul(a),u=o.mul(p.sub(d).add(l)),c=s.mul(s).mul(s);return u.div(c)},Gt=({percent:e,runeDepth:t,liquidityUnits:n,poolUnits:a})=>Ze({runeDepth:t,liquidityUnits:n,poolUnits:a}).mul(e),qt=({percent:e,assetDepth:t,liquidityUnits:n,poolUnits:a})=>et({assetDepth:t,liquidityUnits:n,poolUnits:a}).mul(e),R=e=>N.fromBigInt(BigInt(e),b.THOR),tt=({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})=>({assetAmount:R(a).mul(e).div(t),runeAmount:R(n).mul(e).div(t)}),Wt=({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a,percent:s})=>Object.fromEntries(Object.entries(tt({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})).map(([r,o])=>[r,o.mul(s)])),jt=({runeDepth:e,poolUnits:t,assetDepth:n,liquidityUnits:a,runeAmount:s,assetAmount:r})=>{const o=new N({value:e,decimal:8}),p=new N({value:n,decimal:8}),d=new N({value:t,decimal:8}),l=new N({value:s,decimal:8}),u=new N({value:r,decimal:8}),c=l.mul(p),_=u.mul(o),w=l.mul(u),A=o.mul(p),E=d.mul(c.add(_.add(w.mul(2)))),g=c.add(_.add(A.mul(2))),O=E.div(g),x=R(a).add(O);if(O.getBaseValue("number")===0)return x.div(d).getBaseValue("number");const oe=d.add(x);return x.div(oe).getBaseValue("number")},Kt=({runeAmount:e,assetAmount:t,runeDepth:n,assetDepth:a})=>{if(e==="0"||t==="0"||n==="0"||a==="0")return 0;const s=R(n),r=R(a),o=R(t),p=R(e),d=o.mul(s).sub(r.mul(p)),l=r.mul(p).add(s.mul(r));return Math.abs(d.div(l).getBaseValue("number"))},Yt=({symbol:e,ticker:t,chain:n})=>n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,C=(e,t)=>{switch(e){case h.LEAVE:case h.BOND:{const{address:n}=t;return`${e}:${n}`}case h.UNBOND:{const{address:n,unbondAmount:a}=t;return`${e}:${n}:${a*10**8}`}case h.THORNAME_REGISTER:{const{name:n,chain:a,address:s,owner:r}=t;return`${e}:${n}:${a}:${s}${r?`:${r}`:""}`}case h.DEPOSIT:{const{chain:n,symbol:a,address:s,singleSide:r}=t;return r?`${e}:${n}/${a}::t:0`:`${e}:${n}.${a}:${s||""}:t:0`}case h.WITHDRAW:{const{chain:n,ticker:a,symbol:s,basisPoints:r,targetAssetString:o,singleSide:p}=t,d=!p&&o?`:${o}`:"",l=Yt({chain:n,symbol:s,ticker:a});return`${e}:${n}${p?"/":"."}${l}:${r}${d}`}case h.OPEN_LOAN:case h.CLOSE_LOAN:{const{asset:n,address:a}=t;return`${e}:${n}:${a}`}default:return""}},Xt=e=>{if(e<0)throw new Error("Invalid number of year");return 10+e},Jt=e=>{if(e.length>30)return!1;const t=/^[a-zA-Z0-9+_-]+$/g;return!!e.match(t)},Qt=([e,t,n,a,s])=>`${e}'/${t}'/${n}'/${a}${typeof s!="number"?"":`/${s}`}`;class ge extends Error{constructor(t,n,a){const s=t.status||t.status===0?t.status:"",r=t.statusText||"",o=`${s} ${r}`.trim(),p=o?`status code ${o}`:"an unknown error";super(`Request failed with ${p}`),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="HTTPError",this.response=t,this.request=n,this.options=a}}class nt extends Error{constructor(t){super("Request timed out"),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.request=t}}const J=e=>e!==null&&typeof e=="object",X=(...e)=>{for(const t of e)if((!J(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return Re({},...e)},at=(e={},t={})=>{const n=new globalThis.Headers(e),a=t instanceof globalThis.Headers,s=new globalThis.Headers(t);for(const[r,o]of s.entries())a&&o==="undefined"||o===void 0?n.delete(r):n.set(r,o);return n},Re=(...e)=>{let t={},n={};for(const a of e)if(Array.isArray(a))Array.isArray(t)||(t=[]),t=[...t,...a];else if(J(a)){for(let[s,r]of Object.entries(a))J(r)&&s in t&&(r=Re(t[s],r)),t={...t,[s]:r};J(a.headers)&&(n=at(n,a.headers),t.headers=n)}return t},zt=(()=>{let e=!1,t=!1;const n=typeof globalThis.ReadableStream=="function",a=typeof globalThis.Request=="function";return n&&a&&(t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")),e&&!t})(),Zt=typeof globalThis.AbortController=="function",en=typeof globalThis.ReadableStream=="function",tn=typeof globalThis.FormData=="function",st=["get","post","put","patch","head","delete"],nn={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},ue=2147483647,it=Symbol("stop"),an={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},sn={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0},rn=e=>st.includes(e)?e.toUpperCase():e,on=["get","put","head","delete","options","trace"],pn=[408,413,429,500,502,503,504],rt=[413,429,503],Oe={limit:2,methods:on,statusCodes:pn,afterStatusCodes:rt,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},dn=(e={})=>{if(typeof e=="number")return{...Oe,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...Oe,...e,afterStatusCodes:rt}};async function un(e,t,n,a){return new Promise((s,r)=>{const o=setTimeout(()=>{n&&n.abort(),r(new nt(e))},a.timeout);a.fetch(e,t).then(s).catch(r).then(()=>{clearTimeout(o)})})}async function ln(e,{signal:t}){return new Promise((n,a)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",s,{once:!0}));function s(){clearTimeout(r),a(t.reason)}const r=setTimeout(()=>{t==null||t.removeEventListener("abort",s),n()},e)})}const yn=(e,t)=>{const n={};for(const a in t)!(a in sn)&&!(a in an)&&!(a in e)&&(n[a]=t[a]);return n};class Z{static create(t,n){const a=new Z(t,n),s=async()=>{if(typeof a._options.timeout=="number"&&a._options.timeout>ue)throw new RangeError(`The \`timeout\` option cannot be greater than ${ue}`);await Promise.resolve();let o=await a._fetch();for(const p of a._options.hooks.afterResponse){const d=await p(a.request,a._options,a._decorateResponse(o.clone()));d instanceof globalThis.Response&&(o=d)}if(a._decorateResponse(o),!o.ok&&a._options.throwHttpErrors){let p=new ge(o,a.request,a._options);for(const d of a._options.hooks.beforeError)p=await d(p);throw p}if(a._options.onDownloadProgress){if(typeof a._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!en)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return a._stream(o.clone(),a._options.onDownloadProgress)}return o},r=a._options.retry.methods.includes(a.request.method.toLowerCase())?a._retry(s):s();for(const[o,p]of Object.entries(nn))r[o]=async()=>{a.request.headers.set("accept",a.request.headers.get("accept")||p);const d=(await r).clone();if(o==="json"){if(d.status===204||(await d.clone().arrayBuffer()).byteLength===0)return"";if(n.parseJson)return n.parseJson(await d.text())}return d[o]()};return r}constructor(t,n={}){if(Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_retryCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._input=t,this._options={credentials:this._input.credentials||"same-origin",...n,headers:at(this._input.headers,n.headers),hooks:Re({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:rn(n.method??this._input.method),prefixUrl:String(n.prefixUrl||""),retry:dn(n.retry),throwHttpErrors:n.throwHttpErrors!==!1,timeout:n.timeout??1e4,fetch:n.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Zt){if(this.abortController=new globalThis.AbortController,this._options.signal){const a=this._options.signal;this._options.signal.addEventListener("abort",()=>{this.abortController.abort(a.reason)})}this._options.signal=this.abortController.signal}if(zt&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const a="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);(tn&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(s,{...this.request}),this._options)}this._options.json!==void 0&&(this._options.body=JSON.stringify(this._options.json),this.request.headers.set("content-type",this._options.headers.get("content-type")??"application/json"),this.request=new globalThis.Request(this.request,{body:this._options.body}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<this._options.retry.limit&&!(t instanceof nt)){if(t instanceof ge){if(!this._options.retry.statusCodes.includes(t.response.status))return 0;const a=t.response.headers.get("Retry-After");if(a&&this._options.retry.afterStatusCodes.includes(t.response.status)){let s=Number(a);return Number.isNaN(s)?s=Date.parse(a)-Date.now():s*=1e3,this._options.retry.maxRetryAfter!==void 0&&s>this._options.retry.maxRetryAfter?0:s}if(t.response.status===413)return 0}const n=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,n)}return 0}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(n){const a=Math.min(this._calculateRetryDelay(n),ue);if(a!==0&&this._retryCount>0){await ln(a,{signal:this._options.signal});for(const s of this._options.hooks.beforeRetry)if(await s({request:this.request,options:this._options,error:n,retryCount:this._retryCount})===it)return;return this._retry(t)}throw n}}async _fetch(){for(const n of this._options.hooks.beforeRequest){const a=await n(this.request,this._options);if(a instanceof Request){this.request=a;break}if(a instanceof Response)return a}const t=yn(this.request,this._options);return this._options.timeout===!1?this._options.fetch(this.request.clone(),t):un(this.request.clone(),t,this.abortController,this._options)}_stream(t,n){const a=Number(t.headers.get("content-length"))||0;let s=0;return t.status===204?(n&&n({percent:1,totalBytes:a,transferredBytes:s},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(r){const o=t.body.getReader();n&&n({percent:0,transferredBytes:0,totalBytes:a},new Uint8Array);async function p(){const{done:d,value:l}=await o.read();if(d){r.close();return}if(n){s+=l.byteLength;const u=a===0?0:s/a;n({percent:u,transferredBytes:s,totalBytes:a},l)}r.enqueue(l),await p()}await p()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}/*! MIT License © Sindre Sorhus */const le=e=>{const t=(n,a)=>Z.create(n,X(e,a));for(const n of st)t[n]=(a,s)=>Z.create(a,X(e,s,{method:n}));return t.create=n=>le(X(n)),t.extend=n=>le(X(e,n)),t.stop=it,t},cn=le(),mn=cn,Tn=typeof window<"u"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},Ie=mn.create({headers:Tn}),re={get:(e,t)=>Ie.get(e,t).json(),post:(e,t)=>Ie.post(e,t).json()},Se=Object.values(i),hn=(e="")=>{const t=e.toUpperCase(),[n]=t.split(".");if(Se.includes(n))return!0;const[a]=t.split("/");if(Se.includes(a))return!0;throw new Error(`Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`)},G=8,B=e=>10n**BigInt(e),F=e=>Math.log10(parseFloat(e.toString()));function K({value:e,bigIntDecimal:t=G,decimal:n=G}){const a=e<0n;let s=e.toString().substring(a?1:0);const r=n-(s.length-1);r>0&&(s="0".repeat(r)+s);const o=s.length-n;let p=s.slice(-n);return parseInt(p[t])>=5?p=`${p.substring(0,t-1)}${(parseInt(p[t-1])+1).toString()}`:p=p.substring(0,t),`${a?"-":""}${s.slice(0,o)}.${p}`.replace(/\.?0*$/,"")}var V,k,ye,ot,ce,ve,ee,me;const _n=class pt{constructor(t){Y(this,V),Y(this,ye),Y(this,ce),Y(this,ee),M(this,"decimalMultiplier",10n**8n),M(this,"bigIntValue",0n),M(this,"decimal");const n=Te(t),a=typeof t=="object";this.decimal=a?t.decimal:void 0,this.decimalMultiplier=a&&"decimalMultiplier"in t?t.decimalMultiplier:B(Math.max(dt(ne(n)),this.decimal||0)),D(this,ye,ot).call(this,n)}static fromBigInt(t,n){return new pt({decimal:n,value:K({value:t,bigIntDecimal:n,decimal:n})})}static shiftDecimals({value:t,from:n,to:a}){return this.fromBigInt(t.getBaseValue("bigint")*B(a)/B(n),a)}set(t){return new this.constructor({decimal:this.decimal,value:t,identifier:this.toString()})}add(...t){return D(this,V,k).call(this,"add",...t)}sub(...t){return D(this,V,k).call(this,"sub",...t)}mul(...t){return D(this,V,k).call(this,"mul",...t)}div(...t){return D(this,V,k).call(this,"div",...t)}gt(t){return this.bigIntValue>this.getBigIntValue(t)}gte(t){return this.bigIntValue>=this.getBigIntValue(t)}lt(t){return this.bigIntValue<this.getBigIntValue(t)}lte(t){return this.bigIntValue<=this.getBigIntValue(t)}eqValue(t){return this.bigIntValue===this.getBigIntValue(t)}getValue(t){const n=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||F(this.decimalMultiplier));switch(t){case"number":return Number(n);case"string":return n;case"bigint":return this.bigIntValue*10n**BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(t){const n=this.decimalMultiplier/B(this.decimal||b.THOR),a=this.bigIntValue/n;switch(t){case"number":return Number(a);case"string":return a.toString();case"bigint":return a}}getBigIntValue(t,n){if(!n&&typeof t=="object")return t.bigIntValue;const a=Te(t),s=ne(a);return s==="0"||s==="undefined"?0n:D(this,ee,me).call(this,s,n)}toSignificant(t=6){const[n,a]=this.getValue("string").split("."),s=n||"",r=a||"";if((parseInt(s)?s.length+r.length:r.length)<=t)return this.getValue("string");if(s.length>=t)return s.slice(0,t).padEnd(s.length,"0");if(parseInt(s))return`${s}.${r.slice(0,t-s.length)}`.padEnd(t-s.length,"0");const o=parseInt(r),p=`${o}`.slice(0,t);return`0.${p.padStart(r.length-`${o}`.length+p.length,"0")}`}toFixed(t=6){const[n,a]=this.getValue("string").split("."),s=n||"",r=a||"";if(parseInt(s))return`${s}.${r.slice(0,t)}`.padEnd(t,"0");const o=parseInt(r),p=`${o}`.slice(0,t);return`0.${p.padStart(r.length-`${o}`.length+p.length,"0")}`}toAbbreviation(t=2){const n=this.getValue("number"),a=["","K","M","B","T","Q","Qi","S"],s=Math.floor(Math.log10(Math.abs(n))/3),r=a[s];if(!r)return this.getValue("string");const o=10**(s*3);return`${(n/o).toFixed(t)}${r}`}toCurrency(t="$",{currencyPosition:n="start",decimal:a=2,decimalSeparator:s=".",thousandSeparator:r=","}={}){const o=this.getValue("number"),[p,d=""]=o.toFixed(6).split("."),l=p.replace(/\B(?=(\d{3})+(?!\d))/g,r),u=!p&&!d?"0.00":p==="0"?`${parseFloat(`0.${d}`)}`.replace(".",s):`${l}${parseInt(d)?`${s}${d.slice(0,a)}`:""}`;return`${n==="start"?t:""}${u}${n==="end"?t:""}`}formatBigIntToSafeValue(t,n){const a=n||this.decimal||G,s=Math.max(a,F(this.decimalMultiplier)),r=t<0n,o=t.toString().substring(r?1:0),p=s-(o.length-1),d=p>0?"0".repeat(p)+o:o,l=d.length-s;let u=d.slice(-s);return parseInt(u[a])>=5?u=`${u.substring(0,a-1)}${(parseInt(u[a-1])+1).toString()}`:u=u.substring(0,a),`${r?"-":""}${d.slice(0,l)}.${u}`.replace(/\.?0*$/,"")}};V=new WeakSet,k=function(e,...t){const n=D(this,ce,ve).call(this,this,...t),a=Math.max(n,F(this.decimalMultiplier)),s=B(a),r=t.reduce((p,d)=>{const l=this.getBigIntValue(d,a);switch(e){case"add":return p+l;case"sub":return p-l;case"mul":return p*l/s;case"div":{if(l===0n)throw new RangeError("Division by zero");return p*s/l}default:return p}},this.bigIntValue*s/this.decimalMultiplier),o=K({bigIntDecimal:a,decimal:a,value:r});return new this.constructor({decimalMultiplier:B(a),decimal:this.decimal,value:o,identifier:this.toString()})},ye=new WeakSet,ot=function(e){const t=ne(e)||"0";this.bigIntValue=D(this,ee,me).call(this,t)},ce=new WeakSet,ve=function(...e){const t=e.map(n=>typeof n=="object"?n.decimal||F(n.decimalMultiplier):dt(ne(n))).filter(Boolean);return Math.max(...t,G)},ee=new WeakSet,me=function(e,t){const n=t?B(t):this.decimalMultiplier,a=F(n),[s="",r=""]=e.split(".");return BigInt(`${s}${r.padEnd(a,"0")}`)};let te=_n;const fn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function ne(e){const t=`${typeof e=="number"?fn.format(e):Te(e)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]}function dt(e){var t;const n=((t=e.split(".")[1])==null?void 0:t.length)||0;return Math.max(n,G)}function Te(e){return typeof e=="object"?"getValue"in e?e.getValue("string"):e.value:e}const Q=(e,t)=>typeof e=="bigint"?K({value:e,bigIntDecimal:t,decimal:t}):e;let he;const Ce=e=>{if(!he)throw new Error("Static assets not loaded, call await AssetValue.loadStaticAssets() first");return he.get(e.toUpperCase())||{decimal:b.THOR,identifier:""}},Me=async(e,t=0)=>{hn(e);const n=await Xe(_e(e)),a=Q(t,n);return new S({decimal:n,value:a,identifier:e})};class S extends te{constructor(t){const n="identifier"in t?t.identifier:`${t.chain}.${t.symbol}`;super(t.value instanceof te?t.value:{decimal:t.decimal,value:t.value}),M(this,"address"),M(this,"isSynthetic",!1),M(this,"isGasAsset",!1),M(this,"chain"),M(this,"symbol"),M(this,"ticker"),M(this,"type");const a=_e(n);this.type=ze(a),this.chain=a.chain,this.ticker=a.ticker,this.symbol=a.symbol,this.address=a.address,this.isSynthetic=a.isSynthetic,this.isGasAsset=a.isGasAsset}toString(t=!1){const n=this.isSynthetic?this.symbol.split("-")[0]:this.ticker;return t?n:`${this.chain}.${this.symbol}`}eq({chain:t,symbol:n}){return this.chain===t&&this.symbol===n}static async fromString(t,n=0){return Me(t,n)}static fromStringSync(t,n=0){const{isSynthetic:a}=_e(t),{decimal:s,identifier:r}=Ce(t),o=Q(n,s);return r?new S({decimal:s,identifier:r,value:o}):a?new S({decimal:8,identifier:t,value:o}):void 0}static async fromIdentifier(t,n=0){return Me(t,n)}static fromIdentifierSync(t,n=0){const{decimal:a,identifier:s}=Ce(t),r=Q(n,a);return new S({decimal:a,identifier:s,value:r})}static fromChainOrSignature(t,n=0){const{decimal:a,identifier:s}=Qe(t),r=Q(n,a);return new S({value:r,decimal:a,identifier:s})}static async loadStaticAssets(){return new Promise(async(t,n)=>{try{const{ThorchainList:a,NativeList:s,...r}=await import("@swapkit/tokens");he=[s,...Object.values(r)].reduce((o,{tokens:p})=>(p.forEach(({identifier:d,chain:l,...u})=>{const c="decimals"in u?u.decimals:b[l];o.set(d,{identifier:d,decimal:c})}),o),new Map),t({ok:!0})}catch(a){console.error(a),n({ok:!1,error:a,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}}const z=e=>{const t=S.fromChainOrSignature(e);switch(e){case i.Bitcoin:case i.Litecoin:case i.BitcoinCash:return t.set(10001e-8);case i.Dogecoin:return t.set(1.00000001);case i.Avalanche:case i.Ethereum:return t.set(1e-8);case i.THORChain:case i.Maya:return t.set(0);default:return t.set(1e-8)}},_e=e=>{const t=e.slice(0,14).includes("/"),[n,a]=e.split(".").pop().split("/"),s=e.includes(".")&&!t?e:`${i.THORChain}.${a}`,[r,o]=s.split("."),[p,d]=(t?a:o).split("-");return{address:d==null?void 0:d.toLowerCase(),chain:r,isGasAsset:Ee({chain:r,symbol:o}),isSynthetic:t,symbol:(t?`${n}/`:"")+(d?`${p}-${(d==null?void 0:d.toLowerCase())??""}`:o),ticker:p}},bn={core_wallet_connection_not_found:10001,core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_chain_halted:10099,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_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_rune_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_no_rune_address:10306,core_transaction_add_liquidity_rune_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_deposit_server_error:10313,wallet_ledger_connection_error:20001,helpers_number_different_decimals:99101};class m extends Error{constructor(t,n){console.error(n),super(t,{cause:{code:bn[t],message:t}}),Object.setPrototypeOf(this,m.prototype)}}class N extends te{eq(t){return this.eqValue(t)}static fromBigInt(t,n){return new N({decimal:n,value:K({value:t,bigIntDecimal:n,decimal:n})})}}const wn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"router",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],An=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"SwapOut",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IWoofi",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],En=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"swapRouter",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Rn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"router",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],gn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_wbnb",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"SwapOut",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IPancakeRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wbnb",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],On=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2AVAX",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],In=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Sn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2AVAX",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],vn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Cn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"address",name:"_legToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"legToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Mn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Nn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],xn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Dn=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],ut={["0x7C38b8B2efF28511ECc14a621e263857Fb5771d3".toLowerCase()]:wn,["0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c".toLowerCase()]:En,["0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2".toLowerCase()]:Rn},Pn={...ut,["0x942c6dA485FD6cEf255853ef83a149d43A73F18a".toLowerCase()]:On,["0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a".toLowerCase()]:An,["0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212".toLowerCase()]:Sn,["0x30912B38618D3D37De3191A4FFE982C65a9aEC2E".toLowerCase()]:gn,["0xbf365e79aA44A2164DA135100C57FDB6635ae870".toLowerCase()]:In,["0x86904Eb2b3c743400D03f929F2246EfA80B91215".toLowerCase()]:vn,["0x3660dE6C56cFD31998397652941ECe42118375DA".toLowerCase()]:Cn,["0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8".toLowerCase()]:Mn,["0xe4ddca21881bac219af7f217703db0475d2a9f02".toLowerCase()]:Nn,["0x11733abf0cdb43298f7e949c930188451a9a9ef2".toLowerCase()]:xn,["0xb33874810e5395eb49d8bd7e912631db115d5a03".toLowerCase()]:Dn},Bn=({streamSwap:e,contractAddress:t,recipient:n,toChecksumAddress:a,calldata:{amount:s,amountOutMin:r="",data:o="",deadline:p,memo:d,router:l,memoStreamingSwap:u,tcMemo:c,tcRouter:_,tcVault:w,vault:A,token:E}})=>{const g=!!ut[t.toLowerCase()];if(g&&!l)throw new Error("Router is required on calldata for swapIn with GenericContract");const O=c||d,x=e&&u||O;if(!w&&!A)throw new Error("TC Vault is required on calldata");if(!_&&!l)throw new Error("TC Router is required on calldata");if(!x)throw new Error("TC Memo is required on calldata");if(!E)throw new Error("Token is required on calldata");const oe=[a(_||l),a(w||A),x.replace("{recipientAddress}",n),a(E),s],lt=g?[a(l),o,p]:[r,p];return[...oe,...lt]},Ln=({chain:e,txHash:t})=>{const n=Ae[e];switch(e){case i.Binance:case i.Bitcoin:case i.BitcoinCash:case i.Maya:case i.Kujira:case i.THORChain:return`${n}/tx/${t}`;case i.Arbitrum:case i.Avalanche:case i.BinanceSmartChain:case i.Ethereum:case i.Optimism:case i.Polygon:return`${n}/tx/${t.startsWith("0x")?t:`0x${t}`}`;case i.Cosmos:return`${n}/transactions/${t}`;case i.Dogecoin:return`${n}/transaction/${t.toLowerCase()}`;case i.Litecoin:return`${n}/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},Vn=({chain:e,address:t})=>{const n=Ae[e];switch(e){case i.Arbitrum:case i.Avalanche:case i.Binance:case i.BinanceSmartChain:case i.Bitcoin:case i.BitcoinCash:case i.Dogecoin:case i.Ethereum:case i.Maya:case i.Optimism:case i.Polygon:case i.Kujira:case i.THORChain:return`${n}/address/${t}`;case i.Cosmos:return`${n}/account/${t}`;case i.Litecoin:return`${n}/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},Un=e=>{const t=e?H.ThornodeStagenet:H.ThornodeMainnet;return re.get(`${t}/thorchain/inbound_addresses`)},Hn=e=>{const t=e?H.ThornodeStagenet:H.ThornodeMainnet;return re.get(`${t}/thorchain/mimir`)},Ne=()=>Object.values(i).reduce((e,t)=>(e[t]=null,e),{});var L,ae,q,I,W,j;class $n{constructor({stagenet:t}={}){T(this,"connectedChains",Ne());T(this,"connectedWallets",Ne());T(this,"stagenet",!1);T(this,"getAddress",t=>{var n;return((n=this.connectedChains[t])==null?void 0:n.address)||""});T(this,"getExplorerTxUrl",(t,n)=>Ln({chain:t,txHash:n}));T(this,"getWallet",t=>this.connectedWallets[t]);T(this,"getExplorerAddressUrl",(t,n)=>Vn({chain:t,address:n}));T(this,"getBalance",async(t,n)=>{const a=await this.getWalletByChain(t,n);return(a==null?void 0:a.balance)||[]});T(this,"swap",async({streamSwap:t,recipient:n,route:a,feeOptionKey:s})=>{var p,d;const{quoteMode:r}=a.meta,o=r.startsWith("ERC20-")?i.Ethereum:r.startsWith("ARC20-")?i.Avalanche:i.BinanceSmartChain;if(!a.complete)throw new m("core_swap_route_not_complete");try{if(Le.includes(r)){const l=this.connectedWallets[o];if(!(l!=null&&l.sendTransaction))throw new m("core_wallet_connection_not_found");if(!(t?(p=a==null?void 0:a.streamingSwap)==null?void 0:p.transaction:a==null?void 0:a.transaction))throw new m("core_swap_route_transaction_not_found");const{data:c,from:_,to:w,value:A}=a.transaction,E={data:c,from:_,to:w.toLowerCase(),chainId:BigInt(qe[o]),value:A?BigInt(A):0n};return l.sendTransaction(E,s)}if(Ue.includes(r)){if(!a.calldata.fromAsset)throw new m("core_swap_asset_not_recognized");const l=await S.fromString(a.calldata.fromAsset);if(!l)throw new m("core_swap_asset_not_recognized");const{address:u}=await f(this,L).call(this,l.chain),{contract:c,calldata:{expiration:_,amountIn:w,memo:A,memoStreamingSwap:E}}=a,g=l.add(N.fromBigInt(BigInt(w),l.decimal)),O=t&&E||A;return this.deposit({expiration:_,assetValue:g,memo:O,feeOptionKey:s,router:c,recipient:u})}if(Ve.includes(r)){const{calldata:l,contract:u}=a;if(!u)throw new m("core_swap_contract_not_found");const c=this.connectedWallets[o],_=this.getAddress(o);if(!(c!=null&&c.sendTransaction)||!_)throw new m("core_wallet_connection_not_found");const{getProvider:w,toChecksumAddress:A}=await import("@swapkit/toolbox-evm"),E=w(o),g=Pn[u.toLowerCase()];if(!g)throw new m("core_swap_contract_not_supported",{contractAddress:u});const x=await(await((d=c.createContract)==null?void 0:d.call(c,u,g,E))).getFunction("swapIn").populateTransaction(...Bn({streamSwap:t,toChecksumAddress:A,contractAddress:u,recipient:n,calldata:l}),{from:_});return c.sendTransaction(x,s)}throw new m("core_swap_quote_mode_not_supported",{quoteMode:r})}catch(l){throw new m("core_swap_transaction_error",l)}});T(this,"getWalletByChain",async(t,n)=>{var o,p;const a=this.getAddress(t);if(!a)return null;const s=[S.fromChainOrSignature(t)],r=(o=this.connectedChains[t])==null?void 0:o.walletType;try{const d=await((p=this.getWallet(t))==null?void 0:p.getBalance(a,n));return this.connectedChains[t]={address:a,balance:d!=null&&d.length?d:s,walletType:r},{...this.connectedChains[t]}}catch(d){return console.error(d),{address:a,balance:s,walletType:r}}});T(this,"approveAssetValue",(t,n)=>f(this,q).call(this,{assetValue:t,type:"approve",contractAddress:n}));T(this,"isAssetValueApproved",(t,n)=>f(this,q).call(this,{assetValue:t,contractAddress:n,type:"checkOnly"}));T(this,"validateAddress",({address:t,chain:n})=>{var a,s;return(s=(a=this.getWallet(n))==null?void 0:a.validateAddress)==null?void 0:s.call(a,t)});T(this,"transfer",async t=>{const n=this.connectedWallets[t.assetValue.chain];if(!n)throw new m("core_wallet_connection_not_found");try{return await n.transfer(f(this,j).call(this,t))}catch(a){throw new m("core_swap_transaction_error",a)}});T(this,"deposit",async({assetValue:t,recipient:n,router:a,...s})=>{const{chain:r,symbol:o,ticker:p}=t,d=this.connectedWallets[r];if(!d)throw new m("core_wallet_connection_not_found");const l=f(this,j).call(this,{assetValue:t,recipient:n,router:a,...s});try{switch(r){case i.THORChain:{const u=d;return await(n===""?u.deposit(l):u.transfer(l))}case i.Ethereum:case i.BinanceSmartChain:case i.Avalanche:{const{getChecksumAddressFromAsset:u}=await import("@swapkit/toolbox-evm"),c=r===i.Avalanche?De:r===i.BinanceSmartChain?Pe:xe;return await d.call({abi:c,contractAddress:a||(await f(this,L).call(this,r)).router,funcName:"depositWithExpiry",funcParams:[n,u({chain:r,symbol:o,ticker:p},r),t.getBaseValue("string"),l.memo,s.expiration||parseInt(`${(new Date().getTime()+15*60*1e3)/1e3}`)],txOverrides:{from:l.from,value:t.isGasAsset?t.getBaseValue("bigint"):void 0}})}default:return await d.transfer(l)}}catch(u){const c=((u==null?void 0:u.message)||(u==null?void 0:u.toString())).toLowerCase(),_=c==null?void 0:c.includes("insufficient funds"),w=c==null?void 0:c.includes("gas"),A=c==null?void 0:c.includes("server"),E=_?"core_transaction_deposit_insufficient_funds_error":w?"core_transaction_deposit_gas_error":A?"core_transaction_deposit_server_error":"core_transaction_deposit_error";throw new m(E,u)}});T(this,"createLiquidity",async({runeAssetValue:t,assetValue:n})=>{if(t.lte(0)||n.lte(0))throw new m("core_transaction_create_liquidity_invalid_params");let a="",s="";try{a=await f(this,I).call(this,{assetValue:t,memo:C(h.DEPOSIT,{...n,address:this.getAddress(n.chain)})})}catch(r){throw new m("core_transaction_create_liquidity_rune_error",r)}try{s=await f(this,I).call(this,{assetValue:n,memo:C(h.DEPOSIT,{...n,address:this.getAddress(i.THORChain)})})}catch(r){throw new m("core_transaction_create_liquidity_asset_error",r)}return{runeTx:a,assetTx:s}});T(this,"addLiquidity",async({runeAssetValue:t,assetValue:n,runeAddr:a,assetAddr:s,isPendingSymmAsset:r,mode:o="sym"})=>{const{chain:p,symbol:d}=n,l=o==="sym",u=(t==null?void 0:t.gt(0))&&(l||o==="rune"),c=(n==null?void 0:n.gt(0))&&(l||o==="asset"),_=r||u,w=_?a||this.getAddress(i.THORChain):"",A=l||o==="asset"?s||this.getAddress(p):"";if(!u&&!c)throw new m("core_transaction_add_liquidity_invalid_params");if(_&&!w)throw new m("core_transaction_add_liquidity_no_rune_address");let E,g;if(u&&t)try{E=await f(this,I).call(this,{assetValue:t,memo:C(h.DEPOSIT,{chain:p,symbol:d,address:A})})}catch(O){throw new m("core_transaction_add_liquidity_rune_error",O)}if(c&&n)try{g=await f(this,I).call(this,{assetValue:n,memo:C(h.DEPOSIT,{chain:p,symbol:d,address:w})})}catch(O){throw new m("core_transaction_add_liquidity_asset_error",O)}return{runeTx:E,assetTx:g}});T(this,"addLiquidityPart",({assetValue:t,poolAddress:n,address:a,symmetric:s})=>{if(s&&!a)throw new m("core_transaction_add_liquidity_invalid_params");return f(this,I).call(this,{assetValue:t,memo:`+:${n}:${a||""}:t:0`})});T(this,"withdraw",async({memo:t,assetValue:n,percent:a,from:s,to:r})=>{const o=r==="rune"?S.fromChainOrSignature(i.THORChain):s==="sym"&&r==="sym"||s==="rune"||s==="asset"?void 0:n,p=z(s==="asset"?n.chain:i.THORChain),d=t||C(h.WITHDRAW,{symbol:n.symbol,chain:n.chain,ticker:n.ticker,basisPoints:Math.max(1e4,Math.round(a*100)),targetAssetString:o==null?void 0:o.toString(),singleSide:!1});return f(this,I).call(this,{assetValue:p,memo:d})});T(this,"savings",async({assetValue:t,memo:n,percent:a,type:s})=>{const r=s==="add"?h.DEPOSIT:h.WITHDRAW,o=n||C(r,{ticker:t.ticker,symbol:t.symbol,chain:t.chain,singleSide:!0,basisPoints:a?Math.min(1e4,Math.round(a*100)):void 0}),p=r===h.DEPOSIT?t:z(t.chain);return f(this,I).call(this,{memo:o,assetValue:p})});T(this,"loan",({assetValue:t,memo:n,minAmount:a,type:s})=>f(this,I).call(this,{assetValue:t,memo:n||C(s==="open"?h.OPEN_LOAN:h.CLOSE_LOAN,{asset:t.toString(),minAmount:a.toString(),address:this.getAddress(t.chain)})}));T(this,"nodeAction",({type:t,assetValue:n,address:a})=>{const s=t==="bond"?h.BOND:t==="unbond"?h.UNBOND:h.LEAVE,r=C(s,{address:a,unbondAmount:t==="unbond"?n.getBaseValue("number"):void 0});return f(this,W).call(this,{memo:r,assetValue:t==="bond"?n:z(i.THORChain)})});T(this,"registerThorname",({assetValue:t,...n})=>f(this,W).call(this,{assetValue:t,memo:C(h.THORNAME_REGISTER,n)}));T(this,"extend",({wallets:t,config:n,apis:a={},rpcUrls:s={}})=>{try{t.forEach(r=>{this[r.connectMethodName]=r.connect({addChain:f(this,ae),config:n||{},apis:a,rpcUrls:s})})}catch(r){throw new m("core_extend_error",r)}});T(this,"estimateMaxSendableAmount",async({chain:t,params:n})=>{const a=this.getWallet(t);switch(t){case i.Arbitrum:case i.Avalanche:case i.BinanceSmartChain:case i.Ethereum:case i.Optimism:case i.Polygon:{const{estimateMaxSendableAmount:s}=await import("@swapkit/toolbox-evm");return s({...n,toolbox:a})}case i.Bitcoin:case i.BitcoinCash:case i.Dogecoin:case i.Litecoin:return a.estimateMaxSendableAmount(n);case i.Binance:case i.THORChain:case i.Cosmos:{const{estimateMaxSendableAmount:s}=await import("@swapkit/toolbox-cosmos");return s({...n,toolbox:a})}default:throw new m("core_estimated_max_spendable_chain_not_supported")}});T(this,"connectXDEFI",async t=>{throw new m("core_wallet_xdefi_not_installed")});T(this,"connectEVMWallet",async(t,n)=>{throw new m("core_wallet_evmwallet_not_installed")});T(this,"connectWalletconnect",async(t,n)=>{throw new m("core_wallet_walletconnect_not_installed")});T(this,"connectKeystore",async(t,n)=>{throw new m("core_wallet_keystore_not_installed")});T(this,"connectLedger",async(t,n)=>{throw new m("core_wallet_ledger_not_installed")});T(this,"connectTrezor",async(t,n)=>{throw new m("core_wallet_trezor_not_installed")});T(this,"connectKeplr",async t=>{throw new m("core_wallet_keplr_not_installed")});T(this,"connectOkx",async t=>{throw new m("core_wallet_okx_not_installed")});T(this,"disconnectChain",t=>{this.connectedChains[t]=null,this.connectedWallets[t]=null});P(this,L,async t=>{if(t===i.THORChain)return{gas_rate:"0",router:"0",address:"",halted:!1,chain:i.THORChain};const a=(await Un(this.stagenet)).find(s=>s.chain===t);if(!a)throw new m("core_inbound_data_not_found");if(a!=null&&a.halted)throw new m("core_chain_halted");return a});P(this,ae,({chain:t,wallet:n,walletMethods:a})=>{this.connectedChains[t]=n,this.connectedWallets[t]=a});P(this,q,async({assetValue:t,type:n="checkOnly",contractAddress:a})=>{const{address:s,chain:r,isGasAsset:o,isSynthetic:p}=t,d=[i.Ethereum,i.Avalanche,i.BinanceSmartChain].includes(r);if(d&&o||!d||p)return!0;const u=this.connectedWallets[r],c=n==="checkOnly"?u==null?void 0:u.isApproved:u==null?void 0:u.approve;if(!c)throw new m("core_wallet_connection_not_found");const _=this.getAddress(r);if(!s||!_)throw new m("core_approve_asset_address_or_from_not_found");const w=a||(await f(this,L).call(this,r)).router;return c({amount:t.getBaseValue("bigint"),assetAddress:s,from:_,spenderAddress:w})});P(this,I,async({assetValue:t,memo:n,feeOptionKey:a=U.Fast})=>{const{gas_rate:s,router:r,address:o}=await f(this,L).call(this,t.chain),p=(parseInt(s)||0)*Je[a];return this.deposit({assetValue:t,recipient:o,memo:n,router:r,feeRate:p})});P(this,W,async({memo:t,assetValue:n})=>{const a=await Hn(this.stagenet);if(a.HALTCHAINGLOBAL>=1||a.HALTTHORCHAIN>=1)throw new m("core_chain_halted");return this.deposit({assetValue:n,recipient:"",memo:t})});P(this,j,({assetValue:t,...n})=>({...n,memo:n.memo||"",from:this.getAddress(t.chain),assetValue:t}));this.stagenet=!!t}}L=new WeakMap,ae=new WeakMap,q=new WeakMap,I=new WeakMap,W=new WeakMap,j=new WeakMap;exports.AGG_SWAP=Le;exports.ApiError=gt;exports.ApiUrl=H;exports.AssetValue=S;exports.BaseDecimal=b;exports.BigIntArithmetics=te;exports.Chain=i;exports.ChainId=se;exports.ChainIdToChain=Nt;exports.ChainToChainId=qe;exports.ChainToExplorerUrl=Ae;exports.ChainToHexChainId=Mt;exports.ChainToRPC=We;exports.ContractAddress=ke;exports.CosmosChainList=St;exports.DerivationPath=Fe;exports.ERROR_CODE=y;exports.ERROR_MODULE=He;exports.ERROR_TYPE=fe;exports.EVMChainList=Ge;exports.ErrorCode=je;exports.FeeOption=U;exports.MemoType=h;exports.NetworkDerivationPath=Ot;exports.QuoteMode=Be;exports.RPCUrl=be;exports.RequestClient=re;exports.SWAP_IN=Ve;exports.SWAP_OUT=Ue;exports.SwapKitCore=$n;exports.SwapKitError=m;exports.SwapKitNumber=N;exports.TCAvalancheDepositABI=De;exports.TCBscDepositABI=Pe;exports.TCEthereumVaultAbi=xe;exports.TCSupportedChainList=vt;exports.UTXOChainList=It;exports.WalletOption=Ke;exports.assetFromString=Ht;exports.derivationPathToString=Qt;exports.erc20ABI=Et;exports.filterAssets=Ft;exports.formatBigIntToSafeValue=K;exports.gasFeeMultiplier=Je;exports.getAssetType=ze;exports.getAsymmetricAssetShare=et;exports.getAsymmetricAssetWithdrawAmount=qt;exports.getAsymmetricRuneShare=Ze;exports.getAsymmetricRuneWithdrawAmount=Gt;exports.getCommonAssetInfo=Qe;exports.getDecimal=Xe;exports.getEstimatedPoolShare=jt;exports.getLiquiditySlippage=Kt;exports.getMemoFor=C;exports.getMinAmountByChain=z;exports.getSymmetricPoolShare=tt;exports.getSymmetricWithdraw=Wt;exports.getTHORNameCost=Xt;exports.isGasAsset=Ee;exports.validateTHORName=Jt;
|
package/dist/index.es.js
CHANGED
|
@@ -682,7 +682,7 @@ const tt = {
|
|
|
682
682
|
n = n.replace(`{${a}}`, t[a]);
|
|
683
683
|
return t.length === 0 ? n.replace("{0}", "") : n;
|
|
684
684
|
};
|
|
685
|
-
class Se extends Error {
|
|
685
|
+
let _n = class Se extends Error {
|
|
686
686
|
constructor({
|
|
687
687
|
status: t,
|
|
688
688
|
revision: n,
|
|
@@ -723,9 +723,9 @@ class Se extends Error {
|
|
|
723
723
|
throw Error(t, { cause: this.stack });
|
|
724
724
|
return this.toErrorInfo();
|
|
725
725
|
}
|
|
726
|
-
}
|
|
726
|
+
};
|
|
727
727
|
var i = /* @__PURE__ */ ((e) => (e.Arbitrum = "ARB", e.Avalanche = "AVAX", e.Binance = "BNB", e.BinanceSmartChain = "BSC", e.Bitcoin = "BTC", e.BitcoinCash = "BCH", e.Cosmos = "GAIA", e.Dogecoin = "DOGE", e.Ethereum = "ETH", e.Kujira = "KUJI", e.Litecoin = "LTC", e.Maya = "MAYA", e.Optimism = "OP", e.Polygon = "MATIC", e.THORChain = "THOR", e))(i || {}), nt = /* @__PURE__ */ ((e) => (e.ARB = "0x0000000000000000000000000000000000000000", e.AVAX = "0x0000000000000000000000000000000000000000", e.ETH = "0x0000000000000000000000000000000000000000", e.BSC = "0x0000000000000000000000000000000000000000", e.MATIC = "0x0000000000000000000000000000000000001010", e.OP = "0x4200000000000000000000000000000000000042", e))(nt || {}), at = /* @__PURE__ */ ((e) => (e.ARB = "m/44'/60'/0'/0", e.AVAX = "m/44'/60'/0'/0", e.BCH = "m/44'/145'/0'/0", e.BNB = "m/44'/714'/0'/0", e.BSC = "m/44'/60'/0'/0", e.BTC = "m/84'/0'/0'/0", e.DOGE = "m/44'/3'/0'/0", e.ETH = "m/44'/60'/0'/0", e.GAIA = "m/44'/118'/0'/0", e.KUJI = "m/44'/118'/0'/0", e.LTC = "m/84'/2'/0'/0", e.MATIC = "m/44'/60'/0'/0", e.MAYA = "m/44'/931'/0'/0", e.OP = "m/44'/60'/0'/0", e.THOR = "m/44'/931'/0'/0", e))(at || {});
|
|
728
|
-
const
|
|
728
|
+
const fn = {
|
|
729
729
|
ARB: [44, 60, 0, 0, 0],
|
|
730
730
|
AVAX: [44, 60, 0, 0, 0],
|
|
731
731
|
BCH: [44, 145, 0, 0, 0],
|
|
@@ -751,18 +751,18 @@ const st = [
|
|
|
751
751
|
"OP",
|
|
752
752
|
"MATIC"
|
|
753
753
|
/* Polygon */
|
|
754
|
-
],
|
|
754
|
+
], bn = [
|
|
755
755
|
"BTC",
|
|
756
756
|
"BCH",
|
|
757
757
|
"DOGE",
|
|
758
758
|
"LTC"
|
|
759
759
|
/* Litecoin */
|
|
760
|
-
],
|
|
760
|
+
], wn = [
|
|
761
761
|
"GAIA",
|
|
762
762
|
"THOR",
|
|
763
763
|
"BNB"
|
|
764
764
|
/* Binance */
|
|
765
|
-
],
|
|
765
|
+
], An = [
|
|
766
766
|
"AVAX",
|
|
767
767
|
"BNB",
|
|
768
768
|
"BSC",
|
|
@@ -788,13 +788,13 @@ const ee = Object.values(i), it = Object.keys(i), Te = ee.reduce(
|
|
|
788
788
|
), ot = ee.reduce(
|
|
789
789
|
(e, t) => (e[t] = ve[Te[t]], e),
|
|
790
790
|
{}
|
|
791
|
-
),
|
|
791
|
+
), En = ee.reduce(
|
|
792
792
|
(e, t) => {
|
|
793
793
|
const n = `${Te[t]}Hex`;
|
|
794
794
|
return e[t] = me[n], e;
|
|
795
795
|
},
|
|
796
796
|
{}
|
|
797
|
-
),
|
|
797
|
+
), Rn = {
|
|
798
798
|
"0xa4b1": "ARB",
|
|
799
799
|
42161: "ARB",
|
|
800
800
|
"0xa86a": "AVAX",
|
|
@@ -971,7 +971,7 @@ const ct = "0x313ce567", Me = async ({ chain: e, to: t }) => {
|
|
|
971
971
|
case i.Optimism:
|
|
972
972
|
return [i.Ethereum, i.Optimism].includes(t) ? "Native" : "OPTIMISM";
|
|
973
973
|
}
|
|
974
|
-
},
|
|
974
|
+
}, gn = (e) => {
|
|
975
975
|
var t;
|
|
976
976
|
const [n, ...a] = e.split("."), s = e.includes("/"), r = a.join("."), o = (t = r == null ? void 0 : r.split("-")) == null ? void 0 : t[0];
|
|
977
977
|
return { chain: n, symbol: r, ticker: o, synth: s };
|
|
@@ -984,7 +984,7 @@ const ct = "0x313ce567", Me = async ({ chain: e, to: t }) => {
|
|
|
984
984
|
return !0;
|
|
985
985
|
const [, a] = n.split("-");
|
|
986
986
|
return Ne({ chain: t, symbol: n }) || !!a;
|
|
987
|
-
},
|
|
987
|
+
}, On = (e) => e.filter((t) => {
|
|
988
988
|
const n = `${t.chain}.${t.symbol}`;
|
|
989
989
|
return !At.test(n) && Et(n) && t.value !== "0";
|
|
990
990
|
}), Rt = ({
|
|
@@ -1001,12 +1001,12 @@ const ct = "0x313ce567", Me = async ({ chain: e, to: t }) => {
|
|
|
1001
1001
|
}) => {
|
|
1002
1002
|
const a = R(e), s = R(t), r = R(n), o = a.mul(r), p = s.mul(s).mul(2), d = s.mul(a).mul(2), l = a.mul(a), u = o.mul(p.sub(d).add(l)), c = s.mul(s).mul(s);
|
|
1003
1003
|
return u.div(c);
|
|
1004
|
-
},
|
|
1004
|
+
}, In = ({
|
|
1005
1005
|
percent: e,
|
|
1006
1006
|
runeDepth: t,
|
|
1007
1007
|
liquidityUnits: n,
|
|
1008
1008
|
poolUnits: a
|
|
1009
|
-
}) => Rt({ runeDepth: t, liquidityUnits: n, poolUnits: a }).mul(e),
|
|
1009
|
+
}) => Rt({ runeDepth: t, liquidityUnits: n, poolUnits: a }).mul(e), Sn = ({
|
|
1010
1010
|
percent: e,
|
|
1011
1011
|
assetDepth: t,
|
|
1012
1012
|
liquidityUnits: n,
|
|
@@ -1019,7 +1019,7 @@ const ct = "0x313ce567", Me = async ({ chain: e, to: t }) => {
|
|
|
1019
1019
|
}) => ({
|
|
1020
1020
|
assetAmount: R(a).mul(e).div(t),
|
|
1021
1021
|
runeAmount: R(n).mul(e).div(t)
|
|
1022
|
-
}),
|
|
1022
|
+
}), vn = ({
|
|
1023
1023
|
liquidityUnits: e,
|
|
1024
1024
|
poolUnits: t,
|
|
1025
1025
|
runeDepth: n,
|
|
@@ -1029,7 +1029,7 @@ const ct = "0x313ce567", Me = async ({ chain: e, to: t }) => {
|
|
|
1029
1029
|
Object.entries(Ot({ liquidityUnits: e, poolUnits: t, runeDepth: n, assetDepth: a })).map(
|
|
1030
1030
|
([r, o]) => [r, o.mul(s)]
|
|
1031
1031
|
)
|
|
1032
|
-
),
|
|
1032
|
+
), Cn = ({
|
|
1033
1033
|
runeDepth: e,
|
|
1034
1034
|
poolUnits: t,
|
|
1035
1035
|
assetDepth: n,
|
|
@@ -1042,7 +1042,7 @@ const ct = "0x313ce567", Me = async ({ chain: e, to: t }) => {
|
|
|
1042
1042
|
return x.div(d).getBaseValue("number");
|
|
1043
1043
|
const ne = d.add(x);
|
|
1044
1044
|
return x.div(ne).getBaseValue("number");
|
|
1045
|
-
},
|
|
1045
|
+
}, Mn = ({
|
|
1046
1046
|
runeAmount: e,
|
|
1047
1047
|
assetAmount: t,
|
|
1048
1048
|
runeDepth: n,
|
|
@@ -1087,16 +1087,16 @@ const ct = "0x313ce567", Me = async ({ chain: e, to: t }) => {
|
|
|
1087
1087
|
default:
|
|
1088
1088
|
return "";
|
|
1089
1089
|
}
|
|
1090
|
-
},
|
|
1090
|
+
}, Nn = (e) => {
|
|
1091
1091
|
if (e < 0)
|
|
1092
1092
|
throw new Error("Invalid number of year");
|
|
1093
1093
|
return 10 + e;
|
|
1094
|
-
},
|
|
1094
|
+
}, xn = (e) => {
|
|
1095
1095
|
if (e.length > 30)
|
|
1096
1096
|
return !1;
|
|
1097
1097
|
const t = /^[a-zA-Z0-9+_-]+$/g;
|
|
1098
1098
|
return !!e.match(t);
|
|
1099
|
-
},
|
|
1099
|
+
}, Dn = ([e, t, n, a, s]) => `${e}'/${t}'/${n}'/${a}${typeof s != "number" ? "" : `/${s}`}`;
|
|
1100
1100
|
class fe extends Error {
|
|
1101
1101
|
constructor(t, n, a) {
|
|
1102
1102
|
const s = t.status || t.status === 0 ? t.status : "", r = t.statusText || "", o = `${s} ${r}`.trim(), p = o ? `status code ${o}` : "an unknown error";
|
|
@@ -1458,7 +1458,7 @@ const re = (e) => {
|
|
|
1458
1458
|
throw new Error(
|
|
1459
1459
|
`Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`
|
|
1460
1460
|
);
|
|
1461
|
-
}, F = 8,
|
|
1461
|
+
}, F = 8, B = (e) => 10n ** BigInt(e), $ = (e) => Math.log10(parseFloat(e.toString()));
|
|
1462
1462
|
function te({
|
|
1463
1463
|
value: e,
|
|
1464
1464
|
bigIntDecimal: t = F,
|
|
@@ -1475,14 +1475,12 @@ function te({
|
|
|
1475
1475
|
""
|
|
1476
1476
|
);
|
|
1477
1477
|
}
|
|
1478
|
-
var
|
|
1478
|
+
var V, U, oe, Ve, pe, Ee, Q, de;
|
|
1479
1479
|
const Wt = class Ue {
|
|
1480
1480
|
constructor(t) {
|
|
1481
|
-
j(this,
|
|
1482
|
-
const n = le(t);
|
|
1483
|
-
this.decimal =
|
|
1484
|
-
Math.max(He(z(n)), this.decimal || 0)
|
|
1485
|
-
), D(this, oe, Ve).call(this, n);
|
|
1481
|
+
j(this, V), j(this, oe), j(this, pe), j(this, Q), v(this, "decimalMultiplier", 10n ** 8n), v(this, "bigIntValue", 0n), v(this, "decimal");
|
|
1482
|
+
const n = le(t), a = typeof t == "object";
|
|
1483
|
+
this.decimal = a ? t.decimal : void 0, this.decimalMultiplier = a && "decimalMultiplier" in t ? t.decimalMultiplier : B(Math.max(He(z(n)), this.decimal || 0)), D(this, oe, Ve).call(this, n);
|
|
1486
1484
|
}
|
|
1487
1485
|
static fromBigInt(t, n) {
|
|
1488
1486
|
return new Ue({
|
|
@@ -1496,7 +1494,7 @@ const Wt = class Ue {
|
|
|
1496
1494
|
to: a
|
|
1497
1495
|
}) {
|
|
1498
1496
|
return this.fromBigInt(
|
|
1499
|
-
t.getBaseValue("bigint") *
|
|
1497
|
+
t.getBaseValue("bigint") * B(a) / B(n),
|
|
1500
1498
|
a
|
|
1501
1499
|
);
|
|
1502
1500
|
}
|
|
@@ -1504,16 +1502,16 @@ const Wt = class Ue {
|
|
|
1504
1502
|
return new this.constructor({ decimal: this.decimal, value: t, identifier: this.toString() });
|
|
1505
1503
|
}
|
|
1506
1504
|
add(...t) {
|
|
1507
|
-
return D(this,
|
|
1505
|
+
return D(this, V, U).call(this, "add", ...t);
|
|
1508
1506
|
}
|
|
1509
1507
|
sub(...t) {
|
|
1510
|
-
return D(this,
|
|
1508
|
+
return D(this, V, U).call(this, "sub", ...t);
|
|
1511
1509
|
}
|
|
1512
1510
|
mul(...t) {
|
|
1513
|
-
return D(this,
|
|
1511
|
+
return D(this, V, U).call(this, "mul", ...t);
|
|
1514
1512
|
}
|
|
1515
1513
|
div(...t) {
|
|
1516
|
-
return D(this,
|
|
1514
|
+
return D(this, V, U).call(this, "div", ...t);
|
|
1517
1515
|
}
|
|
1518
1516
|
gt(t) {
|
|
1519
1517
|
return this.bigIntValue > this.getBigIntValue(t);
|
|
@@ -1530,6 +1528,7 @@ const Wt = class Ue {
|
|
|
1530
1528
|
eqValue(t) {
|
|
1531
1529
|
return this.bigIntValue === this.getBigIntValue(t);
|
|
1532
1530
|
}
|
|
1531
|
+
// @ts-expect-error False positive
|
|
1533
1532
|
getValue(t) {
|
|
1534
1533
|
const n = this.formatBigIntToSafeValue(
|
|
1535
1534
|
this.bigIntValue,
|
|
@@ -1540,18 +1539,19 @@ const Wt = class Ue {
|
|
|
1540
1539
|
return Number(n);
|
|
1541
1540
|
case "string":
|
|
1542
1541
|
return n;
|
|
1543
|
-
|
|
1544
|
-
return this.bigIntValue * BigInt(this.decimal || 8n) / this.decimalMultiplier;
|
|
1542
|
+
case "bigint":
|
|
1543
|
+
return this.bigIntValue * 10n ** BigInt(this.decimal || 8n) / this.decimalMultiplier;
|
|
1545
1544
|
}
|
|
1546
1545
|
}
|
|
1546
|
+
// @ts-expect-error
|
|
1547
1547
|
getBaseValue(t) {
|
|
1548
|
-
const n = this.decimalMultiplier /
|
|
1548
|
+
const n = this.decimalMultiplier / B(this.decimal || w.THOR), a = this.bigIntValue / n;
|
|
1549
1549
|
switch (t) {
|
|
1550
1550
|
case "number":
|
|
1551
1551
|
return Number(a);
|
|
1552
1552
|
case "string":
|
|
1553
1553
|
return a.toString();
|
|
1554
|
-
|
|
1554
|
+
case "bigint":
|
|
1555
1555
|
return a;
|
|
1556
1556
|
}
|
|
1557
1557
|
}
|
|
@@ -1561,17 +1561,6 @@ const Wt = class Ue {
|
|
|
1561
1561
|
const a = le(t), s = z(a);
|
|
1562
1562
|
return s === "0" || s === "undefined" ? 0n : D(this, Q, de).call(this, s, n);
|
|
1563
1563
|
}
|
|
1564
|
-
formatBigIntToSafeValue(t, n) {
|
|
1565
|
-
const a = n || this.decimal || F, s = Math.max(
|
|
1566
|
-
a,
|
|
1567
|
-
$(this.decimalMultiplier)
|
|
1568
|
-
), r = t < 0n, o = t.toString().substring(r ? 1 : 0), p = s - (o.length - 1), d = p > 0 ? "0".repeat(p) + o : o, l = d.length - s;
|
|
1569
|
-
let u = d.slice(-s);
|
|
1570
|
-
return parseInt(u[a]) >= 5 ? u = `${u.substring(0, a - 1)}${(parseInt(u[a - 1]) + 1).toString()}` : u = u.substring(0, a), `${r ? "-" : ""}${d.slice(
|
|
1571
|
-
0,
|
|
1572
|
-
l
|
|
1573
|
-
)}.${u}`.replace(/\.?0*$/, "");
|
|
1574
|
-
}
|
|
1575
1564
|
toSignificant(t = 6) {
|
|
1576
1565
|
const [n, a] = this.getValue("string").split("."), s = n || "", r = a || "";
|
|
1577
1566
|
if ((parseInt(s) ? s.length + r.length : r.length) <= t)
|
|
@@ -1615,45 +1604,59 @@ const Wt = class Ue {
|
|
|
1615
1604
|
const o = this.getValue("number"), [p, d = ""] = o.toFixed(6).split("."), l = p.replace(/\B(?=(\d{3})+(?!\d))/g, r), u = !p && !d ? "0.00" : p === "0" ? `${parseFloat(`0.${d}`)}`.replace(".", s) : `${l}${parseInt(d) ? `${s}${d.slice(0, a)}` : ""}`;
|
|
1616
1605
|
return `${n === "start" ? t : ""}${u}${n === "end" ? t : ""}`;
|
|
1617
1606
|
}
|
|
1607
|
+
formatBigIntToSafeValue(t, n) {
|
|
1608
|
+
const a = n || this.decimal || F, s = Math.max(
|
|
1609
|
+
a,
|
|
1610
|
+
$(this.decimalMultiplier)
|
|
1611
|
+
), r = t < 0n, o = t.toString().substring(r ? 1 : 0), p = s - (o.length - 1), d = p > 0 ? "0".repeat(p) + o : o, l = d.length - s;
|
|
1612
|
+
let u = d.slice(-s);
|
|
1613
|
+
return parseInt(u[a]) >= 5 ? u = `${u.substring(0, a - 1)}${(parseInt(u[a - 1]) + 1).toString()}` : u = u.substring(0, a), `${r ? "-" : ""}${d.slice(
|
|
1614
|
+
0,
|
|
1615
|
+
l
|
|
1616
|
+
)}.${u}`.replace(/\.?0*$/, "");
|
|
1617
|
+
}
|
|
1618
1618
|
};
|
|
1619
|
-
|
|
1620
|
-
const n = D(this, pe, Ee).call(this, this, ...t), a =
|
|
1621
|
-
(
|
|
1622
|
-
const
|
|
1619
|
+
V = /* @__PURE__ */ new WeakSet(), U = function(e, ...t) {
|
|
1620
|
+
const n = D(this, pe, Ee).call(this, this, ...t), a = Math.max(n, $(this.decimalMultiplier)), s = B(a), r = t.reduce(
|
|
1621
|
+
(p, d) => {
|
|
1622
|
+
const l = this.getBigIntValue(d, a);
|
|
1623
1623
|
switch (e) {
|
|
1624
1624
|
case "add":
|
|
1625
|
-
return
|
|
1625
|
+
return p + l;
|
|
1626
1626
|
case "sub":
|
|
1627
|
-
return
|
|
1627
|
+
return p - l;
|
|
1628
1628
|
case "mul":
|
|
1629
|
-
return
|
|
1629
|
+
return p * l / s;
|
|
1630
1630
|
case "div": {
|
|
1631
|
-
if (
|
|
1631
|
+
if (l === 0n)
|
|
1632
1632
|
throw new RangeError("Division by zero");
|
|
1633
|
-
return
|
|
1633
|
+
return p * s / l;
|
|
1634
1634
|
}
|
|
1635
1635
|
default:
|
|
1636
|
-
return
|
|
1636
|
+
return p;
|
|
1637
1637
|
}
|
|
1638
1638
|
},
|
|
1639
1639
|
//normalize is to precision multiplier base
|
|
1640
|
-
this.bigIntValue *
|
|
1641
|
-
),
|
|
1642
|
-
bigIntDecimal:
|
|
1643
|
-
decimal:
|
|
1644
|
-
value:
|
|
1640
|
+
this.bigIntValue * s / this.decimalMultiplier
|
|
1641
|
+
), o = te({
|
|
1642
|
+
bigIntDecimal: a,
|
|
1643
|
+
decimal: a,
|
|
1644
|
+
value: r
|
|
1645
|
+
});
|
|
1646
|
+
return new this.constructor({
|
|
1647
|
+
decimalMultiplier: B(a),
|
|
1648
|
+
decimal: this.decimal,
|
|
1649
|
+
value: o,
|
|
1650
|
+
identifier: this.toString()
|
|
1645
1651
|
});
|
|
1646
|
-
return new this.constructor({ decimal: this.decimal, value: r, identifier: this.toString() });
|
|
1647
1652
|
}, oe = /* @__PURE__ */ new WeakSet(), Ve = function(e) {
|
|
1648
1653
|
const t = z(e) || "0";
|
|
1649
1654
|
this.bigIntValue = D(this, Q, de).call(this, t);
|
|
1650
1655
|
}, pe = /* @__PURE__ */ new WeakSet(), Ee = function(...e) {
|
|
1651
|
-
const t = e.map(
|
|
1652
|
-
(n) => typeof n == "object" ? n.decimal || $(n.decimalMultiplier) : He(z(n))
|
|
1653
|
-
).filter(Boolean);
|
|
1656
|
+
const t = e.map((n) => typeof n == "object" ? n.decimal || $(n.decimalMultiplier) : He(z(n))).filter(Boolean);
|
|
1654
1657
|
return Math.max(...t, F);
|
|
1655
1658
|
}, Q = /* @__PURE__ */ new WeakSet(), de = function(e, t) {
|
|
1656
|
-
const n = t ?
|
|
1659
|
+
const n = t ? B(t) : this.decimalMultiplier, a = $(n), [s = "", r = ""] = e.split(".");
|
|
1657
1660
|
return BigInt(`${s}${r.padEnd(a, "0")}`);
|
|
1658
1661
|
};
|
|
1659
1662
|
let ue = Wt;
|
|
@@ -3660,8 +3663,8 @@ const Kt = [
|
|
|
3660
3663
|
(e, t) => (e[t] = null, e),
|
|
3661
3664
|
{}
|
|
3662
3665
|
);
|
|
3663
|
-
var
|
|
3664
|
-
class
|
|
3666
|
+
var L, Z, G, I, q, W;
|
|
3667
|
+
class Pn {
|
|
3665
3668
|
constructor({ stagenet: t } = {}) {
|
|
3666
3669
|
T(this, "connectedChains", Oe());
|
|
3667
3670
|
T(this, "connectedWallets", Oe());
|
|
@@ -3704,7 +3707,7 @@ class Dn {
|
|
|
3704
3707
|
const l = await C.fromString(a.calldata.fromAsset);
|
|
3705
3708
|
if (!l)
|
|
3706
3709
|
throw new m("core_swap_asset_not_recognized");
|
|
3707
|
-
const { address: u } = await f(this,
|
|
3710
|
+
const { address: u } = await f(this, L).call(this, l.chain), {
|
|
3708
3711
|
contract: c,
|
|
3709
3712
|
calldata: { expiration: _, amountIn: b, memo: A, memoStreamingSwap: E }
|
|
3710
3713
|
} = a, g = l.add(N.fromBigInt(BigInt(b), l.decimal)), O = t && E || A;
|
|
@@ -3799,7 +3802,7 @@ class Dn {
|
|
|
3799
3802
|
const { getChecksumAddressFromAsset: u } = await import("@swapkit/toolbox-evm"), c = r === i.Avalanche ? Ke : r === i.BinanceSmartChain ? Xe : Ye;
|
|
3800
3803
|
return await d.call({
|
|
3801
3804
|
abi: c,
|
|
3802
|
-
contractAddress: a || (await f(this,
|
|
3805
|
+
contractAddress: a || (await f(this, L).call(this, r)).router,
|
|
3803
3806
|
funcName: "depositWithExpiry",
|
|
3804
3807
|
funcParams: [
|
|
3805
3808
|
n,
|
|
@@ -4043,7 +4046,7 @@ class Dn {
|
|
|
4043
4046
|
T(this, "disconnectChain", (t) => {
|
|
4044
4047
|
this.connectedChains[t] = null, this.connectedWallets[t] = null;
|
|
4045
4048
|
});
|
|
4046
|
-
P(this,
|
|
4049
|
+
P(this, L, async (t) => {
|
|
4047
4050
|
if (t === i.THORChain)
|
|
4048
4051
|
return {
|
|
4049
4052
|
gas_rate: "0",
|
|
@@ -4076,7 +4079,7 @@ class Dn {
|
|
|
4076
4079
|
const _ = this.getAddress(r);
|
|
4077
4080
|
if (!s || !_)
|
|
4078
4081
|
throw new m("core_approve_asset_address_or_from_not_found");
|
|
4079
|
-
const b = a || (await f(this,
|
|
4082
|
+
const b = a || (await f(this, L).call(this, r)).router;
|
|
4080
4083
|
return c({
|
|
4081
4084
|
amount: t.getBaseValue("bigint"),
|
|
4082
4085
|
assetAddress: s,
|
|
@@ -4093,7 +4096,7 @@ class Dn {
|
|
|
4093
4096
|
gas_rate: s,
|
|
4094
4097
|
router: r,
|
|
4095
4098
|
address: o
|
|
4096
|
-
} = await f(this,
|
|
4099
|
+
} = await f(this, L).call(this, t.chain), p = (parseInt(s) || 0) * ft[a];
|
|
4097
4100
|
return this.deposit({
|
|
4098
4101
|
assetValue: t,
|
|
4099
4102
|
recipient: o,
|
|
@@ -4117,23 +4120,23 @@ class Dn {
|
|
|
4117
4120
|
this.stagenet = !!t;
|
|
4118
4121
|
}
|
|
4119
4122
|
}
|
|
4120
|
-
|
|
4123
|
+
L = new WeakMap(), Z = new WeakMap(), G = new WeakMap(), I = new WeakMap(), q = new WeakMap(), W = new WeakMap();
|
|
4121
4124
|
export {
|
|
4122
4125
|
Qe as AGG_SWAP,
|
|
4123
|
-
|
|
4126
|
+
_n as ApiError,
|
|
4124
4127
|
k as ApiUrl,
|
|
4125
4128
|
C as AssetValue,
|
|
4126
4129
|
w as BaseDecimal,
|
|
4127
4130
|
ue as BigIntArithmetics,
|
|
4128
4131
|
i as Chain,
|
|
4129
4132
|
me as ChainId,
|
|
4130
|
-
|
|
4133
|
+
Rn as ChainIdToChain,
|
|
4131
4134
|
rt as ChainToChainId,
|
|
4132
4135
|
Ce as ChainToExplorerUrl,
|
|
4133
|
-
|
|
4136
|
+
En as ChainToHexChainId,
|
|
4134
4137
|
ot as ChainToRPC,
|
|
4135
4138
|
nt as ContractAddress,
|
|
4136
|
-
|
|
4139
|
+
wn as CosmosChainList,
|
|
4137
4140
|
at as DerivationPath,
|
|
4138
4141
|
y as ERROR_CODE,
|
|
4139
4142
|
et as ERROR_MODULE,
|
|
@@ -4142,41 +4145,41 @@ export {
|
|
|
4142
4145
|
pt as ErrorCode,
|
|
4143
4146
|
H as FeeOption,
|
|
4144
4147
|
h as MemoType,
|
|
4145
|
-
|
|
4148
|
+
fn as NetworkDerivationPath,
|
|
4146
4149
|
Je as QuoteMode,
|
|
4147
4150
|
ve as RPCUrl,
|
|
4148
4151
|
_e as RequestClient,
|
|
4149
4152
|
ze as SWAP_IN,
|
|
4150
4153
|
Ze as SWAP_OUT,
|
|
4151
|
-
|
|
4154
|
+
Pn as SwapKitCore,
|
|
4152
4155
|
m as SwapKitError,
|
|
4153
4156
|
N as SwapKitNumber,
|
|
4154
4157
|
Ke as TCAvalancheDepositABI,
|
|
4155
4158
|
Xe as TCBscDepositABI,
|
|
4156
4159
|
Ye as TCEthereumVaultAbi,
|
|
4157
|
-
|
|
4158
|
-
|
|
4160
|
+
An as TCSupportedChainList,
|
|
4161
|
+
bn as UTXOChainList,
|
|
4159
4162
|
dt as WalletOption,
|
|
4160
|
-
|
|
4161
|
-
|
|
4163
|
+
gn as assetFromString,
|
|
4164
|
+
Dn as derivationPathToString,
|
|
4162
4165
|
hn as erc20ABI,
|
|
4163
|
-
|
|
4166
|
+
On as filterAssets,
|
|
4164
4167
|
te as formatBigIntToSafeValue,
|
|
4165
4168
|
ft as gasFeeMultiplier,
|
|
4166
4169
|
wt as getAssetType,
|
|
4167
4170
|
gt as getAsymmetricAssetShare,
|
|
4168
|
-
|
|
4171
|
+
Sn as getAsymmetricAssetWithdrawAmount,
|
|
4169
4172
|
Rt as getAsymmetricRuneShare,
|
|
4170
|
-
|
|
4173
|
+
In as getAsymmetricRuneWithdrawAmount,
|
|
4171
4174
|
bt as getCommonAssetInfo,
|
|
4172
4175
|
_t as getDecimal,
|
|
4173
|
-
|
|
4174
|
-
|
|
4176
|
+
Cn as getEstimatedPoolShare,
|
|
4177
|
+
Mn as getLiquiditySlippage,
|
|
4175
4178
|
M as getMemoFor,
|
|
4176
4179
|
ie as getMinAmountByChain,
|
|
4177
4180
|
Ot as getSymmetricPoolShare,
|
|
4178
|
-
|
|
4179
|
-
|
|
4181
|
+
vn as getSymmetricWithdraw,
|
|
4182
|
+
Nn as getTHORNameCost,
|
|
4180
4183
|
Ne as isGasAsset,
|
|
4181
|
-
|
|
4184
|
+
xn as validateTHORName
|
|
4182
4185
|
};
|
package/package.json
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "swapkit-oss-team",
|
|
3
3
|
"dependencies": {
|
|
4
|
-
"@swapkit/types": "1.0.0-rc.
|
|
5
|
-
"@swapkit/helpers": "1.0.0-rc.
|
|
4
|
+
"@swapkit/types": "1.0.0-rc.17",
|
|
5
|
+
"@swapkit/helpers": "1.0.0-rc.36"
|
|
6
6
|
},
|
|
7
7
|
"description": "SwapKit Lib core",
|
|
8
8
|
"devDependencies": {
|
|
9
|
-
"@vitest/coverage-istanbul": "0.34.
|
|
10
|
-
"ethers": "6.
|
|
11
|
-
"vite": "4.
|
|
9
|
+
"@vitest/coverage-istanbul": "0.34.6",
|
|
10
|
+
"ethers": "6.9.0",
|
|
11
|
+
"vite": "4.5.0",
|
|
12
12
|
"vite-plugin-top-level-await": "1.3.1",
|
|
13
13
|
"vite-plugin-wasm": "3.2.2",
|
|
14
|
-
"vitest": "0.34.
|
|
15
|
-
"@internal/config": "0.0.0-rc.
|
|
16
|
-
"@swapkit/api": "1.0.0-rc.
|
|
17
|
-
"@swapkit/tokens": "1.0.0-rc.
|
|
18
|
-
"@swapkit/toolbox-cosmos": "1.0.0-rc.
|
|
19
|
-
"@swapkit/toolbox-evm": "1.0.0-rc.
|
|
20
|
-
"@swapkit/toolbox-utxo": "1.0.0-rc.
|
|
14
|
+
"vitest": "0.34.6",
|
|
15
|
+
"@internal/config": "0.0.0-rc.3",
|
|
16
|
+
"@swapkit/api": "1.0.0-rc.17",
|
|
17
|
+
"@swapkit/tokens": "1.0.0-rc.18",
|
|
18
|
+
"@swapkit/toolbox-cosmos": "1.0.0-rc.38",
|
|
19
|
+
"@swapkit/toolbox-evm": "1.0.0-rc.38",
|
|
20
|
+
"@swapkit/toolbox-utxo": "1.0.0-rc.38"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@swapkit/api": "1.0.0-rc.
|
|
24
|
-
"@swapkit/tokens": "1.0.0-rc.
|
|
25
|
-
"@swapkit/toolbox-cosmos": "1.0.0-rc.
|
|
26
|
-
"@swapkit/toolbox-evm": "1.0.0-rc.
|
|
27
|
-
"@swapkit/toolbox-utxo": "1.0.0-rc.
|
|
23
|
+
"@swapkit/api": "1.0.0-rc.17",
|
|
24
|
+
"@swapkit/tokens": "1.0.0-rc.18",
|
|
25
|
+
"@swapkit/toolbox-cosmos": "1.0.0-rc.38",
|
|
26
|
+
"@swapkit/toolbox-evm": "1.0.0-rc.38",
|
|
27
|
+
"@swapkit/toolbox-utxo": "1.0.0-rc.38"
|
|
28
28
|
},
|
|
29
29
|
"eslintConfig": {
|
|
30
30
|
"extends": "../../../internal/eslint-config"
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"repository": "https://github.com/thorswap/SwapKit.git",
|
|
53
53
|
"type": "module",
|
|
54
54
|
"types": "./dist/index.d.ts",
|
|
55
|
-
"version": "1.0.0-rc.
|
|
55
|
+
"version": "1.0.0-rc.44",
|
|
56
56
|
"scripts": {
|
|
57
57
|
"build": "NODE_OPTIONS=--max_old_space_size=16384 vite build",
|
|
58
58
|
"clean": "rm -rf dist vite.config.ts.* .turbo node_modules",
|
package/src/client/index.ts
CHANGED
|
@@ -79,8 +79,8 @@ export class SwapKitCore<T = ''> {
|
|
|
79
79
|
const evmChain = quoteMode.startsWith('ERC20-')
|
|
80
80
|
? Chain.Ethereum
|
|
81
81
|
: quoteMode.startsWith('ARC20-')
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
? Chain.Avalanche
|
|
83
|
+
: Chain.BinanceSmartChain;
|
|
84
84
|
|
|
85
85
|
if (!route.complete) throw new SwapKitError('core_swap_route_not_complete');
|
|
86
86
|
|
|
@@ -240,8 +240,8 @@ export class SwapKitCore<T = ''> {
|
|
|
240
240
|
chain === Chain.Avalanche
|
|
241
241
|
? TCAvalancheDepositABI
|
|
242
242
|
: chain === Chain.BinanceSmartChain
|
|
243
|
-
|
|
244
|
-
|
|
243
|
+
? TCBscDepositABI
|
|
244
|
+
: TCEthereumVaultAbi;
|
|
245
245
|
|
|
246
246
|
const response = await (
|
|
247
247
|
walletInstance as EVMWallet<typeof AVAXToolbox | typeof ETHToolbox | typeof BSCToolbox>
|
|
@@ -278,10 +278,10 @@ export class SwapKitCore<T = ''> {
|
|
|
278
278
|
const errorKey: Keys = isInsufficientFunds
|
|
279
279
|
? 'core_transaction_deposit_insufficient_funds_error'
|
|
280
280
|
: isGas
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
281
|
+
? 'core_transaction_deposit_gas_error'
|
|
282
|
+
: isServer
|
|
283
|
+
? 'core_transaction_deposit_server_error'
|
|
284
|
+
: 'core_transaction_deposit_error';
|
|
285
285
|
|
|
286
286
|
throw new SwapKitError(errorKey, error);
|
|
287
287
|
}
|
|
@@ -423,8 +423,8 @@ export class SwapKitCore<T = ''> {
|
|
|
423
423
|
to === 'rune'
|
|
424
424
|
? AssetValue.fromChainOrSignature(Chain.THORChain)
|
|
425
425
|
: (from === 'sym' && to === 'sym') || from === 'rune' || from === 'asset'
|
|
426
|
-
|
|
427
|
-
|
|
426
|
+
? undefined
|
|
427
|
+
: assetValue;
|
|
428
428
|
|
|
429
429
|
const value = getMinAmountByChain(from === 'asset' ? assetValue.chain : Chain.THORChain);
|
|
430
430
|
const memoString =
|