@swapkit/core 1.0.0-rc.98 → 1.0.0-rc.99
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.cjs.map +1 -1
- package/dist/index.es.js +356 -333
- package/dist/index.es.js.map +1 -1
- package/package.json +10 -10
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var xt=Object.create;var fe=Object.defineProperty;var Bt=Object.getOwnPropertyDescriptor;var Lt=Object.getOwnPropertyNames;var Vt=Object.getPrototypeOf,Ht=Object.prototype.hasOwnProperty;var Ft=(e,t,n)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ut=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Lt(t))!Ht.call(e,i)&&i!==n&&fe(e,i,{get:()=>t[i],enumerable:!(a=Bt(t,i))||a.enumerable});return e};var X=(e,t,n)=>(n=e!=null?xt(Vt(e)):{},Ut(t||!e||!e.__esModule?fe(n,"default",{value:e,enumerable:!0}):n,e));var b=(e,t,n)=>(Ft(e,typeof t!="symbol"?t+"":t,n),n),Wt=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var A=(e,t,n)=>(Wt(e,t,"read from private field"),n?n.call(e):t.get(e)),V=(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 $t=Object.defineProperty,qt=(e,t,n)=>t in e?$t(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,P=(e,t,n)=>(qt(e,typeof t!="symbol"?t+"":t,n),n);const Gt=[{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"}],je=[{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"}],Ke=[{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"}],Ye=[{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 Qe=(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))(Qe||{});const Je=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],Ze=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],ze=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var Ie=(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))(Ie||{}),et=(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))(et||{}),o=(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_MAX_500="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.SWAP_AMOUNT_TOO_LOW="2012",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))(o||{});const Xt={[o.INVALID_INPUT_PARAMETERS]:"Invalid input parameters: {0}.",[o.UNKNOWN_PROVIDERS]:"Unknown providers: {0}.",[o.CANNOT_FIND_INBOUND_ADDRESS]:"Cannot find inbound address.",[o.NO_INBOUND_ADDRESSES]:"No inbound addresses.",[o.CHAIN_HALTED_OR_UNSUPPORTED]:"Chain {0} halted or unsupported.",[o.MISSING_INPUT_PARAMETER]:"Missing input parameter: {0}.",[o.INVALID_TYPE_GENERIC]:"Invalid type",[o.INVALID_NUMBER_STRING]:"Invalid number string.",[o.INVALID_NUMBER]:"Invalid number.",[o.INVALID_BOOLEAN]:"Invalid boolean.",[o.INVALID_OBJECT]:"Invalid object.",[o.INVALID_ARRAY]:"Invalid array.",[o.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Sell amount must be a positive integer.",[o.SELL_BUY_ASSETS_ARE_THE_SAME]:"Sell and buy assets are the same.",[o.MISSING_SOURCE_ADDRESS_FOR_SYNTH]:"Source address is required for synth quote.",[o.AFF_ADDRESS_AND_BPS_OR_NEITHER]:"Must provide affiliateAddress and affiliateBasisPoints params, or neither.",[o.AFF_ADDRESS_TOO_LONG]:"affiliateAddress too long: 4 characters max.",[o.AFF_BPS_INTEGER_MAX_500]:"affiliateBasisPoints must be an integer between 0 and 100.",[o.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]:"Source address {0} invalid for sell chain.",[o.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:"Destination address {0} invalid for buy chain.",[o.PREFERRED_PROVIDER_NOT_SUPPORTED]:"Preferred provider not supported.",[o.SOURCE_ADDRESS_SMART_CONTRACT]:"Source address is a smart contract.",[o.SWAP_AMOUNT_TOO_LOW]:"Swap amount too low for this pair.",[o.DESTINATION_ADDRESS_SMART_CONTRACT]:"Destination address is a smart contract.",[o.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Buy amount must be a positive integer.",[o.INVALID_PROVIDER]:"Invalid provider {0}.",[o.MISSING_CROSS_CHAIN_PROVIDER]:"Missing cross-chain provider.",[o.MISSING_AVAX_PROVIDER]:"Missing AVAX provider.",[o.MISSING_BSC_PROVIDER]:"Missing BSC provider.",[o.MISSING_ETH_PROVIDER]:"Missing ETH provider.",[o.MISSING_ARB_PROVIDER]:"Missing ARB provider.",[o.INVALID_PROVIDER_FOR_SWAP_OUT]:"Invalid provider for swap out.",[o.INVALID_CHAIN]:"Invalid chain {0}.",[o.INVALID_ASSET]:"Invalid asset {0}.",[o.UNSUPPORTED_CHAIN]:"Unsupported chain {0}.",[o.UNSUPPORTED_ASSET]:"Unsupported asset {0}.",[o.UNSUPPORTED_ASSET_FOR_SWAPOUT]:"Unsupported asset {0} for swap out.",[o.THORNODE_QUOTE_GENERIC_ERROR]:"ThorNode quote generic error.",[o.INVALID_SOURCE_ADDRESS]:"Invalid source address {0}",[o.INVALID_DESTINATION_ADDRESS]:"Invalid destination address {0}",[o.NOT_ENOUGH_SYNTH_BALANCE]:"Source address doesn't have enough synth balance for this quote.",[o.SYNTH_MINTING_CAP_REACHED]:"Synth minting cap reached.",[o.INVALID_QUOTE_MODE]:"Invalid quote mode.",[o.NO_QUOTES]:"No quotes to service this request.",[o.SERVICE_UNAVAILABLE_GENERIC]:"Service unavailable.",[o.MISSING_GAS_DATA_GENERIC]:"Missing gas data.",[o.MISSING_TOKEN_INFO_GENERIC]:"Missing token info.",[o.CANT_FIND_TOKEN_LIST]:"Can't find tokenlist {0}.",[o.NO_PRICE]:"No price for asset {0}.",[o.PRICE_IS_STALE]:"Price is stale for asset {0}.",[o.ADDRESS_NOT_WHITELISTED]:"Address {0} not whitelisted for airdrop.",[o.ADDRESS_ALREADY_CLAIMED]:"Address {0} already claimed the airdrop."},Ae=(e,t)=>{let n=Xt[e];if(!n)return"";for(let a=0;a<t.length;a++)n=(n==null?void 0:n.replace(`{${a}}`,t[a]))??"";return n};let jt=class tt extends Error{constructor({status:t,revision:n,module:a,code:i,message:s,type:p,options:{shouldLog:u,shouldThrow:y,shouldTrace:l}={shouldLog:!0,shouldThrow:!0,shouldTrace:!0},displayMessageParams:m}){const c=s||Ae(i,m||[])||"";super(c),P(this,"status"),P(this,"revision"),P(this,"type"),P(this,"module"),P(this,"code"),P(this,"message"),P(this,"display"),P(this,"stack"),P(this,"options"),P(this,"displayMessageParams"),this.status=t,this.revision=n||"NO_REVISION",this.module=a,this.message=c,this.display=Ae(i,m||[]),this.code=i,this.type=p||Ie.UNHANDLED_ERROR,this.options={shouldLog:u||!0,shouldTrace:l||!0,shouldThrow:y||!1},this.displayMessageParams=m||[],this.options.shouldTrace&&Error.captureStackTrace(this)}static fromErrorInfo(t){return new tt(t)}toErrorInfo(){return{...this,identifier:this.identifier}}get identifier(){return`${this.revision}-${this.type||"NO_TYPE"}-${this.module}-${this.code}`}get displayMessage(){return Ae(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 r=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dash="DASH",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polkadot="DOT",e.Chainflip="FLIP",e.Polygon="MATIC",e.THORChain="THOR",e))(r||{}),nt=(e=>(e.ARB="0x0000000000000000000000000000000000000000",e.AVAX="0x0000000000000000000000000000000000000000",e.ETH="0x0000000000000000000000000000000000000000",e.BSC="0x0000000000000000000000000000000000000000",e.MATIC="0x0000000000000000000000000000000000001010",e.OP="0x4200000000000000000000000000000000000042",e))(nt||{}),at=(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.DASH="m/44'/5'/0'/0",e.DOGE="m/44'/3'/0'/0",e.DOT="////",e.ETH="m/44'/60'/0'/0",e.FLIP="////",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||{});const Kt={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BNB:[44,714,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],THOR:[44,931,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var h=(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.DOT=10]="DOT",e[e.ETH=18]="ETH",e[e.FLIP=18]="FLIP",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[e.ZEC=8]="ZEC",e))(h||{});const Yt=["DOT","FLIP"],it=["ETH","AVAX","BSC","ARB","OP","MATIC"],st=it,rt=["BTC","BCH","DASH","DOGE","LTC"],Qt=rt,pt=["GAIA","THOR","BNB"],Jt=pt,ut=["AVAX","BNB","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"],Zt=ut;var me=(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.Chainflip="chainflip",e.Cosmos="cosmoshub-4",e.Dash="dash",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.Polkadot="polkadot",e.Polygon="137",e.PolygonHex="0x89",e.THORChain="thorchain-mainnet-v1",e.THORChainStagenet="thorchain-stagenet-v2",e))(me||{}),ge=(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.Chainflip="wss://mainnet-archive.chainflip.io",e.Cosmos="https://node-router.thorswap.net/cosmos/rpc",e.Dash="https://node-router.thorswap.net/dash",e.Dogecoin="https://node-router.thorswap.net/dogecoin",e.Ethereum="https://node-router.thorswap.net/ethereum",e.Kujira="https://rpc-kujira.synergynodes.com/",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.Polkadot="wss://rpc.polkadot.io",e.Polygon="https://polygon-rpc.com",e.THORChain="https://rpc.thorswap.net",e.THORChainStagenet="https://stagenet-rpc.ninerealms.com",e))(ge||{}),G=(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.net",e.ThorswapStatic="https://static.thorswap.net",e))(G||{});const Te=Object.values(r),zt=Object.keys(r),Ce=Te.reduce((e,t)=>{const n=zt.find(a=>r[a]===t);return n&&(e[t]=n),e},{}),ve=Te.reduce((e,t)=>(e[t]=me[Ce[t]],e),{}),yt=Te.reduce((e,t)=>(e[t]=ge[Ce[t]],e),{}),en=Te.reduce((e,t)=>{const n=`${Ce[t]}Hex`;return e[t]=me[n],e},{}),tn={"0xa4b1":"ARB",42161:"ARB","0xa86a":"AVAX",43114:"AVAX","0x38":"BSC",56:"BSC","Binance-Chain-Tigris":"BNB",bitcoincash:"BCH",bitcoin:"BTC",chainflip:"FLIP","cosmoshub-4":"GAIA",dash:"DASH",dogecoin:"DOGE","0x1":"ETH","kaiyo-1":"KUJI",1:"ETH",litecoin:"LTC","mayachain-stagenet-v1":"MAYA","mayachain-mainnet-v1":"MAYA","0xa":"OP",10:"OP",polkadot:"DOT","0x89":"MATIC",137:"MATIC","thorchain-stagenet-v2":"THOR","thorchain-mainnet-v1":"THOR"},Ne={ARB:"https://arbiscan.io",AVAX:"https://snowtrace.io",BSC:"https://bscscan.com",BNB:"https://explorer.binance.org",BCH:"https://www.blockchair.com/bitcoin-cash",BTC:"https://blockchair.com/bitcoin",FLIP:"https://explorer.polkascan.io/polkadot",GAIA:"https://cosmos.bigdipper.live",DASH:"https://blockchair.com/dash",DOGE:"https://blockchair.com/dogecoin",KUJI:"https://finder.kujira.network/kaiyo-1",ETH:"https://etherscan.io",LTC:"https://blockchair.com/litecoin",MAYA:"https://www.mayascan.org",OP:"https://optimistic.etherscan.io",DOT:"https://explorer.polkascan.io/polkadot",MATIC:"https://polygonscan.com",THOR:"https://runescan.io"};var f=(e=>(e.BOND="BOND",e.DEPOSIT="+",e.LEAVE="LEAVE",e.THORNAME_REGISTER="~",e.UNBOND="UNBOND",e.WITHDRAW="-",e.OPEN_LOAN="$+",e.CLOSE_LOAN="$-",e))(f||{}),q=(e=>(e.Average="average",e.Fast="fast",e.Fastest="fastest",e))(q||{}),ot=(e=>(e.KEYSTORE="KEYSTORE",e.KEEPKEY="KEEPKEY",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.OKX_MOBILE="OKX_MOBILE",e.BRAVE="BRAVE",e.WALLETCONNECT="WALLETCONNECT",e))(ot||{}),dt=(e=>(e[e.NoError=36864]="NoError",e[e.LockedDevice=21781]="LockedDevice",e[e.TC_NotFound=65535]="TC_NotFound",e))(dt||{}),nn=Object.defineProperty,an=(e,t,n)=>t in e?nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,v=(e,t,n)=>(an(e,typeof t!="symbol"?t+"":t,n),n),sn=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},j=(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)},M=(e,t,n)=>(sn(e,t,"access private method"),n),d=(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_MAX_500="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.SWAP_AMOUNT_TOO_LOW="2012",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))(d||{});d.INVALID_INPUT_PARAMETERS+"",d.UNKNOWN_PROVIDERS+"",d.CANNOT_FIND_INBOUND_ADDRESS+"",d.NO_INBOUND_ADDRESSES+"",d.CHAIN_HALTED_OR_UNSUPPORTED+"",d.MISSING_INPUT_PARAMETER+"",d.INVALID_TYPE_GENERIC+"",d.INVALID_NUMBER_STRING+"",d.INVALID_NUMBER+"",d.INVALID_BOOLEAN+"",d.INVALID_OBJECT+"",d.INVALID_ARRAY+"",d.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER+"",d.SELL_BUY_ASSETS_ARE_THE_SAME+"",d.MISSING_SOURCE_ADDRESS_FOR_SYNTH+"",d.AFF_ADDRESS_AND_BPS_OR_NEITHER+"",d.AFF_ADDRESS_TOO_LONG+"",d.AFF_BPS_INTEGER_MAX_500+"",d.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN+"",d.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN+"",d.PREFERRED_PROVIDER_NOT_SUPPORTED+"",d.SOURCE_ADDRESS_SMART_CONTRACT+"",d.SWAP_AMOUNT_TOO_LOW+"",d.DESTINATION_ADDRESS_SMART_CONTRACT+"",d.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER+"",d.INVALID_PROVIDER+"",d.MISSING_CROSS_CHAIN_PROVIDER+"",d.MISSING_AVAX_PROVIDER+"",d.MISSING_BSC_PROVIDER+"",d.MISSING_ETH_PROVIDER+"",d.MISSING_ARB_PROVIDER+"",d.INVALID_PROVIDER_FOR_SWAP_OUT+"",d.INVALID_CHAIN+"",d.INVALID_ASSET+"",d.UNSUPPORTED_CHAIN+"",d.UNSUPPORTED_ASSET+"",d.UNSUPPORTED_ASSET_FOR_SWAPOUT+"",d.THORNODE_QUOTE_GENERIC_ERROR+"",d.INVALID_SOURCE_ADDRESS+"",d.INVALID_DESTINATION_ADDRESS+"",d.NOT_ENOUGH_SYNTH_BALANCE+"",d.SYNTH_MINTING_CAP_REACHED+"",d.INVALID_QUOTE_MODE+"",d.NO_QUOTES+"",d.SERVICE_UNAVAILABLE_GENERIC+"",d.MISSING_GAS_DATA_GENERIC+"",d.MISSING_TOKEN_INFO_GENERIC+"",d.CANT_FIND_TOKEN_LIST+"",d.NO_PRICE+"",d.PRICE_IS_STALE+"",d.ADDRESS_NOT_WHITELISTED+"",d.ADDRESS_ALREADY_CLAIMED+"";var ce=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dash="DASH",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polkadot="DOT",e.Chainflip="FLIP",e.Polygon="MATIC",e.THORChain="THOR",e))(ce||{}),De=(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.Chainflip="chainflip",e.Cosmos="cosmoshub-4",e.Dash="dash",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.Polkadot="polkadot",e.Polygon="137",e.PolygonHex="0x89",e.THORChain="thorchain-mainnet-v1",e.THORChainStagenet="thorchain-stagenet-v2",e))(De||{}),lt=(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.Chainflip="wss://mainnet-archive.chainflip.io",e.Cosmos="https://node-router.thorswap.net/cosmos/rpc",e.Dash="https://node-router.thorswap.net/dash",e.Dogecoin="https://node-router.thorswap.net/dogecoin",e.Ethereum="https://node-router.thorswap.net/ethereum",e.Kujira="https://rpc-kujira.synergynodes.com/",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.Polkadot="wss://rpc.polkadot.io",e.Polygon="https://polygon-rpc.com",e.THORChain="https://rpc.thorswap.net",e.THORChainStagenet="https://stagenet-rpc.ninerealms.com",e))(lt||{}),L=(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.net",e.ThorswapStatic="https://static.thorswap.net",e))(L||{});const be=Object.values(ce),rn=Object.keys(ce),Pe=be.reduce((e,t)=>{const n=rn.find(a=>ce[a]===t);return n&&(e[t]=n),e},{});be.reduce((e,t)=>(e[t]=De[Pe[t]],e),{});be.reduce((e,t)=>(e[t]=lt[Pe[t]],e),{});be.reduce((e,t)=>{const n=`${Pe[t]}Hex`;return e[t]=De[n],e},{});class Ve extends Error{constructor(t,n,a){const i=t.status||t.status===0?t.status:"",s=t.statusText||"",p=`${i} ${s}`.trim(),u=p?`status code ${p}`:"an unknown error";super(`Request failed with ${u}`),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 mt 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 ie=e=>e!==null&&typeof e=="object",ae=(...e)=>{for(const t of e)if((!ie(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return ke({},...e)},Tt=(e={},t={})=>{const n=new globalThis.Headers(e),a=t instanceof globalThis.Headers,i=new globalThis.Headers(t);for(const[s,p]of i.entries())a&&p==="undefined"||p===void 0?n.delete(s):n.set(s,p);return n},ke=(...e)=>{let t={},n={};for(const a of e)if(Array.isArray(a))Array.isArray(t)||(t=[]),t=[...t,...a];else if(ie(a)){for(let[i,s]of Object.entries(a))ie(s)&&i in t&&(s=ke(t[i],s)),t={...t,[i]:s};ie(a.headers)&&(n=Tt(n,a.headers),t.headers=n)}return t},pn=(()=>{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})(),un=typeof globalThis.AbortController=="function",yn=typeof globalThis.ReadableStream=="function",on=typeof globalThis.FormData=="function",ct=["get","post","put","patch","head","delete"],dn={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},he=2147483647,bt=Symbol("stop"),ln={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},mn={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},Tn=e=>ct.includes(e)?e.toUpperCase():e,cn=["get","put","head","delete","options","trace"],bn=[408,413,429,500,502,503,504],_t=[413,429,503],He={limit:2,methods:cn,statusCodes:bn,afterStatusCodes:_t,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},_n=(e={})=>{if(typeof e=="number")return{...He,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{...He,...e,afterStatusCodes:_t}};async function fn(e,t,n,a){return new Promise((i,s)=>{const p=setTimeout(()=>{n&&n.abort(),s(new mt(e))},a.timeout);a.fetch(e,t).then(i).catch(s).then(()=>{clearTimeout(p)})})}async function An(e,{signal:t}){return new Promise((n,a)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",i,{once:!0}));function i(){clearTimeout(s),a(t.reason)}const s=setTimeout(()=>{t==null||t.removeEventListener("abort",i),n()},e)})}const hn=(e,t)=>{const n={};for(const a in t)!(a in mn)&&!(a in ln)&&!(a in e)&&(n[a]=t[a]);return n};class ye{static create(t,n){const a=new ye(t,n),i=async()=>{if(typeof a._options.timeout=="number"&&a._options.timeout>he)throw new RangeError(`The \`timeout\` option cannot be greater than ${he}`);await Promise.resolve();let p=await a._fetch();for(const u of a._options.hooks.afterResponse){const y=await u(a.request,a._options,a._decorateResponse(p.clone()));y instanceof globalThis.Response&&(p=y)}if(a._decorateResponse(p),!p.ok&&a._options.throwHttpErrors){let u=new Ve(p,a.request,a._options);for(const y of a._options.hooks.beforeError)u=await y(u);throw u}if(a._options.onDownloadProgress){if(typeof a._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!yn)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return a._stream(p.clone(),a._options.onDownloadProgress)}return p},s=a._options.retry.methods.includes(a.request.method.toLowerCase())?a._retry(i):i();for(const[p,u]of Object.entries(dn))s[p]=async()=>{a.request.headers.set("accept",a.request.headers.get("accept")||u);const y=(await s).clone();if(p==="json"){if(y.status===204||(await y.clone().arrayBuffer()).byteLength===0)return"";if(n.parseJson)return n.parseJson(await y.text())}return y[p]()};return s}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:Tt(this._input.headers,n.headers),hooks:ke({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:Tn(n.method??this._input.method),prefixUrl:String(n.prefixUrl||""),retry:_n(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(un){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(pn&&(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()),i=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);(on&&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(i,{...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 mt)){if(t instanceof Ve){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 i=Number(a);return Number.isNaN(i)?i=Date.parse(a)-Date.now():i*=1e3,this._options.retry.maxRetryAfter!==void 0&&i>this._options.retry.maxRetryAfter?0:i}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),he);if(a!==0&&this._retryCount>0){await An(a,{signal:this._options.signal});for(const i of this._options.hooks.beforeRetry)if(await i({request:this.request,options:this._options,error:n,retryCount:this._retryCount})===bt)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=hn(this.request,this._options);return this._options.timeout===!1?this._options.fetch(this.request.clone(),t):fn(this.request.clone(),t,this.abortController,this._options)}_stream(t,n){const a=Number(t.headers.get("content-length"))||0;let i=0;return t.status===204?(n&&n({percent:1,totalBytes:a,transferredBytes:i},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const p=t.body.getReader();n&&n({percent:0,transferredBytes:0,totalBytes:a},new Uint8Array);async function u(){const{done:y,value:l}=await p.read();if(y){s.close();return}if(n){i+=l.byteLength;const m=a===0?0:i/a;n({percent:m,transferredBytes:i,totalBytes:a},l)}s.enqueue(l),await u()}await u()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}/*! MIT License © Sindre Sorhus */const Oe=e=>{const t=(n,a)=>ye.create(n,ae(e,a));for(const n of ct)t[n]=(a,i)=>ye.create(a,ae(e,i,{method:n}));return t.create=n=>Oe(ae(n)),t.extend=n=>Oe(ae(e,n)),t.stop=bt,t},ft=Oe();let se;const k={CachedPrices:`${L.ThorswapApi}/tokenlist/cached-price`,GasRates:`${L.ThorswapApi}/resource-worker/gasPrice/getAll`,Quote:`${L.ThorswapApi}/aggregator/tokens/quote`,Txn:`${L.ThorswapApi}/apiusage/v2/txn`,TokenlistProviders:`${L.ThorswapApi}/tokenlist/providers`,TokenList:`${L.ThorswapStatic}/token-list`,Thorname:`${L.ThorswapApi}/thorname`},xe=typeof window<"u"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},Fe=()=>se||(se=ft.create({headers:xe}),se),En=({apiKey:e,...t})=>{se=ft.create({...t,headers:{...xe,...t.headers,"x-api-key":e}})},I={get:(e,t)=>Fe().get(e,t).json(),post:(e,t)=>Fe().post(e,t).json()},Rn=({tokens:e,...t})=>{const n=new URLSearchParams;return e.filter((a,i,s)=>s.findIndex(p=>p===a)===i).forEach(a=>n.append("tokens",JSON.stringify(a))),t.metadata&&n.append("metadata","true"),t.lookup&&n.append("lookup","true"),t.sparkline&&n.append("sparkline","true"),I.post(k.CachedPrices,{body:n.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}})},On={getCachedPrices:Rn,getQuote:e=>I.get(k.Quote,{searchParams:e}),getGasRates:()=>I.get(k.GasRates),getTxnDetails:e=>I.get(k.Txn,{searchParams:e}),getTokenlistProviders:()=>I.get(k.TokenlistProviders),getTokenList:e=>I.get(`${k.TokenList}/${e}.json`),getThornameAddresses:e=>I.get(`${k.Thorname}/${e}`),getThornameRegisteredChains:e=>I.get(`${k.Thorname}/chains/${e}`),getThornameRlookup:(e,t)=>I.get(`${k.Thorname}/rlookup`,{searchParams:{address:e,chain:t}})};var At=(e=>(e.SWAP_TC_TO_TC="SWAP:TC-TC",e.SWAP_ETH_TO_TC="SWAP:ERC20-TC",e.SWAP_TC_TO_ETH="SWAP:TC-ERC20",e.SWAP_ETH_TO_ETH="SWAP:ERC20-ERC20",e.SWAP_AVAX_TO_TC="SWAP:AVAX-TC",e.SWAP_TC_TO_AVAX="SWAP:TC-AVAX",e.SWAP_AVAX_TO_AVAX="SWAP:AVAX-AVAX",e.SWAP_ETH_TO_AVAX="SWAP:ETH-AVAX",e.SWAP_AVAX_TO_ETH="SWAP:AVAX-ETH",e.SWAP_TC_TO_GAIA="SWAP:TC-GAIA",e.SWAP_GAIA_TO_TC="SWAP:GAIA-TC",e.SWAP_TC_TO_BNB="SWAP:TC-BNB",e.SWAP_BNB_TO_TC="SWAP:BNB-TC",e.SWAP_TC_TO_BTC="SWAP:TC-BTC",e.SWAP_BTC_TO_TC="SWAP:BTC-TC",e.SWAP_TC_TO_BCH="SWAP:TC-BCH",e.SWAP_BCH_TO_TC="SWAP:BCH-TC",e.SWAP_TC_TO_LTC="SWAP:TC-LTC",e.SWAP_LTC_TO_TC="SWAP:LTC-TC",e.SWAP_TC_TO_DOGE="SWAP:TC-DOGE",e.SWAP_DOGE_TO_TC="SWAP:DOGE-TC",e.TC_STATUS="TC:STATUS",e.TC_TRANSFER="TC:TRANSFER",e.TC_DEPOSIT="TC:DEPOSIT",e.TC_SEND="TC:SEND",e.TC_SWITCH="TC:SWITCH",e.TC_LP_ADD="TC:ADDLIQUIDITY",e.TC_LP_WITHDRAW="TC:WITHDRAW",e.TC_TNS_CREATE="TC:TNS-CREATE",e.TC_TNS_EXTEND="TC:TNS-EXTEND",e.TC_TNS_UPDATE="TC:TNS-UPDATE",e.TC_SAVINGS_ADD="TC:ADDSAVINGS",e.TC_SAVINGS_WITHDRAW="TC:WITHDRAWSAVINGS",e.TC_LENDING_OPEN="TC:LENDINGOPEN",e.TC_LENDING_CLOSE="TC:LENDINGCLOSE",e.ETH_APPROVAL="ETH:APPROVAL",e.ETH_STATUS="ETH:STATUS",e.ETH_TRANSFER_TO_TC="ETH:TRANSFER:IN",e.ETH_TRANSFER_FROM_TC="ETH:TRANSFER:OUT",e.AVAX_APPROVAL="AVAX:APPROVAL",e.AVAX_STATUS="AVAX:STATUS",e.AVAX_TRANSFER_TO_TC="AVAX:TRANSFER:IN",e.AVAX_TRANSFER_FROM_TC="AVAX:TRANSFER:OUT",e.BSC_APPROVAL="BSC:APPROVAL",e.BSC_STATUS="BSC:STATUS",e.BSC_TRANSFER_TO_TC="BSC:TRANSFER:IN",e.BSC_TRANSFER_FROM_TC="BSC:TRANSFER:OUT",e.APPROVAL="APPROVAL",e.STATUS="STATUS",e.TRANSFER_TO_TC="TRANSFER:IN",e.TRANSFER_FROM_TC="TRANSFER:OUT",e.UNSUPPORTED="UNSUPPORTED",e.TC_LENDING="TC:LENDING",e))(At||{}),ht=(e=>(e.PENDING="pending",e.SUCCESS="success",e.CANCELLED="cancelled",e.REFUNDED="refunded",e.REPLACED="replaced",e.ERROR="error",e.UNKNOWN="unknown",e.NOT_STARTED="not_started",e.NOT_FOUND="not_found",e.RETRIES_EXCEEDED="retries_exceeded",e.STREAMING="streaming",e))(ht||{}),Et=(e=>(e[e.NOT_STARTED=0]="NOT_STARTED",e[e.SUCCESS=1]="SUCCESS",e[e.REFUNDED=2]="REFUNDED",e))(Et||{});const Sn="0x313ce567",Rt=async({chain:e,to:t})=>{try{const{result:n}=await I.post(yt[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:Sn},"latest"]})});return parseInt(BigInt(n).toString())}catch(n){return console.error(n),h[e]}},wn=async e=>{if(e===r.Ethereum)return h.ETH;const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Rt({chain:r.Ethereum,to:t}):h.ETH},Mn=async e=>{const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Rt({chain:r.Avalanche,to:t.toLowerCase()}):h.AVAX},In=async e=>(e===r.BinanceSmartChain,h.BSC),Ot=async({chain:e,symbol:t})=>{switch(e){case r.Ethereum:return wn(t);case r.Avalanche:return Mn(t);case r.BinanceSmartChain:return In(t);default:return h[e]}},St={[q.Average]:1.2,[q.Fast]:1.5,[q.Fastest]:2},Be=({chain:e,symbol:t})=>{switch(e){case r.Arbitrum:case r.Optimism:return t==="ETH";case r.Maya:return t==="CACAO";case r.Kujira:return t==="KUJI";case r.Cosmos:return t==="ATOM";case r.Polygon:return t==="MATIC";case r.BinanceSmartChain:return t==="BNB";case r.THORChain:return t==="RUNE";default:return t===e}},wt=e=>{switch(e){case`${r.Ethereum}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${r.Ethereum}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case r.Cosmos:return{identifier:"GAIA.ATOM",decimal:h[e]};case r.THORChain:return{identifier:"THOR.RUNE",decimal:h[e]};case r.BinanceSmartChain:return{identifier:"BSC.BNB",decimal:h[e]};case r.Maya:return{identifier:"MAYA.CACAO",decimal:h.MAYA};case`${r.Maya}.MAYA`:return{identifier:"MAYA.MAYA",decimal:4};case`${r.Kujira}.USK`:return{identifier:`${r.Kujira}.USK`,decimal:6};default:return{identifier:`${e}.${e}`,decimal:h[e]}}},Mt=({chain:e,symbol:t})=>{if(t.includes("/"))return"Synth";switch(e){case r.Cosmos:return t==="ATOM"?"Native":r.Cosmos;case r.Kujira:return t===r.Kujira?"Native":r.Kujira;case r.Binance:return t===r.Binance?"Native":"BEP2";case r.BinanceSmartChain:return t===r.Binance?"Native":"BEP20";case r.Ethereum:return t===r.Ethereum?"Native":"ERC20";case r.Avalanche:return t===r.Avalanche?"Native":r.Avalanche;case r.Polygon:return t===r.Polygon?"Native":"POLYGON";case r.Arbitrum:return[r.Ethereum,r.Arbitrum].includes(t)?"Native":"ARBITRUM";case r.Optimism:return[r.Ethereum,r.Optimism].includes(t)?"Native":"OPTIMISM";default:return"Native"}},gn=e=>{var t;const[n,...a]=e.split("."),i=e.includes("/"),s=a.join("."),p=(t=s==null?void 0:s.split("-"))==null?void 0:t[0];return{chain:n,symbol:s,ticker:p,synth:i}},Cn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),vn=e=>{const[t,n]=e.split(".");if(!st.includes(t))return!0;const[,a]=n.split("-");return Be({chain:t,symbol:n})||!!a},Nn=e=>e.filter(({chain:t,value:n,symbol:a})=>{const i=`${t}.${a}`;return!Cn.test(i)&&vn(i)&&n!=="0"});function It({liquidityUnits:e,poolUnits:t,runeDepth:n}){const a=g(e),i=g(t),s=g(n),p=a.mul(s),u=i.mul(i).mul(2),y=i.mul(a).mul(2),l=a.mul(a),m=i.mul(i).mul(i);return p.mul(u.sub(y).add(l)).div(m)}function gt({liquidityUnits:e,poolUnits:t,assetDepth:n}){const a=g(e),i=g(t),s=g(n),p=a.mul(s),u=i.mul(i).mul(2),y=i.mul(a).mul(2),l=a.mul(a),m=p.mul(u.sub(y).add(l)),c=i.mul(i).mul(i);return m.div(c)}function Dn({percent:e,runeDepth:t,liquidityUnits:n,poolUnits:a}){return It({runeDepth:t,liquidityUnits:n,poolUnits:a}).mul(e)}function Pn({percent:e,assetDepth:t,liquidityUnits:n,poolUnits:a}){return gt({assetDepth:t,liquidityUnits:n,poolUnits:a}).mul(e)}function g(e){return x.fromBigInt(BigInt(e),h.THOR)}function Ct({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a}){return{assetAmount:g(a).mul(e).div(t),runeAmount:g(n).mul(e).div(t)}}function kn({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a,percent:i}){return Object.fromEntries(Object.entries(Ct({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})).map(([s,p])=>[s,p.mul(i)]))}function xn({runeDepth:e,poolUnits:t,assetDepth:n,liquidityUnits:a,runeAmount:i,assetAmount:s}){const p=new x({value:e,decimal:8}),u=new x({value:n,decimal:8}),y=new x({value:t,decimal:8}),l=new x({value:i,decimal:8}),m=new x({value:s,decimal:8}),c=l.mul(u),_=m.mul(p),E=l.mul(m),R=p.mul(u),O=y.mul(c.add(_.add(E.mul(2)))),S=c.add(_.add(R.mul(2))),w=O.div(S),B=g(a).add(w);if(w.getBaseValue("number")===0)return B.div(y).getBaseValue("number");const _e=y.add(B);return B.div(_e).getBaseValue("number")}function Bn({runeAmount:e,assetAmount:t,runeDepth:n,assetDepth:a}){if(e==="0"||t==="0"||n==="0"||a==="0")return 0;const i=g(n),s=g(a),p=g(t),u=g(e),y=p.mul(i).sub(s.mul(u)),l=s.mul(u).add(i.mul(s));return Math.abs(y.div(l).getBaseValue("number"))}const C=(e,t)=>{switch(e){case f.LEAVE:case f.BOND:{const{address:n}=t;return`${e}:${n}`}case f.UNBOND:{const{address:n,unbondAmount:a}=t;return`${e}:${n}:${a}`}case f.THORNAME_REGISTER:{const{name:n,chain:a,address:i,owner:s}=t;return`${e}:${n}:${a}:${i}${s?`:${s}`:""}`}case f.DEPOSIT:{const{chain:n,symbol:a,address:i,singleSide:s}=t;return s?`${e}:${n}/${a}`:`${e}:${((p,u)=>{switch(p){case r.Litecoin:return"l";case r.Dogecoin:return"d";case r.BitcoinCash:return"c";default:return`${p}.${u}`}})(n,a)}:${i||""}`}case f.WITHDRAW:{const{chain:n,ticker:a,symbol:i,basisPoints:s,targetAssetString:p,singleSide:u}=t,y=n==="ETH"&&a!=="ETH"?`${a}-${i.slice(-3)}`:i,l=!u&&p?`:${p}`:"";return`${e}:${n}${u?"/":"."}${y}:${s}${l}`}case f.OPEN_LOAN:case f.CLOSE_LOAN:{const{asset:n,address:a}=t;return`${e}:${n}:${a}`}default:return""}};function Ln(e){if(e<0)throw new Error("Invalid number of year");return 10+e}function Vn(e){if(e.length>30)return!1;const t=/^[a-zA-Z0-9+_-]+$/g;return!!e.match(t)}function Hn([e,t,n,a,i]){return`${e}'/${t}'/${n}'/${a}${typeof i!="number"?"":`/${i}`}`}const Ue=[...Object.values(r),"TERRA"];function Fn(e=""){const t=e.toUpperCase(),[n]=t.split(".");if(Ue.includes(n))return!0;const[a]=t.split("/");if(Ue.includes(a))return!0;throw new Error(`Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`)}const Z=8,F=e=>10n**BigInt(e),Y=e=>Math.log10(parseFloat(e.toString()));function ne({value:e,bigIntDecimal:t=Z,decimal:n=Z}){if(n===0)return e.toString();const a=e<0n;let i=e.toString().substring(a?1:0);const s=n-(i.length-1);s>0&&(i="0".repeat(s)+i);const p=i.length-n;let u=i.slice(-n);return parseInt(u[t])>=5?u=`${u.substring(0,t-1)}${(parseInt(u[t-1])+1).toString()}`:u=u.substring(0,t),`${a?"-":""}${i.slice(0,p)}.${u}`.replace(/\.?0*$/,"")}var W,K,H,$,Se,vt,re,Ee,oe,we;const Un=class Nt{constructor(t){j(this,W),j(this,H),j(this,Se),j(this,re),j(this,oe),v(this,"decimalMultiplier",10n**8n),v(this,"bigIntValue",0n),v(this,"decimal");const n=Me(t),a=typeof t=="object";this.decimal=a?t.decimal:void 0,this.decimalMultiplier=a&&"decimalMultiplier"in t?t.decimalMultiplier:F(Math.max(Dt(de(n)),this.decimal||0)),M(this,Se,vt).call(this,n)}static fromBigInt(t,n){return new Nt({decimal:n,value:ne({value:t,bigIntDecimal:n,decimal:n})})}static shiftDecimals({value:t,from:n,to:a}){return this.fromBigInt(t.getBaseValue("bigint")*F(a)/F(n),a)}set(t){return new this.constructor({decimal:this.decimal,value:t,identifier:this.toString()})}add(...t){return M(this,W,K).call(this,"add",...t)}sub(...t){return M(this,W,K).call(this,"sub",...t)}mul(...t){return M(this,W,K).call(this,"mul",...t)}div(...t){return M(this,W,K).call(this,"div",...t)}gt(t){return M(this,H,$).call(this,"gt",t)}gte(t){return M(this,H,$).call(this,"gte",t)}lt(t){return M(this,H,$).call(this,"lt",t)}lte(t){return M(this,H,$).call(this,"lte",t)}eqValue(t){return M(this,H,$).call(this,"eqValue",t)}getValue(t){const n=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||Y(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/F(this.decimal||h.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=Me(t),i=de(a);return i==="0"||i==="undefined"?0n:M(this,oe,we).call(this,i,n)}toSignificant(t=6){const[n,a]=this.getValue("string").split("."),i=n||"",s=a||"";if((parseInt(i)?i.length+s.length:s.length)<=t)return this.getValue("string");if(i.length>=t)return i.slice(0,t).padEnd(i.length,"0");if(parseInt(i))return`${i}.${s.slice(0,t-i.length)}`.padEnd(t-i.length,"0");const p=parseInt(s),u=`${p}`.slice(0,t);return`0.${u.padStart(s.length-`${p}`.length+u.length,"0")}`}toFixed(t=6){const[n,a]=this.getValue("string").split("."),i=n||"",s=a||"";if(parseInt(i))return`${i}.${s.slice(0,t)}`.padEnd(t,"0");const p=parseInt(s),u=`${p}`.slice(0,t);return`0.${u.padStart(s.length-`${p}`.length+u.length,"0")}`}toAbbreviation(t=2){const n=this.getValue("number"),a=["","K","M","B","T","Q","Qi","S"],i=Math.floor(Math.log10(Math.abs(n))/3),s=a[i];if(!s)return this.getValue("string");const p=10**(i*3);return`${(n/p).toFixed(t)}${s}`}toCurrency(t="$",{currencyPosition:n="start",decimal:a=2,decimalSeparator:i=".",thousandSeparator:s=","}={}){const p=this.getValue("number"),[u,y=""]=p.toFixed(6).split("."),l=u.replace(/\B(?=(\d{3})+(?!\d))/g,s),m=!u&&!y?"0.00":u==="0"?`${parseFloat(`0.${y}`)}`.replace(".",i):`${l}${parseInt(y)?`${i}${y.slice(0,a)}`:""}`;return`${n==="start"?t:""}${m}${n==="end"?t:""}`}formatBigIntToSafeValue(t,n){const a=n||this.decimal||Z,i=Math.max(a,Y(this.decimalMultiplier)),s=t<0n,p=t.toString().substring(s?1:0),u=i-(p.length-1),y=u>0?"0".repeat(u)+p:p,l=y.length-i;let m=y.slice(-i);return parseInt(m[a])>=5?m=`${m.substring(0,a-1)}${(parseInt(m[a-1])+1).toString()}`:m=m.substring(0,a),`${s?"-":""}${y.slice(0,l)}.${m}`.replace(/\.?0*$/,"")}};W=new WeakSet,K=function(e,...t){const n=M(this,re,Ee).call(this,this,...t),a=Math.max(n,Y(this.decimalMultiplier)),i=F(a),s=t.reduce((u,y)=>{const l=this.getBigIntValue(y,a);switch(e){case"add":return u+l;case"sub":return u-l;case"mul":return u*l/i;case"div":{if(l===0n)throw new RangeError("Division by zero");return u*i/l}default:return u}},this.bigIntValue*i/this.decimalMultiplier),p=ne({bigIntDecimal:a,decimal:a,value:s});return new this.constructor({decimalMultiplier:F(a),decimal:this.decimal,value:p,identifier:this.toString()})},H=new WeakSet,$=function(e,...t){const n=M(this,re,Ee).call(this,this,...t),a=this.getBigIntValue(t[0],n),i=this.getBigIntValue(this,n);switch(e){case"gt":return i>a;case"gte":return i>=a;case"lt":return i<a;case"lte":return i<=a;case"eqValue":return i===a}},Se=new WeakSet,vt=function(e){const t=de(e)||"0";this.bigIntValue=M(this,oe,we).call(this,t)},re=new WeakSet,Ee=function(...e){const t=e.map(n=>typeof n=="object"?n.decimal||Y(n.decimalMultiplier):Dt(de(n))).filter(Boolean);return Math.max(...t,Z)},oe=new WeakSet,we=function(e,t){const n=t?F(t):this.decimalMultiplier,a=Y(n),[i="",s=""]=e.split(".");return BigInt(`${i}${s.padEnd(a,"0")}`)};let Le=Un;const Wn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function de(e){const t=`${typeof e=="number"?Wn.format(e):Me(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,Z)}function Me(e){return typeof e=="object"?"getValue"in e?e.getValue("string"):e.value:e}const Q=new Map;class D extends Le{constructor({value:t,decimal:n,tax:a,chain:i,symbol:s,identifier:p}){super(typeof t=="object"?t:{decimal:n,value:t}),v(this,"address"),v(this,"chain"),v(this,"isGasAsset",!1),v(this,"isSynthetic",!1),v(this,"symbol"),v(this,"tax"),v(this,"ticker"),v(this,"type");const u=ue(p||`${i}.${s}`);this.type=Mt(u),this.tax=a,this.chain=u.chain,this.ticker=u.ticker,this.symbol=u.symbol,this.address=u.address,this.isSynthetic=u.isSynthetic,this.isGasAsset=u.isGasAsset}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eq({chain:t,symbol:n}){return this.chain===t&&this.symbol===n}chainId(){return ve[this.chain]}static fromUrl(t,n=0){const[a,i,s]=t.split(".");if(!a||!i)throw new Error("Invalid asset url");const p=a===r.THORChain&&s?`${a}.${i}/${s}`:t;return Re(p,n)}static fromString(t,n=0){return Re(t,n)}static fromIdentifier(t,n=0){return Re(t,n)}static fromStringSync(t,n=0){const{chain:a,isSynthetic:i}=ue(t),s=Q.get(t.toUpperCase());if(i)return We(t,n);const{tax:p,decimal:u,identifier:y}=s||{decimal:h[a],identifier:t};return new D({tax:p,value:J(n,u),identifier:i?t:y,decimal:i?8:u})}static fromIdentifierSync(t,n=0){const{chain:a,isSynthetic:i}=ue(t),s=Q.get(t);if(i)return We(t,n);const{tax:p,decimal:u,identifier:y}=s||{decimal:h[a],identifier:t};return new D({tax:p,decimal:u,identifier:y,value:J(n,u)})}static fromChainOrSignature(t,n=0){const{decimal:a,identifier:i}=wt(t);return new D({value:J(n,a),decimal:a,identifier:i})}static loadStaticAssets(){return new Promise(async(t,n)=>{try{const a=await import("@swapkit/tokens");Object.values(a).forEach(i=>{var s;(s=i==null?void 0:i.tokens)==null||s.forEach(({identifier:p,chain:u,...y})=>{Q.set(p.toUpperCase(),{identifier:p,decimal:"decimals"in y?y.decimals:h[u]})})}),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"})}})}}function pe(e){const t=D.fromChainOrSignature(e);switch(e){case r.Bitcoin:case r.Litecoin:case r.BitcoinCash:return t.set(10001e-8);case r.Dogecoin:return t.set(1.00000001);case r.Avalanche:case r.Ethereum:return t.set(1e-8);case r.THORChain:case r.Maya:return t.set(0);case r.Cosmos:return t.set(1e-6);default:return t.set(1e-8)}}async function Re(e,t=0){Fn(e);const n=Q.get(e.toUpperCase()),a=(n==null?void 0:n.decimal)||await Ot(ue(e));return n||Q.set(e.toUpperCase(),{identifier:e,decimal:a}),new D({decimal:a,value:J(t,a),identifier:e})}function We(e,t=0){const[n,a]=e.split(".")[0].toUpperCase()===r.THORChain?e.split(".").slice(1).join().split("/"):e.split("/");if(!n||!a)throw new Error("Invalid asset identifier");return new D({decimal:8,value:J(t,8),identifier:`${r.THORChain}.${n}/${a}`})}function J(e,t){return typeof e=="bigint"?ne({value:e,bigIntDecimal:t,decimal:t}):e}function ue(e){const t=e.slice(0,14).includes("/"),[n,a]=e.split(".")[0].toUpperCase()===r.THORChain?e.split(".").slice(1).join().split("/"):e.split("/");if(t&&(!n||!a))throw new Error("Invalid asset identifier");const i=e.includes(".")&&!t?e:`${r.THORChain}.${a}`,[s,...p]=i.split("."),[u,y]=(t?a:p.join(".")).split("-"),l=t?a:p.join(".");return{address:y==null?void 0:y.toLowerCase(),chain:s,isGasAsset:Be({chain:s,symbol:l}),isSynthetic:t,symbol:(t?`${n}/`:"")+(y?`${u}-${(y==null?void 0:y.toLowerCase())??""}`:l),ticker:u}}const $n={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_wallet_keepkey_not_installed:10109,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,core_transaction_deposit_error:10301,core_transaction_create_liquidity_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_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,wallet_ledger_connection_error:20001,wallet_ledger_connection_claimed:20002,wallet_ledger_get_address_error:20003,wallet_ledger_device_not_found:20004,wallet_ledger_device_locked:20005,helpers_number_different_decimals:99101};class T extends Error{constructor(t,n){n&&console.error(n,{stack:n==null?void 0:n.stack,message:n==null?void 0:n.message}),super(t,{cause:{code:$n[t],message:t}}),Object.setPrototypeOf(this,T.prototype)}}class x extends Le{eq(t){return this.eqValue(t)}static fromBigInt(t,n){return new x({decimal:n,value:ne({value:t,bigIntDecimal:n,decimal:n})})}}const qn=[{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:"_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"}],Xn=[{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"}],jn=[{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"}],Kn=[{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"}],Yn=[{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"}],$e=[{inputs:[{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes",name:"clientData",type:"bytes"}],name:"ClientData",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"reason",type:"string"}],name:"Error",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOut",type:"uint256"},{indexed:!1,internalType:"address",name:"output",type:"address"}],name:"Exchange",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"totalAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalFee",type:"uint256"},{indexed:!1,internalType:"address[]",name:"recipients",type:"address[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"},{indexed:!1,internalType:"bool",name:"isBps",type:"bool"}],name:"Fee",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"srcToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"dstToken",type:"address"},{indexed:!1,internalType:"address",name:"dstReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"spentAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"returnAmount",type:"uint256"}],name:"Swapped",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isWhitelist",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueFunds",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"callTarget",type:"address"},{internalType:"address",name:"approveTarget",type:"address"},{internalType:"bytes",name:"targetData",type:"bytes"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"clientData",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapExecutionParams",name:"execution",type:"tuple"}],name:"swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"callTarget",type:"address"},{internalType:"address",name:"approveTarget",type:"address"},{internalType:"bytes",name:"targetData",type:"bytes"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"clientData",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapExecutionParams",name:"execution",type:"tuple"}],name:"swapGeneric",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IAggregationExecutor",name:"caller",type:"address"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"executorData",type:"bytes"},{internalType:"bytes",name:"clientData",type:"bytes"}],name:"swapSimpleMode",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"addr",type:"address[]"},{internalType:"bool[]",name:"value",type:"bool[]"}],name:"updateWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],qe=[{inputs:[{internalType:"contract IWETH",name:"weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessDenied",type:"error"},{inputs:[],name:"AdvanceNonceFailed",type:"error"},{inputs:[],name:"AlreadyFilled",type:"error"},{inputs:[],name:"ArbitraryStaticCallFailed",type:"error"},{inputs:[],name:"BadPool",type:"error"},{inputs:[],name:"BadSignature",type:"error"},{inputs:[],name:"ETHTransferFailed",type:"error"},{inputs:[],name:"ETHTransferFailed",type:"error"},{inputs:[],name:"EmptyPools",type:"error"},{inputs:[],name:"EthDepositRejected",type:"error"},{inputs:[],name:"GetAmountCallFailed",type:"error"},{inputs:[],name:"IncorrectDataLength",type:"error"},{inputs:[],name:"InsufficientBalance",type:"error"},{inputs:[],name:"InvalidMsgValue",type:"error"},{inputs:[],name:"InvalidMsgValue",type:"error"},{inputs:[],name:"InvalidatedOrder",type:"error"},{inputs:[],name:"MakingAmountExceeded",type:"error"},{inputs:[],name:"MakingAmountTooLow",type:"error"},{inputs:[],name:"OnlyOneAmountShouldBeZero",type:"error"},{inputs:[],name:"OrderExpired",type:"error"},{inputs:[],name:"PermitLengthTooLow",type:"error"},{inputs:[],name:"PredicateIsNotTrue",type:"error"},{inputs:[],name:"PrivateOrder",type:"error"},{inputs:[],name:"RFQBadSignature",type:"error"},{inputs:[],name:"RFQPrivateOrder",type:"error"},{inputs:[],name:"RFQSwapWithZeroAmount",type:"error"},{inputs:[],name:"RFQZeroTargetIsForbidden",type:"error"},{inputs:[],name:"ReentrancyDetected",type:"error"},{inputs:[],name:"RemainingAmountIsZero",type:"error"},{inputs:[],name:"ReservesCallFailed",type:"error"},{inputs:[],name:"ReturnAmountIsNotEnough",type:"error"},{inputs:[],name:"SafePermitBadLength",type:"error"},{inputs:[],name:"SafeTransferFailed",type:"error"},{inputs:[],name:"SafeTransferFromFailed",type:"error"},{inputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"res",type:"bytes"}],name:"SimulationResults",type:"error"},{inputs:[],name:"SwapAmountTooLarge",type:"error"},{inputs:[],name:"SwapWithZeroAmount",type:"error"},{inputs:[],name:"TakingAmountExceeded",type:"error"},{inputs:[],name:"TakingAmountIncreased",type:"error"},{inputs:[],name:"TakingAmountTooHigh",type:"error"},{inputs:[],name:"TransferFromMakerToTakerFailed",type:"error"},{inputs:[],name:"TransferFromTakerToMakerFailed",type:"error"},{inputs:[],name:"UnknownOrder",type:"error"},{inputs:[],name:"WrongAmount",type:"error"},{inputs:[],name:"WrongGetter",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroMinReturn",type:"error"},{inputs:[],name:"ZeroReturnAmount",type:"error"},{inputs:[],name:"ZeroTargetIsForbidden",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"uint256",name:"newNonce",type:"uint256"}],name:"NonceIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"remainingRaw",type:"uint256"}],name:"OrderCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"remaining",type:"uint256"}],name:"OrderFilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"makingAmount",type:"uint256"}],name:"OrderFilledRFQ",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[{internalType:"uint8",name:"amount",type:"uint8"}],name:"advanceNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"and",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"arbitraryStaticCall",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"cancelOrder",outputs:[{internalType:"uint256",name:"orderRemaining",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"orderInfo",type:"uint256"}],name:"cancelOrderRFQ",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"orderInfo",type:"uint256"},{internalType:"uint256",name:"additionalMask",type:"uint256"}],name:"cancelOrderRFQ",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"checkPredicate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"}],name:"clipperSwap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"}],name:"clipperSwapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"clipperSwapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"destroy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"eq",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"}],name:"fillOrder",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"}],name:"fillOrderRFQ",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"}],name:"fillOrderRFQCompact",outputs:[{internalType:"uint256",name:"filledMakingAmount",type:"uint256"},{internalType:"uint256",name:"filledTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"}],name:"fillOrderRFQTo",outputs:[{internalType:"uint256",name:"filledMakingAmount",type:"uint256"},{internalType:"uint256",name:"filledTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"fillOrderRFQToWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order_",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"}],name:"fillOrderTo",outputs:[{internalType:"uint256",name:"actualMakingAmount",type:"uint256"},{internalType:"uint256",name:"actualTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"fillOrderToWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"gt",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"hashOrder",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"increaseNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"maker",type:"address"},{internalType:"uint256",name:"slot",type:"uint256"}],name:"invalidatorForOrderRFQ",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"lt",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"makerAddress",type:"address"},{internalType:"uint256",name:"makerNonce",type:"uint256"}],name:"nonceEquals",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"or",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"remaining",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"remainingRaw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32[]",name:"orderHashes",type:"bytes32[]"}],name:"remainingsRaw",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueFunds",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"simulate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IAggregationExecutor",name:"executor",type:"address"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address payable",name:"srcReceiver",type:"address"},{internalType:"address payable",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"}],internalType:"struct GenericRouter.SwapDescription",name:"desc",type:"tuple"},{internalType:"bytes",name:"permit",type:"bytes"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"spentAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"time",type:"uint256"}],name:"timestampBelow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"timeNonceAccount",type:"uint256"}],name:"timestampBelowAndNonceEquals",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"uniswapV3Swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"uniswapV3SwapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"uniswapV3SwapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"unoswap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"unoswapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"unoswapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Ge=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Qn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WAVAX",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WAVAX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAXSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapAVAXForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAXSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Jn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Zn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WAVAX",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WAVAX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAXSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapAVAXForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAXSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],zn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],ea=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct ISwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct ISwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],ta=[{inputs:[{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_pool",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newPool",type:"address"}],name:"WooPoolChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"enum IWooRouterV2.SwapType",name:"swapType",type:"uint8"},{indexed:!0,internalType:"address",name:"fromToken",type:"address"},{indexed:!0,internalType:"address",name:"toToken",type:"address"},{indexed:!1,internalType:"uint256",name:"fromAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"toAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"rebateTo",type:"address"}],name:"WooRouterSwap",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"approveTarget",type:"address"},{internalType:"address",name:"swapTarget",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"externalSwap",outputs:[{internalType:"uint256",name:"realToAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"stuckToken",type:"address"}],name:"inCaseTokenGotStuck",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"}],name:"querySwap",outputs:[{internalType:"uint256",name:"toAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"quoteToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPool",type:"address"}],name:"setPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],name:"setWhitelisted",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"rebateTo",type:"address"}],name:"swap",outputs:[{internalType:"uint256",name:"realToAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"}],name:"tryQuerySwap",outputs:[{internalType:"uint256",name:"toAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"wooPool",outputs:[{internalType:"contract IWooPPV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],na={["0xE54Ca86531e17Ef3616d22Ca28b0D458b6C89106".toLowerCase()]:Qn,["0xC22FBb3133dF781E6C25ea6acebe2D2Bb8CeA2f9".toLowerCase()]:ta,["0x60aE616a2155Ee3d9A68541Ba4544862310933d4".toLowerCase()]:Zn,["0x1111111254fb6c44bAC0beD2854e76F90643097d".toLowerCase()]:qe,["0x6131B5fae19EA4f9D964eAc0408E4408b66337b5".toLowerCase()]:$e,["0x10ED43C718714eb63d5aA57B78B54704E256024E".toLowerCase()]:Ge,["0x6131B5fae19EA4f9D964eAc0408E4408b66337b5".toLowerCase()]:$e,["0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f".toLowerCase()]:Jn,["0xEfF92A263d31888d860bD50809A8D171709b7b1c".toLowerCase()]:Ge,["0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D".toLowerCase()]:zn,["0xE592427A0AEce92De3Edee1F18E0157C05861564".toLowerCase()]:ea,["0x1111111254fb6c44bac0bed2854e76f90643097d".toLowerCase()]:qe},aa=[{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"}],ia=[{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"}],sa=[{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"}],ra=[{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"}],pa=[{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"}],ua=[{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"}],ya=[{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"}],oa=[{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"}],Pt={["0x7C38b8B2efF28511ECc14a621e263857Fb5771d3".toLowerCase()]:qn,["0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c".toLowerCase()]:Xn,["0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2".toLowerCase()]:jn},da={...na,...Pt,["0x942c6dA485FD6cEf255853ef83a149d43A73F18a".toLowerCase()]:Yn,["0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a".toLowerCase()]:Gn,["0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212".toLowerCase()]:ia,["0x30912B38618D3D37De3191A4FFE982C65a9aEC2E".toLowerCase()]:Kn,["0xbf365e79aA44A2164DA135100C57FDB6635ae870".toLowerCase()]:aa,["0x86904Eb2b3c743400D03f929F2246EfA80B91215".toLowerCase()]:sa,["0x3660dE6C56cFD31998397652941ECe42118375DA".toLowerCase()]:ra,["0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8".toLowerCase()]:pa,["0xe4ddca21881bac219af7f217703db0475d2a9f02".toLowerCase()]:ua,["0x11733abf0cdb43298f7e949c930188451a9a9ef2".toLowerCase()]:ya,["0xb33874810e5395eb49d8bd7e912631db115d5a03".toLowerCase()]:oa},la=({streamSwap:e,contractAddress:t,recipient:n,toChecksumAddress:a,calldata:{amount:i,amountOutMin:s="",data:p="",deadline:u,memo:y,router:l,memoStreamingSwap:m,tcMemo:c,tcRouter:_,tcVault:E,vault:R,token:O}})=>{const S=!!Pt[t.toLowerCase()];if(S&&!l)throw new Error("Router is required on calldata for swapIn with GenericContract");const w=c||y,B=e&&m||w;if(!E&&!R)throw new Error("TC Vault is required on calldata");if(!_&&!l)throw new Error("TC Router is required on calldata");if(!B)throw new Error("TC Memo is required on calldata");if(!O)throw new Error("Token is required on calldata");const _e=[a(_||l),a(E||R),B.replace("{recipientAddress}",n),a(O),i],kt=S?[a(l),p,u]:[s,u];return[..._e,...kt]},ma=({chain:e,txHash:t})=>{const n=Ne[e];switch(e){case r.Binance:case r.Maya:case r.Kujira:case r.THORChain:return`${n}/tx/${t.startsWith("0x")?t.slice(2):t}`;case r.Arbitrum:case r.Avalanche:case r.BinanceSmartChain:case r.Ethereum:case r.Optimism:case r.Polygon:return`${n}/tx/${t.startsWith("0x")?t:`0x${t}`}`;case r.Cosmos:return`${n}/transactions/${t}`;case r.Litecoin:case r.Bitcoin:case r.BitcoinCash:case r.Dogecoin:return`${n}/transaction/${t.toLowerCase()}`;default:throw new Error(`Unsupported chain: ${e}`)}},Ta=({chain:e,address:t})=>{const n=Ne[e];switch(e){case r.Arbitrum:case r.Avalanche:case r.Binance:case r.BinanceSmartChain:case r.Bitcoin:case r.BitcoinCash:case r.Dogecoin:case r.Ethereum:case r.Kujira:case r.Litecoin:case r.Maya:case r.Optimism:case r.Polygon:case r.THORChain:return`${n}/address/${t}`;case r.Cosmos:return`${n}/account/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},ca=e=>{const t=e?G.ThornodeStagenet:G.ThornodeMainnet;return I.get(`${t}/thorchain/inbound_addresses`)},ba=e=>{const t=e?G.ThornodeStagenet:G.ThornodeMainnet;return I.get(`${t}/thorchain/mimir`)},Xe=()=>Object.values(r).reduce((e,t)=>(e[t]=null,e),{}),_a=async({chain:e,address:t})=>{if(!t)return!1;switch(e){case r.Bitcoin:return!t.startsWith("bc1p");default:return!0}};var U,le,z,N,ee,te;class fa{constructor({stagenet:t}={}){b(this,"connectedChains",Xe());b(this,"connectedWallets",Xe());b(this,"stagenet",!1);b(this,"getAddress",t=>{var n;return((n=this.connectedChains[t])==null?void 0:n.address)||""});b(this,"getExplorerTxUrl",(t,n)=>ma({chain:t,txHash:n}));b(this,"getWallet",t=>this.connectedWallets[t]);b(this,"getExplorerAddressUrl",(t,n)=>Ta({chain:t,address:n}));b(this,"getBalance",async(t,n)=>{const a=await this.getWalletByChain(t,n);return(a==null?void 0:a.balance)||[]});b(this,"swap",async({streamSwap:t,recipient:n,route:a,feeOptionKey:i})=>{var u,y;const{meta:{quoteMode:s}}=a,p=s.startsWith("ERC20-")?r.Ethereum:s.startsWith("ARC20-")?r.Avalanche:s.startsWith("BEP20-")?r.BinanceSmartChain:void 0;if(!a.complete)throw new T("core_swap_route_not_complete");if(Je.includes(s)&&p){const l=this.connectedWallets[p];if(!(l!=null&&l.sendTransaction))throw new T("core_wallet_connection_not_found");if(!(t?(u=a==null?void 0:a.streamingSwap)==null?void 0:u.transaction:a==null?void 0:a.transaction))throw new T("core_swap_route_transaction_not_found");const{data:c,from:_,to:E,value:R}=a.transaction,O={data:c,from:_,to:E.toLowerCase(),chainId:BigInt(ve[p]),value:R?BigInt(R):0n};return l.sendTransaction(O,i)}if(ze.includes(s)){if(!a.calldata.fromAsset)throw new T("core_swap_asset_not_recognized");const l=await D.fromString(a.calldata.fromAsset);if(!l)throw new T("core_swap_asset_not_recognized");const{address:m}=await A(this,U).call(this,l.chain),{contract:c,calldata:{expiration:_,amountIn:E,memo:R,memoStreamingSwap:O}}=a,S=l.add(x.fromBigInt(BigInt(E),l.decimal)),w=t&&O||R;return this.deposit({expiration:_,assetValue:S,memo:w,feeOptionKey:i,router:c,recipient:m})}if(Ze.includes(s)&&p){const{calldata:l,contract:m}=a;if(!m)throw new T("core_swap_contract_not_found");const c=this.connectedWallets[p],_=this.getAddress(p);if(!(c!=null&&c.sendTransaction)||!_)throw new T("core_wallet_connection_not_found");const{getProvider:E,toChecksumAddress:R}=await import("@swapkit/toolbox-evm"),O=E(p),S=da[m.toLowerCase()];if(!S)throw new T("core_swap_contract_not_supported",{contractAddress:m});const B=await(await((y=c.createContract)==null?void 0:y.call(c,m,S,O))).getFunction("swapIn").populateTransaction(...la({streamSwap:t,toChecksumAddress:R,contractAddress:m,recipient:n,calldata:l}),{from:_});return c.sendTransaction(B,i)}throw new T("core_swap_quote_mode_not_supported",{quoteMode:s})});b(this,"getWalletByChain",async(t,n)=>{var p,u;const a=this.getAddress(t);if(!a)return null;const i=[D.fromChainOrSignature(t)],s=(p=this.connectedChains[t])==null?void 0:p.walletType;try{const y=await((u=this.getWallet(t))==null?void 0:u.getBalance(a,n));return this.connectedChains[t]={address:a,balance:y!=null&&y.length?y:i,walletType:s},{...this.connectedChains[t]}}catch(y){return console.error(y),{address:a,balance:i,walletType:s}}});b(this,"approveAssetValue",(t,n)=>A(this,z).call(this,{assetValue:t,type:"approve",contractAddress:n}));b(this,"isAssetValueApproved",(t,n)=>A(this,z).call(this,{assetValue:t,contractAddress:n,type:"checkOnly"}));b(this,"validateAddress",({address:t,chain:n})=>{var a,i;return(i=(a=this.getWallet(n))==null?void 0:a.validateAddress)==null?void 0:i.call(a,t)});b(this,"transfer",async t=>{const n=this.connectedWallets[t.assetValue.chain];if(!n)throw new T("core_wallet_connection_not_found");try{return await n.transfer(A(this,te).call(this,t))}catch(a){throw new T("core_swap_transaction_error",a)}});b(this,"deposit",async({assetValue:t,recipient:n,router:a,...i})=>{const{chain:s,symbol:p,ticker:u}=t,y=this.connectedWallets[s];if(!await _a({address:await(y==null?void 0:y.getAddress()),chain:s}))throw new T("core_transaction_invalid_sender_address");if(!y)throw new T("core_wallet_connection_not_found");const m=A(this,te).call(this,{assetValue:t,recipient:n,router:a,...i});try{switch(s){case r.THORChain:case r.Maya:{const c=y;return await(n===""?c.deposit(m):c.transfer(m))}case r.Ethereum:case r.BinanceSmartChain:case r.Avalanche:{const{getChecksumAddressFromAsset:c}=await import("@swapkit/toolbox-evm"),_=s===r.Avalanche?Ke:s===r.BinanceSmartChain?Ye:je;return await y.call({abi:_,contractAddress:a||(await A(this,U).call(this,s)).router,funcName:"depositWithExpiry",funcParams:[n,c({chain:s,symbol:p,ticker:u},s),t.getBaseValue("string"),m.memo,i.expiration||parseInt(`${(new Date().getTime()+15*60*1e3)/1e3}`)],txOverrides:{from:m.from,value:t.isGasAsset?t.getBaseValue("bigint"):void 0}})}default:return await y.transfer(m)}}catch(c){const _=((c==null?void 0:c.message)||(c==null?void 0:c.toString())).toLowerCase(),E=_==null?void 0:_.includes("insufficient funds"),R=_==null?void 0:_.includes("gas"),O=_==null?void 0:_.includes("server"),S=_==null?void 0:_.includes("user rejected"),w=E?"core_transaction_deposit_insufficient_funds_error":R?"core_transaction_deposit_gas_error":O?"core_transaction_deposit_server_error":S?"core_transaction_user_rejected":"core_transaction_deposit_error";throw new T(w,c)}});b(this,"createLiquidity",async({runeAssetValue:t,assetValue:n})=>{if(t.lte(0)||n.lte(0))throw new T("core_transaction_create_liquidity_invalid_params");let a="",i="";try{a=await A(this,N).call(this,{assetValue:t,memo:C(f.DEPOSIT,{...n,address:this.getAddress(n.chain)})})}catch(s){throw new T("core_transaction_create_liquidity_rune_error",s)}try{i=await A(this,N).call(this,{assetValue:n,memo:C(f.DEPOSIT,{...n,address:this.getAddress(r.THORChain)})})}catch(s){throw new T("core_transaction_create_liquidity_asset_error",s)}return{runeTx:a,assetTx:i}});b(this,"addLiquidity",async({runeAssetValue:t,assetValue:n,runeAddr:a,assetAddr:i,isPendingSymmAsset:s,mode:p="sym"})=>{const{chain:u,symbol:y}=n,l=p==="sym",m=(t==null?void 0:t.gt(0))&&(l||p==="rune"),c=(n==null?void 0:n.gt(0))&&(l||p==="asset"),_=s||m,E=_?a||this.getAddress(r.THORChain):"",R=l||p==="asset"?i||this.getAddress(u):"";if(!m&&!c)throw new T("core_transaction_add_liquidity_invalid_params");if(_&&!E)throw new T("core_transaction_add_liquidity_no_rune_address");let O,S;if(m&&t)try{O=await A(this,N).call(this,{assetValue:t,memo:C(f.DEPOSIT,{chain:u,symbol:y,address:R})})}catch(w){throw new T("core_transaction_add_liquidity_rune_error",w)}if(c&&n)try{S=await A(this,N).call(this,{assetValue:n,memo:C(f.DEPOSIT,{chain:u,symbol:y,address:E})})}catch(w){throw new T("core_transaction_add_liquidity_asset_error",w)}return{runeTx:O,assetTx:S}});b(this,"addLiquidityPart",({assetValue:t,poolAddress:n,address:a,symmetric:i})=>{if(i&&!a)throw new T("core_transaction_add_liquidity_invalid_params");const s=C(f.DEPOSIT,{chain:n.split(".")[0],symbol:n.split(".")[1],address:i?a:""});return A(this,N).call(this,{assetValue:t,memo:s})});b(this,"withdraw",async({memo:t,assetValue:n,percent:a,from:i,to:s})=>{const p=s==="rune"&&i!=="rune"?D.fromChainOrSignature(r.THORChain):i==="sym"&&s==="sym"||i==="rune"||i==="asset"?void 0:n,u=pe(i==="asset"?n.chain:r.THORChain),y=t||C(f.WITHDRAW,{symbol:n.symbol,chain:n.chain,ticker:n.ticker,basisPoints:Math.min(1e4,Math.round(a*100)),targetAssetString:p==null?void 0:p.toString(),singleSide:!1});return A(this,N).call(this,{assetValue:u,memo:y})});b(this,"savings",async({assetValue:t,memo:n,percent:a,type:i})=>{const s=i==="add"?f.DEPOSIT:f.WITHDRAW,p=n||C(s,{ticker:t.ticker,symbol:t.symbol,chain:t.chain,singleSide:!0,basisPoints:a?Math.min(1e4,Math.round(a*100)):void 0}),u=s===f.DEPOSIT?t:pe(t.chain);return A(this,N).call(this,{memo:p,assetValue:u})});b(this,"loan",({assetValue:t,memo:n,minAmount:a,type:i})=>A(this,N).call(this,{assetValue:t,memo:n||C(i==="open"?f.OPEN_LOAN:f.CLOSE_LOAN,{asset:t.toString(),minAmount:a.toString(),address:this.getAddress(t.chain)})}));b(this,"nodeAction",({type:t,assetValue:n,address:a})=>{const i=t==="bond"?f.BOND:t==="unbond"?f.UNBOND:f.LEAVE,s=C(i,{address:a,unbondAmount:t==="unbond"?n.getBaseValue("number"):void 0});return A(this,ee).call(this,{memo:s,assetValue:t==="bond"?n:pe(r.THORChain)})});b(this,"registerThorname",({assetValue:t,...n})=>A(this,ee).call(this,{assetValue:t,memo:C(f.THORNAME_REGISTER,n)}));b(this,"extend",({wallets:t,config:n,apis:a={},rpcUrls:i={}})=>{try{t.forEach(s=>{this[s.connectMethodName]=s.connect({addChain:A(this,le),config:n||{},apis:a,rpcUrls:i})})}catch(s){throw new T("core_extend_error",s)}});b(this,"estimateMaxSendableAmount",async({chain:t,params:n})=>{const a=this.getWallet(t);switch(t){case r.Arbitrum:case r.Avalanche:case r.BinanceSmartChain:case r.Ethereum:case r.Optimism:case r.Polygon:{const{estimateMaxSendableAmount:i}=await import("@swapkit/toolbox-evm");return i({...n,toolbox:a})}case r.Bitcoin:case r.BitcoinCash:case r.Dogecoin:case r.Litecoin:return a.estimateMaxSendableAmount(n);case r.Binance:case r.THORChain:case r.Cosmos:{const{estimateMaxSendableAmount:i}=await import("@swapkit/toolbox-cosmos");return i({...n,toolbox:a})}default:throw new T("core_estimated_max_spendable_chain_not_supported")}});b(this,"connectXDEFI",async t=>{throw new T("core_wallet_xdefi_not_installed")});b(this,"connectEVMWallet",async(t,n)=>{throw new T("core_wallet_evmwallet_not_installed")});b(this,"connectWalletconnect",async(t,n)=>{throw new T("core_wallet_walletconnect_not_installed")});b(this,"connectKeepkey",async(t,n)=>{throw new T("core_wallet_keepkey_not_installed")});b(this,"connectKeystore",async(t,n)=>{throw new T("core_wallet_keystore_not_installed")});b(this,"connectLedger",async(t,n)=>{throw new T("core_wallet_ledger_not_installed")});b(this,"connectTrezor",async(t,n)=>{throw new T("core_wallet_trezor_not_installed")});b(this,"connectKeplr",async t=>{throw new T("core_wallet_keplr_not_installed")});b(this,"connectOkx",async t=>{throw new T("core_wallet_okx_not_installed")});b(this,"disconnectChain",t=>{this.connectedChains[t]=null,this.connectedWallets[t]=null});V(this,U,async t=>{switch(t){case r.Maya:case r.THORChain:return{gas_rate:"0",router:"",address:"",halted:!1,chain:t};default:{const a=(await ca(this.stagenet)).find(i=>i.chain===t);if(!a)throw new T("core_inbound_data_not_found");if(a!=null&&a.halted)throw new T("core_chain_halted");return a}}});V(this,le,({chain:t,wallet:n,walletMethods:a})=>{this.connectedChains[t]=n,this.connectedWallets[t]=a});V(this,z,async({assetValue:t,type:n="checkOnly",contractAddress:a})=>{const{address:i,chain:s,isGasAsset:p,isSynthetic:u}=t,y=[r.Ethereum,r.Avalanche,r.BinanceSmartChain].includes(s);if(y&&p||!y||u)return!0;const m=this.connectedWallets[s],c=n==="checkOnly"?m==null?void 0:m.isApproved:m==null?void 0:m.approve;if(!c)throw new T("core_wallet_connection_not_found");const _=this.getAddress(s);if(!i||!_)throw new T("core_approve_asset_address_or_from_not_found");const E=a||(await A(this,U).call(this,s)).router;return c({amount:t.getBaseValue("bigint"),assetAddress:i,from:_,spenderAddress:E})});V(this,N,async({assetValue:t,memo:n,feeOptionKey:a=q.Fast})=>{const{gas_rate:i,router:s,address:p}=await A(this,U).call(this,t.chain),u=(parseInt(i)||0)*St[a];return this.deposit({assetValue:t,recipient:p,memo:n,router:s,feeRate:u})});V(this,ee,async({memo:t,assetValue:n})=>{const a=await ba(this.stagenet);if(a.HALTCHAINGLOBAL>=1||a.HALTTHORCHAIN>=1)throw new T("core_chain_halted");return this.deposit({assetValue:n,recipient:"",memo:t})});V(this,te,({assetValue:t,...n})=>({...n,memo:n.memo||"",from:this.getAddress(t.chain),assetValue:t}));this.stagenet=!!t}}U=new WeakMap,le=new WeakMap,z=new WeakMap,N=new WeakMap,ee=new WeakMap,te=new WeakMap;exports.AGG_SWAP=Je;exports.ApiEndpoints=k;exports.ApiError=jt;exports.ApiUrl=G;exports.AssetValue=D;exports.BaseDecimal=h;exports.BigIntArithmetics=Le;exports.Chain=r;exports.ChainId=me;exports.ChainIdToChain=tn;exports.ChainToChainId=ve;exports.ChainToExplorerUrl=Ne;exports.ChainToHexChainId=en;exports.ChainToRPC=yt;exports.ContractAddress=nt;exports.CosmosChainList=Jt;exports.CosmosChains=pt;exports.DerivationPath=at;exports.ERROR_CODE=o;exports.ERROR_MODULE=et;exports.ERROR_TYPE=Ie;exports.EVMChainList=st;exports.EVMChains=it;exports.FeeOption=q;exports.LedgerErrorCode=dt;exports.MemoType=f;exports.NetworkDerivationPath=Kt;exports.QuoteMode=Qe;exports.RPCUrl=ge;exports.RequestClient=I;exports.SWAP_IN=Ze;exports.SWAP_OUT=ze;exports.StreamingSwapProgressStatus=Et;exports.SubstrateChainList=Yt;exports.SwapKitApi=On;exports.SwapKitCore=fa;exports.SwapKitError=T;exports.SwapKitNumber=x;exports.TCAvalancheDepositABI=Ke;exports.TCBscDepositABI=Ye;exports.TCEthereumVaultAbi=je;exports.TCSupportedChainList=Zt;exports.TCSupportedChains=ut;exports.TransactionType=At;exports.TxStatus=ht;exports.UTXOChainList=Qt;exports.UTXOChains=rt;exports.WalletOption=ot;exports.assetFromString=gn;exports.defaultRequestHeaders=xe;exports.derivationPathToString=Hn;exports.erc20ABI=Gt;exports.filterAssets=Nn;exports.formatBigIntToSafeValue=ne;exports.gasFeeMultiplier=St;exports.getAssetType=Mt;exports.getAsymmetricAssetShare=gt;exports.getAsymmetricAssetWithdrawAmount=Pn;exports.getAsymmetricRuneShare=It;exports.getAsymmetricRuneWithdrawAmount=Dn;exports.getCommonAssetInfo=wt;exports.getDecimal=Ot;exports.getEstimatedPoolShare=xn;exports.getLiquiditySlippage=Bn;exports.getMemoFor=C;exports.getMinAmountByChain=pe;exports.getSymmetricPoolShare=Ct;exports.getSymmetricWithdraw=kn;exports.getTHORNameCost=Ln;exports.isGasAsset=Be;exports.setRequestClientConfig=En;exports.validateTHORName=Vn;
|
|
1
|
+
"use strict";var xt=Object.create;var Ae=Object.defineProperty;var Bt=Object.getOwnPropertyDescriptor;var Lt=Object.getOwnPropertyNames;var Vt=Object.getPrototypeOf,Ht=Object.prototype.hasOwnProperty;var Ft=(e,t,n)=>t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ut=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Lt(t))!Ht.call(e,i)&&i!==n&&Ae(e,i,{get:()=>t[i],enumerable:!(a=Bt(t,i))||a.enumerable});return e};var K=(e,t,n)=>(n=e!=null?xt(Vt(e)):{},Ut(t||!e||!e.__esModule?Ae(n,"default",{value:e,enumerable:!0}):n,e));var b=(e,t,n)=>(Ft(e,typeof t!="symbol"?t+"":t,n),n),Wt=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var h=(e,t,n)=>(Wt(e,t,"read from private field"),n?n.call(e):t.get(e)),V=(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 $t=Object.defineProperty,qt=(e,t,n)=>t in e?$t(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,k=(e,t,n)=>(qt(e,typeof t!="symbol"?t+"":t,n),n);const Gt=[{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"}],je=[{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"}],Ke=[{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"}],Ye=[{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 Qe=(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))(Qe||{});const Je=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],Ze=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],ze=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var Ce=(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))(Ce||{}),et=(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))(et||{}),d=(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_MAX_500="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.SWAP_AMOUNT_TOO_LOW="2012",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))(d||{});const Xt={[d.INVALID_INPUT_PARAMETERS]:"Invalid input parameters: {0}.",[d.UNKNOWN_PROVIDERS]:"Unknown providers: {0}.",[d.CANNOT_FIND_INBOUND_ADDRESS]:"Cannot find inbound address.",[d.NO_INBOUND_ADDRESSES]:"No inbound addresses.",[d.CHAIN_HALTED_OR_UNSUPPORTED]:"Chain {0} halted or unsupported.",[d.MISSING_INPUT_PARAMETER]:"Missing input parameter: {0}.",[d.INVALID_TYPE_GENERIC]:"Invalid type",[d.INVALID_NUMBER_STRING]:"Invalid number string.",[d.INVALID_NUMBER]:"Invalid number.",[d.INVALID_BOOLEAN]:"Invalid boolean.",[d.INVALID_OBJECT]:"Invalid object.",[d.INVALID_ARRAY]:"Invalid array.",[d.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Sell amount must be a positive integer.",[d.SELL_BUY_ASSETS_ARE_THE_SAME]:"Sell and buy assets are the same.",[d.MISSING_SOURCE_ADDRESS_FOR_SYNTH]:"Source address is required for synth quote.",[d.AFF_ADDRESS_AND_BPS_OR_NEITHER]:"Must provide affiliateAddress and affiliateBasisPoints params, or neither.",[d.AFF_ADDRESS_TOO_LONG]:"affiliateAddress too long: 4 characters max.",[d.AFF_BPS_INTEGER_MAX_500]:"affiliateBasisPoints must be an integer between 0 and 100.",[d.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]:"Source address {0} invalid for sell chain.",[d.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:"Destination address {0} invalid for buy chain.",[d.PREFERRED_PROVIDER_NOT_SUPPORTED]:"Preferred provider not supported.",[d.SOURCE_ADDRESS_SMART_CONTRACT]:"Source address is a smart contract.",[d.SWAP_AMOUNT_TOO_LOW]:"Swap amount too low for this pair.",[d.DESTINATION_ADDRESS_SMART_CONTRACT]:"Destination address is a smart contract.",[d.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Buy amount must be a positive integer.",[d.INVALID_PROVIDER]:"Invalid provider {0}.",[d.MISSING_CROSS_CHAIN_PROVIDER]:"Missing cross-chain provider.",[d.MISSING_AVAX_PROVIDER]:"Missing AVAX provider.",[d.MISSING_BSC_PROVIDER]:"Missing BSC provider.",[d.MISSING_ETH_PROVIDER]:"Missing ETH provider.",[d.MISSING_ARB_PROVIDER]:"Missing ARB provider.",[d.INVALID_PROVIDER_FOR_SWAP_OUT]:"Invalid provider for swap out.",[d.INVALID_CHAIN]:"Invalid chain {0}.",[d.INVALID_ASSET]:"Invalid asset {0}.",[d.UNSUPPORTED_CHAIN]:"Unsupported chain {0}.",[d.UNSUPPORTED_ASSET]:"Unsupported asset {0}.",[d.UNSUPPORTED_ASSET_FOR_SWAPOUT]:"Unsupported asset {0} for swap out.",[d.THORNODE_QUOTE_GENERIC_ERROR]:"ThorNode quote generic error.",[d.INVALID_SOURCE_ADDRESS]:"Invalid source address {0}",[d.INVALID_DESTINATION_ADDRESS]:"Invalid destination address {0}",[d.NOT_ENOUGH_SYNTH_BALANCE]:"Source address doesn't have enough synth balance for this quote.",[d.SYNTH_MINTING_CAP_REACHED]:"Synth minting cap reached.",[d.INVALID_QUOTE_MODE]:"Invalid quote mode.",[d.NO_QUOTES]:"No quotes to service this request.",[d.SERVICE_UNAVAILABLE_GENERIC]:"Service unavailable.",[d.MISSING_GAS_DATA_GENERIC]:"Missing gas data.",[d.MISSING_TOKEN_INFO_GENERIC]:"Missing token info.",[d.CANT_FIND_TOKEN_LIST]:"Can't find tokenlist {0}.",[d.NO_PRICE]:"No price for asset {0}.",[d.PRICE_IS_STALE]:"Price is stale for asset {0}.",[d.ADDRESS_NOT_WHITELISTED]:"Address {0} not whitelisted for airdrop.",[d.ADDRESS_ALREADY_CLAIMED]:"Address {0} already claimed the airdrop."},he=(e,t)=>{let n=Xt[e];if(!n)return"";for(let a=0;a<t.length;a++)n=(n==null?void 0:n.replace(`{${a}}`,t[a]))??"";return n};let jt=class tt extends Error{constructor({status:t,revision:n,module:a,code:i,message:s,type:p,options:{shouldLog:u,shouldThrow:y,shouldTrace:o}={shouldLog:!0,shouldThrow:!0,shouldTrace:!0},displayMessageParams:m}){const c=s||he(i,m||[])||"";super(c),k(this,"status"),k(this,"revision"),k(this,"type"),k(this,"module"),k(this,"code"),k(this,"message"),k(this,"display"),k(this,"stack"),k(this,"options"),k(this,"displayMessageParams"),this.status=t,this.revision=n||"NO_REVISION",this.module=a,this.message=c,this.display=he(i,m||[]),this.code=i,this.type=p||Ce.UNHANDLED_ERROR,this.options={shouldLog:u||!0,shouldTrace:o||!0,shouldThrow:y||!1},this.displayMessageParams=m||[],this.options.shouldTrace&&Error.captureStackTrace(this)}static fromErrorInfo(t){return new tt(t)}toErrorInfo(){return{...this,identifier:this.identifier}}get identifier(){return`${this.revision}-${this.type||"NO_TYPE"}-${this.module}-${this.code}`}get displayMessage(){return he(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 r=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dash="DASH",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polkadot="DOT",e.Chainflip="FLIP",e.Polygon="MATIC",e.THORChain="THOR",e))(r||{}),nt=(e=>(e.ARB="0x0000000000000000000000000000000000000000",e.AVAX="0x0000000000000000000000000000000000000000",e.ETH="0x0000000000000000000000000000000000000000",e.BSC="0x0000000000000000000000000000000000000000",e.MATIC="0x0000000000000000000000000000000000001010",e.OP="0x4200000000000000000000000000000000000042",e))(nt||{}),at=(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.DASH="m/44'/5'/0'/0",e.DOGE="m/44'/3'/0'/0",e.DOT="////",e.ETH="m/44'/60'/0'/0",e.FLIP="////",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||{});const Kt={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BNB:[44,714,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DASH:[44,5,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],THOR:[44,931,0,0,0],DOT:[0,0,0,0,0],FLIP:[0,0,0,0,0]};var A=(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.DOT=10]="DOT",e[e.ETH=18]="ETH",e[e.FLIP=18]="FLIP",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[e.ZEC=8]="ZEC",e))(A||{});const Yt=["DOT","FLIP"],it=["ETH","AVAX","BSC","ARB","OP","MATIC"],st=it,rt=["BTC","BCH","DASH","DOGE","LTC"],Qt=rt,pt=["GAIA","THOR","BNB"],Jt=pt,ut=["AVAX","BNB","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"],Zt=ut;var Te=(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.Chainflip="chainflip",e.Cosmos="cosmoshub-4",e.Dash="dash",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.Polkadot="polkadot",e.Polygon="137",e.PolygonHex="0x89",e.THORChain="thorchain-mainnet-v1",e.THORChainStagenet="thorchain-stagenet-v2",e))(Te||{}),ve=(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.Chainflip="wss://mainnet-archive.chainflip.io",e.Cosmos="https://node-router.thorswap.net/cosmos/rpc",e.Dash="https://node-router.thorswap.net/dash",e.Dogecoin="https://node-router.thorswap.net/dogecoin",e.Ethereum="https://node-router.thorswap.net/ethereum",e.Kujira="https://rpc-kujira.synergynodes.com/",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.Polkadot="wss://rpc.polkadot.io",e.Polygon="https://polygon-rpc.com",e.THORChain="https://rpc.thorswap.net",e.THORChainStagenet="https://stagenet-rpc.ninerealms.com",e))(ve||{}),j=(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.net",e.ThorswapStatic="https://static.thorswap.net",e))(j||{});const ce=Object.values(r),zt=Object.keys(r),Ne=ce.reduce((e,t)=>{const n=zt.find(a=>r[a]===t);return n&&(e[t]=n),e},{}),De=ce.reduce((e,t)=>(e[t]=Te[Ne[t]],e),{}),yt=ce.reduce((e,t)=>(e[t]=ve[Ne[t]],e),{}),en=ce.reduce((e,t)=>{const n=`${Ne[t]}Hex`;return e[t]=Te[n],e},{}),tn={"0xa4b1":"ARB",42161:"ARB","0xa86a":"AVAX",43114:"AVAX","0x38":"BSC",56:"BSC","Binance-Chain-Tigris":"BNB",bitcoincash:"BCH",bitcoin:"BTC",chainflip:"FLIP","cosmoshub-4":"GAIA",dash:"DASH",dogecoin:"DOGE","0x1":"ETH","kaiyo-1":"KUJI",1:"ETH",litecoin:"LTC","mayachain-stagenet-v1":"MAYA","mayachain-mainnet-v1":"MAYA","0xa":"OP",10:"OP",polkadot:"DOT","0x89":"MATIC",137:"MATIC","thorchain-stagenet-v2":"THOR","thorchain-mainnet-v1":"THOR"},Pe={ARB:"https://arbiscan.io",AVAX:"https://snowtrace.io",BSC:"https://bscscan.com",BNB:"https://explorer.binance.org",BCH:"https://www.blockchair.com/bitcoin-cash",BTC:"https://blockchair.com/bitcoin",FLIP:"https://explorer.polkascan.io/polkadot",GAIA:"https://cosmos.bigdipper.live",DASH:"https://blockchair.com/dash",DOGE:"https://blockchair.com/dogecoin",KUJI:"https://finder.kujira.network/kaiyo-1",ETH:"https://etherscan.io",LTC:"https://blockchair.com/litecoin",MAYA:"https://www.mayascan.org",OP:"https://optimistic.etherscan.io",DOT:"https://explorer.polkascan.io/polkadot",MATIC:"https://polygonscan.com",THOR:"https://runescan.io"};var f=(e=>(e.BOND="BOND",e.DEPOSIT="+",e.LEAVE="LEAVE",e.THORNAME_REGISTER="~",e.UNBOND="UNBOND",e.WITHDRAW="-",e.OPEN_LOAN="$+",e.CLOSE_LOAN="$-",e))(f||{}),X=(e=>(e.Average="average",e.Fast="fast",e.Fastest="fastest",e))(X||{}),ot=(e=>(e.KEYSTORE="KEYSTORE",e.KEEPKEY="KEEPKEY",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.OKX_MOBILE="OKX_MOBILE",e.BRAVE="BRAVE",e.WALLETCONNECT="WALLETCONNECT",e))(ot||{}),dt=(e=>(e[e.NoError=36864]="NoError",e[e.LockedDevice=21781]="LockedDevice",e[e.TC_NotFound=65535]="TC_NotFound",e))(dt||{}),nn=Object.defineProperty,an=(e,t,n)=>t in e?nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,N=(e,t,n)=>(an(e,typeof t!="symbol"?t+"":t,n),n),sn=(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)},M=(e,t,n)=>(sn(e,t,"access private method"),n),l=(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_MAX_500="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.SWAP_AMOUNT_TOO_LOW="2012",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))(l||{});l.INVALID_INPUT_PARAMETERS+"",l.UNKNOWN_PROVIDERS+"",l.CANNOT_FIND_INBOUND_ADDRESS+"",l.NO_INBOUND_ADDRESSES+"",l.CHAIN_HALTED_OR_UNSUPPORTED+"",l.MISSING_INPUT_PARAMETER+"",l.INVALID_TYPE_GENERIC+"",l.INVALID_NUMBER_STRING+"",l.INVALID_NUMBER+"",l.INVALID_BOOLEAN+"",l.INVALID_OBJECT+"",l.INVALID_ARRAY+"",l.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER+"",l.SELL_BUY_ASSETS_ARE_THE_SAME+"",l.MISSING_SOURCE_ADDRESS_FOR_SYNTH+"",l.AFF_ADDRESS_AND_BPS_OR_NEITHER+"",l.AFF_ADDRESS_TOO_LONG+"",l.AFF_BPS_INTEGER_MAX_500+"",l.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN+"",l.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN+"",l.PREFERRED_PROVIDER_NOT_SUPPORTED+"",l.SOURCE_ADDRESS_SMART_CONTRACT+"",l.SWAP_AMOUNT_TOO_LOW+"",l.DESTINATION_ADDRESS_SMART_CONTRACT+"",l.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER+"",l.INVALID_PROVIDER+"",l.MISSING_CROSS_CHAIN_PROVIDER+"",l.MISSING_AVAX_PROVIDER+"",l.MISSING_BSC_PROVIDER+"",l.MISSING_ETH_PROVIDER+"",l.MISSING_ARB_PROVIDER+"",l.INVALID_PROVIDER_FOR_SWAP_OUT+"",l.INVALID_CHAIN+"",l.INVALID_ASSET+"",l.UNSUPPORTED_CHAIN+"",l.UNSUPPORTED_ASSET+"",l.UNSUPPORTED_ASSET_FOR_SWAPOUT+"",l.THORNODE_QUOTE_GENERIC_ERROR+"",l.INVALID_SOURCE_ADDRESS+"",l.INVALID_DESTINATION_ADDRESS+"",l.NOT_ENOUGH_SYNTH_BALANCE+"",l.SYNTH_MINTING_CAP_REACHED+"",l.INVALID_QUOTE_MODE+"",l.NO_QUOTES+"",l.SERVICE_UNAVAILABLE_GENERIC+"",l.MISSING_GAS_DATA_GENERIC+"",l.MISSING_TOKEN_INFO_GENERIC+"",l.CANT_FIND_TOKEN_LIST+"",l.NO_PRICE+"",l.PRICE_IS_STALE+"",l.ADDRESS_NOT_WHITELISTED+"",l.ADDRESS_ALREADY_CLAIMED+"";var be=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dash="DASH",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polkadot="DOT",e.Chainflip="FLIP",e.Polygon="MATIC",e.THORChain="THOR",e))(be||{}),ke=(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.Chainflip="chainflip",e.Cosmos="cosmoshub-4",e.Dash="dash",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.Polkadot="polkadot",e.Polygon="137",e.PolygonHex="0x89",e.THORChain="thorchain-mainnet-v1",e.THORChainStagenet="thorchain-stagenet-v2",e))(ke||{}),lt=(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.Chainflip="wss://mainnet-archive.chainflip.io",e.Cosmos="https://node-router.thorswap.net/cosmos/rpc",e.Dash="https://node-router.thorswap.net/dash",e.Dogecoin="https://node-router.thorswap.net/dogecoin",e.Ethereum="https://node-router.thorswap.net/ethereum",e.Kujira="https://rpc-kujira.synergynodes.com/",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.Polkadot="wss://rpc.polkadot.io",e.Polygon="https://polygon-rpc.com",e.THORChain="https://rpc.thorswap.net",e.THORChainStagenet="https://stagenet-rpc.ninerealms.com",e))(lt||{}),L=(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.net",e.ThorswapStatic="https://static.thorswap.net",e))(L||{});const _e=Object.values(be),rn=Object.keys(be),xe=_e.reduce((e,t)=>{const n=rn.find(a=>be[a]===t);return n&&(e[t]=n),e},{});_e.reduce((e,t)=>(e[t]=ke[xe[t]],e),{});_e.reduce((e,t)=>(e[t]=lt[xe[t]],e),{});_e.reduce((e,t)=>{const n=`${xe[t]}Hex`;return e[t]=ke[n],e},{});class He extends Error{constructor(t,n,a){const i=t.status||t.status===0?t.status:"",s=t.statusText||"",p=`${i} ${s}`.trim(),u=p?`status code ${p}`:"an unknown error";super(`Request failed with ${u}`),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 mt 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 se=e=>e!==null&&typeof e=="object",ie=(...e)=>{for(const t of e)if((!se(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return Be({},...e)},Tt=(e={},t={})=>{const n=new globalThis.Headers(e),a=t instanceof globalThis.Headers,i=new globalThis.Headers(t);for(const[s,p]of i.entries())a&&p==="undefined"||p===void 0?n.delete(s):n.set(s,p);return n},Be=(...e)=>{let t={},n={};for(const a of e)if(Array.isArray(a))Array.isArray(t)||(t=[]),t=[...t,...a];else if(se(a)){for(let[i,s]of Object.entries(a))se(s)&&i in t&&(s=Be(t[i],s)),t={...t,[i]:s};se(a.headers)&&(n=Tt(n,a.headers),t.headers=n)}return t},pn=(()=>{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})(),un=typeof globalThis.AbortController=="function",yn=typeof globalThis.ReadableStream=="function",on=typeof globalThis.FormData=="function",ct=["get","post","put","patch","head","delete"],dn={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},Ee=2147483647,bt=Symbol("stop"),ln={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},mn={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},Tn=e=>ct.includes(e)?e.toUpperCase():e,cn=["get","put","head","delete","options","trace"],bn=[408,413,429,500,502,503,504],_t=[413,429,503],Fe={limit:2,methods:cn,statusCodes:bn,afterStatusCodes:_t,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},_n=(e={})=>{if(typeof e=="number")return{...Fe,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{...Fe,...e,afterStatusCodes:_t}};async function fn(e,t,n,a){return new Promise((i,s)=>{const p=setTimeout(()=>{n&&n.abort(),s(new mt(e))},a.timeout);a.fetch(e,t).then(i).catch(s).then(()=>{clearTimeout(p)})})}async function An(e,{signal:t}){return new Promise((n,a)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",i,{once:!0}));function i(){clearTimeout(s),a(t.reason)}const s=setTimeout(()=>{t==null||t.removeEventListener("abort",i),n()},e)})}const hn=(e,t)=>{const n={};for(const a in t)!(a in mn)&&!(a in ln)&&!(a in e)&&(n[a]=t[a]);return n};class ye{static create(t,n){const a=new ye(t,n),i=async()=>{if(typeof a._options.timeout=="number"&&a._options.timeout>Ee)throw new RangeError(`The \`timeout\` option cannot be greater than ${Ee}`);await Promise.resolve();let p=await a._fetch();for(const u of a._options.hooks.afterResponse){const y=await u(a.request,a._options,a._decorateResponse(p.clone()));y instanceof globalThis.Response&&(p=y)}if(a._decorateResponse(p),!p.ok&&a._options.throwHttpErrors){let u=new He(p,a.request,a._options);for(const y of a._options.hooks.beforeError)u=await y(u);throw u}if(a._options.onDownloadProgress){if(typeof a._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!yn)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return a._stream(p.clone(),a._options.onDownloadProgress)}return p},s=a._options.retry.methods.includes(a.request.method.toLowerCase())?a._retry(i):i();for(const[p,u]of Object.entries(dn))s[p]=async()=>{a.request.headers.set("accept",a.request.headers.get("accept")||u);const y=(await s).clone();if(p==="json"){if(y.status===204||(await y.clone().arrayBuffer()).byteLength===0)return"";if(n.parseJson)return n.parseJson(await y.text())}return y[p]()};return s}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:Tt(this._input.headers,n.headers),hooks:Be({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:Tn(n.method??this._input.method),prefixUrl:String(n.prefixUrl||""),retry:_n(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(un){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(pn&&(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()),i=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);(on&&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(i,{...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 mt)){if(t instanceof He){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 i=Number(a);return Number.isNaN(i)?i=Date.parse(a)-Date.now():i*=1e3,this._options.retry.maxRetryAfter!==void 0&&i>this._options.retry.maxRetryAfter?0:i}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),Ee);if(a!==0&&this._retryCount>0){await An(a,{signal:this._options.signal});for(const i of this._options.hooks.beforeRetry)if(await i({request:this.request,options:this._options,error:n,retryCount:this._retryCount})===bt)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=hn(this.request,this._options);return this._options.timeout===!1?this._options.fetch(this.request.clone(),t):fn(this.request.clone(),t,this.abortController,this._options)}_stream(t,n){const a=Number(t.headers.get("content-length"))||0;let i=0;return t.status===204?(n&&n({percent:1,totalBytes:a,transferredBytes:i},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const p=t.body.getReader();n&&n({percent:0,transferredBytes:0,totalBytes:a},new Uint8Array);async function u(){const{done:y,value:o}=await p.read();if(y){s.close();return}if(n){i+=o.byteLength;const m=a===0?0:i/a;n({percent:m,transferredBytes:i,totalBytes:a},o)}s.enqueue(o),await u()}await u()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}/*! MIT License © Sindre Sorhus */const we=e=>{const t=(n,a)=>ye.create(n,ie(e,a));for(const n of ct)t[n]=(a,i)=>ye.create(a,ie(e,i,{method:n}));return t.create=n=>we(ie(n)),t.extend=n=>we(ie(e,n)),t.stop=bt,t},ft=we();let re;const x={CachedPrices:`${L.ThorswapApi}/tokenlist/cached-price`,GasRates:`${L.ThorswapApi}/resource-worker/gasPrice/getAll`,Quote:`${L.ThorswapApi}/aggregator/tokens/quote`,Txn:`${L.ThorswapApi}/apiusage/v2/txn`,TokenlistProviders:`${L.ThorswapApi}/tokenlist/providers`,TokenList:`${L.ThorswapStatic}/token-list`,Thorname:`${L.ThorswapApi}/thorname`},Le=typeof window<"u"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"},Ue=()=>re||(re=ft.create({headers:Le}),re),En=({apiKey:e,...t})=>{re=ft.create({...t,headers:{...Le,...t.headers,"x-api-key":e}})},I={get:(e,t)=>Ue().get(e,t).json(),post:(e,t)=>Ue().post(e,t).json()},Rn=({tokens:e,...t})=>{const n=new URLSearchParams;return e.filter((a,i,s)=>s.findIndex(p=>p===a)===i).forEach(a=>n.append("tokens",JSON.stringify(a))),t.metadata&&n.append("metadata","true"),t.lookup&&n.append("lookup","true"),t.sparkline&&n.append("sparkline","true"),I.post(x.CachedPrices,{body:n.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}})},Sn={getCachedPrices:Rn,getQuote:e=>I.get(x.Quote,{searchParams:e}),getGasRates:()=>I.get(x.GasRates),getTxnDetails:e=>I.get(x.Txn,{searchParams:e}),getTokenlistProviders:()=>I.get(x.TokenlistProviders),getTokenList:e=>I.get(`${x.TokenList}/${e}.json`),getThornameAddresses:e=>I.get(`${x.Thorname}/${e}`),getThornameRegisteredChains:e=>I.get(`${x.Thorname}/chains/${e}`),getThornameRlookup:(e,t)=>I.get(`${x.Thorname}/rlookup`,{searchParams:{address:e,chain:t}})};var At=(e=>(e.SWAP_TC_TO_TC="SWAP:TC-TC",e.SWAP_ETH_TO_TC="SWAP:ERC20-TC",e.SWAP_TC_TO_ETH="SWAP:TC-ERC20",e.SWAP_ETH_TO_ETH="SWAP:ERC20-ERC20",e.SWAP_AVAX_TO_TC="SWAP:AVAX-TC",e.SWAP_TC_TO_AVAX="SWAP:TC-AVAX",e.SWAP_AVAX_TO_AVAX="SWAP:AVAX-AVAX",e.SWAP_ETH_TO_AVAX="SWAP:ETH-AVAX",e.SWAP_AVAX_TO_ETH="SWAP:AVAX-ETH",e.SWAP_TC_TO_GAIA="SWAP:TC-GAIA",e.SWAP_GAIA_TO_TC="SWAP:GAIA-TC",e.SWAP_TC_TO_BNB="SWAP:TC-BNB",e.SWAP_BNB_TO_TC="SWAP:BNB-TC",e.SWAP_TC_TO_BTC="SWAP:TC-BTC",e.SWAP_BTC_TO_TC="SWAP:BTC-TC",e.SWAP_TC_TO_BCH="SWAP:TC-BCH",e.SWAP_BCH_TO_TC="SWAP:BCH-TC",e.SWAP_TC_TO_LTC="SWAP:TC-LTC",e.SWAP_LTC_TO_TC="SWAP:LTC-TC",e.SWAP_TC_TO_DOGE="SWAP:TC-DOGE",e.SWAP_DOGE_TO_TC="SWAP:DOGE-TC",e.TC_STATUS="TC:STATUS",e.TC_TRANSFER="TC:TRANSFER",e.TC_DEPOSIT="TC:DEPOSIT",e.TC_SEND="TC:SEND",e.TC_SWITCH="TC:SWITCH",e.TC_LP_ADD="TC:ADDLIQUIDITY",e.TC_LP_WITHDRAW="TC:WITHDRAW",e.TC_TNS_CREATE="TC:TNS-CREATE",e.TC_TNS_EXTEND="TC:TNS-EXTEND",e.TC_TNS_UPDATE="TC:TNS-UPDATE",e.TC_SAVINGS_ADD="TC:ADDSAVINGS",e.TC_SAVINGS_WITHDRAW="TC:WITHDRAWSAVINGS",e.TC_LENDING_OPEN="TC:LENDINGOPEN",e.TC_LENDING_CLOSE="TC:LENDINGCLOSE",e.ETH_APPROVAL="ETH:APPROVAL",e.ETH_STATUS="ETH:STATUS",e.ETH_TRANSFER_TO_TC="ETH:TRANSFER:IN",e.ETH_TRANSFER_FROM_TC="ETH:TRANSFER:OUT",e.AVAX_APPROVAL="AVAX:APPROVAL",e.AVAX_STATUS="AVAX:STATUS",e.AVAX_TRANSFER_TO_TC="AVAX:TRANSFER:IN",e.AVAX_TRANSFER_FROM_TC="AVAX:TRANSFER:OUT",e.BSC_APPROVAL="BSC:APPROVAL",e.BSC_STATUS="BSC:STATUS",e.BSC_TRANSFER_TO_TC="BSC:TRANSFER:IN",e.BSC_TRANSFER_FROM_TC="BSC:TRANSFER:OUT",e.APPROVAL="APPROVAL",e.STATUS="STATUS",e.TRANSFER_TO_TC="TRANSFER:IN",e.TRANSFER_FROM_TC="TRANSFER:OUT",e.UNSUPPORTED="UNSUPPORTED",e.TC_LENDING="TC:LENDING",e))(At||{}),ht=(e=>(e.PENDING="pending",e.SUCCESS="success",e.CANCELLED="cancelled",e.REFUNDED="refunded",e.REPLACED="replaced",e.ERROR="error",e.UNKNOWN="unknown",e.NOT_STARTED="not_started",e.NOT_FOUND="not_found",e.RETRIES_EXCEEDED="retries_exceeded",e.STREAMING="streaming",e))(ht||{}),Et=(e=>(e[e.NOT_STARTED=0]="NOT_STARTED",e[e.SUCCESS=1]="SUCCESS",e[e.REFUNDED=2]="REFUNDED",e))(Et||{});const On="0x313ce567",Rt=async({chain:e,to:t})=>{try{const{result:n}=await I.post(yt[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:On},"latest"]})});return parseInt(BigInt(n).toString())}catch(n){return console.error(n),A[e]}},wn=async e=>{if(e===r.Ethereum)return A.ETH;const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Rt({chain:r.Ethereum,to:t}):A.ETH},Mn=async e=>{const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Rt({chain:r.Avalanche,to:t.toLowerCase()}):A.AVAX},In=async e=>(e===r.BinanceSmartChain,A.BSC),St=async({chain:e,symbol:t})=>{switch(e){case r.Ethereum:return wn(t);case r.Avalanche:return Mn(t);case r.BinanceSmartChain:return In(t);default:return A[e]}},Ot={[X.Average]:1.2,[X.Fast]:1.5,[X.Fastest]:2},Ve=({chain:e,symbol:t})=>{switch(e){case r.Arbitrum:case r.Optimism:return t==="ETH";case r.Maya:return t==="CACAO";case r.Kujira:return t==="KUJI";case r.Cosmos:return t==="ATOM";case r.Polygon:return t==="MATIC";case r.BinanceSmartChain:return t==="BNB";case r.THORChain:return t==="RUNE";default:return t===e}},wt=e=>{switch(e){case`${r.Ethereum}.THOR`:return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case`${r.Ethereum}.vTHOR`:return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case r.Cosmos:return{identifier:"GAIA.ATOM",decimal:A[e]};case r.THORChain:return{identifier:"THOR.RUNE",decimal:A[e]};case r.BinanceSmartChain:return{identifier:"BSC.BNB",decimal:A[e]};case r.Maya:return{identifier:"MAYA.CACAO",decimal:A.MAYA};case`${r.Maya}.MAYA`:return{identifier:"MAYA.MAYA",decimal:4};case`${r.Kujira}.USK`:return{identifier:`${r.Kujira}.USK`,decimal:6};default:return{identifier:`${e}.${e}`,decimal:A[e]}}},Mt=({chain:e,symbol:t})=>{if(t.includes("/"))return"Synth";switch(e){case r.Cosmos:return t==="ATOM"?"Native":r.Cosmos;case r.Kujira:return t===r.Kujira?"Native":r.Kujira;case r.Binance:return t===r.Binance?"Native":"BEP2";case r.BinanceSmartChain:return t===r.Binance?"Native":"BEP20";case r.Ethereum:return t===r.Ethereum?"Native":"ERC20";case r.Avalanche:return t===r.Avalanche?"Native":r.Avalanche;case r.Polygon:return t===r.Polygon?"Native":"POLYGON";case r.Arbitrum:return[r.Ethereum,r.Arbitrum].includes(t)?"Native":"ARBITRUM";case r.Optimism:return[r.Ethereum,r.Optimism].includes(t)?"Native":"OPTIMISM";default:return"Native"}},gn=e=>{var t;const[n,...a]=e.split("."),i=e.includes("/"),s=a.join("."),p=(t=s==null?void 0:s.split("-"))==null?void 0:t[0];return{chain:n,symbol:s,ticker:p,synth:i}},Cn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),vn=e=>{const[t,n]=e.split(".");if(!st.includes(t))return!0;const[,a]=n.split("-");return Ve({chain:t,symbol:n})||!!a},Nn=e=>e.filter(({chain:t,value:n,symbol:a})=>{const i=`${t}.${a}`;return!Cn.test(i)&&vn(i)&&n!=="0"});function It({liquidityUnits:e,poolUnits:t,runeDepth:n}){const a=C(e),i=C(t),s=C(n),p=a.mul(s),u=i.mul(i).mul(2),y=i.mul(a).mul(2),o=a.mul(a),m=i.mul(i).mul(i);return p.mul(u.sub(y).add(o)).div(m)}function gt({liquidityUnits:e,poolUnits:t,assetDepth:n}){const a=C(e),i=C(t),s=C(n),p=a.mul(s),u=i.mul(i).mul(2),y=i.mul(a).mul(2),o=a.mul(a),m=p.mul(u.sub(y).add(o)),c=i.mul(i).mul(i);return m.div(c)}function Dn({percent:e,runeDepth:t,liquidityUnits:n,poolUnits:a}){return It({runeDepth:t,liquidityUnits:n,poolUnits:a}).mul(e)}function Pn({percent:e,assetDepth:t,liquidityUnits:n,poolUnits:a}){return gt({assetDepth:t,liquidityUnits:n,poolUnits:a}).mul(e)}function C(e){return P.fromBigInt(BigInt(e),A.THOR)}function Ct({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a}){return{assetAmount:C(a).mul(e).div(t),runeAmount:C(n).mul(e).div(t)}}function kn({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a,percent:i}){return Object.fromEntries(Object.entries(Ct({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})).map(([s,p])=>[s,p.mul(i)]))}function xn({runeDepth:e,poolUnits:t,assetDepth:n,liquidityUnits:a,runeAmount:i,assetAmount:s}){const p=new P({value:e,decimal:8}),u=new P({value:n,decimal:8}),y=new P({value:t,decimal:8}),o=new P({value:i,decimal:8}),m=new P({value:s,decimal:8}),c=o.mul(u),_=m.mul(p),E=o.mul(m),R=p.mul(u),S=y.mul(c.add(_.add(E.mul(2)))),O=c.add(_.add(R.mul(2))),w=S.div(O),B=C(a).add(w);if(w.getBaseValue("number")===0)return B.div(y).getBaseValue("number");const fe=y.add(B);return B.div(fe).getBaseValue("number")}function Bn({runeAmount:e,assetAmount:t,runeDepth:n,assetDepth:a}){if(e==="0"||t==="0"||n==="0"||a==="0")return 0;const i=C(n),s=C(a),p=C(t),u=C(e),y=p.mul(i).sub(s.mul(u)),o=s.mul(u).add(i.mul(s));return Math.abs(y.div(o).getBaseValue("number"))}const v=(e,t)=>{switch(e){case f.LEAVE:case f.BOND:{const{address:n}=t;return`${e}:${n}`}case f.UNBOND:{const{address:n,unbondAmount:a}=t;return`${e}:${n}:${a}`}case f.THORNAME_REGISTER:{const{name:n,chain:a,address:i,owner:s}=t;return`${e}:${n}:${a}:${i}${s?`:${s}`:""}`}case f.DEPOSIT:{const{chain:n,symbol:a,address:i,singleSide:s}=t;return s?`${e}:${n}/${a}`:`${e}:${((p,u)=>{switch(p){case r.Litecoin:return"l";case r.Dogecoin:return"d";case r.BitcoinCash:return"c";default:return`${p}.${u}`}})(n,a)}:${i||""}`}case f.WITHDRAW:{const{chain:n,ticker:a,symbol:i,basisPoints:s,targetAssetString:p,singleSide:u}=t,y=n==="ETH"&&a!=="ETH"?`${a}-${i.slice(-3)}`:i,o=!u&&p?`:${p}`:"";return`${e}:${n}${u?"/":"."}${y}:${s}${o}`}case f.OPEN_LOAN:case f.CLOSE_LOAN:{const{asset:n,address:a}=t;return`${e}:${n}:${a}`}default:return""}};function Ln(e){if(e<0)throw new Error("Invalid number of year");return 10+e}function Vn(e){if(e.length>30)return!1;const t=/^[a-zA-Z0-9+_-]+$/g;return!!e.match(t)}function Hn([e,t,n,a,i]){return`${e}'/${t}'/${n}'/${a}${typeof i!="number"?"":`/${i}`}`}const We=[...Object.values(r),"TERRA"];function Fn(e=""){const t=e.toUpperCase(),[n]=t.split(".");if(We.includes(n))return!0;const[a]=t.split("/");if(We.includes(a))return!0;throw new Error(`Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`)}const z=8,F=e=>10n**BigInt(e),Z=e=>Math.log10(parseFloat(e.toString()));function ae({value:e,bigIntDecimal:t=z,decimal:n=z}){if(n===0)return e.toString();const a=e<0n;let i=e.toString().substring(a?1:0);const s=n-(i.length-1);s>0&&(i="0".repeat(s)+i);const p=i.length-n;let u=i.slice(-n);return parseInt(u[t])>=5?u=`${u.substring(0,t-1)}${(parseInt(u[t-1])+1).toString()}`:u=u.substring(0,t),`${a?"-":""}${i.slice(0,p)}.${u}`.replace(/\.?0*$/,"")}var W,Q,H,$,Me,vt,pe,Re,oe,Ie;const Un=class Nt{constructor(t){Y(this,W),Y(this,H),Y(this,Me),Y(this,pe),Y(this,oe),N(this,"decimalMultiplier",10n**8n),N(this,"bigIntValue",0n),N(this,"decimal");const n=ge(t),a=typeof t=="object";this.decimal=a?t.decimal:void 0,this.decimalMultiplier=a&&"decimalMultiplier"in t?t.decimalMultiplier:F(Math.max(Dt(le(n)),this.decimal||0)),M(this,Me,vt).call(this,n)}static fromBigInt(t,n){return new Nt({decimal:n,value:ae({value:t,bigIntDecimal:n,decimal:n})})}static shiftDecimals({value:t,from:n,to:a}){return this.fromBigInt(t.getBaseValue("bigint")*F(a)/F(n),a)}set(t){return new this.constructor({decimal:this.decimal,value:t,identifier:this.toString()})}add(...t){return M(this,W,Q).call(this,"add",...t)}sub(...t){return M(this,W,Q).call(this,"sub",...t)}mul(...t){return M(this,W,Q).call(this,"mul",...t)}div(...t){return M(this,W,Q).call(this,"div",...t)}gt(t){return M(this,H,$).call(this,"gt",t)}gte(t){return M(this,H,$).call(this,"gte",t)}lt(t){return M(this,H,$).call(this,"lt",t)}lte(t){return M(this,H,$).call(this,"lte",t)}eqValue(t){return M(this,H,$).call(this,"eqValue",t)}getValue(t){const n=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||Z(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/F(this.decimal||A.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=ge(t),i=le(a);return i==="0"||i==="undefined"?0n:M(this,oe,Ie).call(this,i,n)}toSignificant(t=6){const[n,a]=this.getValue("string").split("."),i=n||"",s=a||"";if((parseInt(i)?i.length+s.length:s.length)<=t)return this.getValue("string");if(i.length>=t)return i.slice(0,t).padEnd(i.length,"0");if(parseInt(i))return`${i}.${s.slice(0,t-i.length)}`.padEnd(t-i.length,"0");const p=parseInt(s),u=`${p}`.slice(0,t);return`0.${u.padStart(s.length-`${p}`.length+u.length,"0")}`}toFixed(t=6){const[n,a]=this.getValue("string").split("."),i=n||"",s=a||"";if(parseInt(i))return`${i}.${s.slice(0,t)}`.padEnd(t,"0");const p=parseInt(s),u=`${p}`.slice(0,t);return`0.${u.padStart(s.length-`${p}`.length+u.length,"0")}`}toAbbreviation(t=2){const n=this.getValue("number"),a=["","K","M","B","T","Q","Qi","S"],i=Math.floor(Math.log10(Math.abs(n))/3),s=a[i];if(!s)return this.getValue("string");const p=10**(i*3);return`${(n/p).toFixed(t)}${s}`}toCurrency(t="$",{currencyPosition:n="start",decimal:a=2,decimalSeparator:i=".",thousandSeparator:s=","}={}){const p=this.getValue("number"),[u,y=""]=p.toFixed(6).split("."),o=u.replace(/\B(?=(\d{3})+(?!\d))/g,s),m=!u&&!y?"0.00":u==="0"?`${parseFloat(`0.${y}`)}`.replace(".",i):`${o}${parseInt(y)?`${i}${y.slice(0,a)}`:""}`;return`${n==="start"?t:""}${m}${n==="end"?t:""}`}formatBigIntToSafeValue(t,n){const a=n||this.decimal||z,i=Math.max(a,Z(this.decimalMultiplier)),s=t<0n,p=t.toString().substring(s?1:0),u=i-(p.length-1),y=u>0?"0".repeat(u)+p:p,o=y.length-i;let m=y.slice(-i);return parseInt(m[a])>=5?m=`${m.substring(0,a-1)}${(parseInt(m[a-1])+1).toString()}`:m=m.substring(0,a),`${s?"-":""}${y.slice(0,o)}.${m}`.replace(/\.?0*$/,"")}};W=new WeakSet,Q=function(e,...t){const n=M(this,pe,Re).call(this,this,...t),a=Math.max(n,Z(this.decimalMultiplier)),i=F(a),s=t.reduce((u,y)=>{const o=this.getBigIntValue(y,a);switch(e){case"add":return u+o;case"sub":return u-o;case"mul":return u*o/i;case"div":{if(o===0n)throw new RangeError("Division by zero");return u*i/o}default:return u}},this.bigIntValue*i/this.decimalMultiplier),p=ae({bigIntDecimal:a,decimal:a,value:s});return new this.constructor({decimalMultiplier:F(a),decimal:this.decimal,value:p,identifier:this.toString()})},H=new WeakSet,$=function(e,...t){const n=M(this,pe,Re).call(this,this,...t),a=this.getBigIntValue(t[0],n),i=this.getBigIntValue(this,n);switch(e){case"gt":return i>a;case"gte":return i>=a;case"lt":return i<a;case"lte":return i<=a;case"eqValue":return i===a}},Me=new WeakSet,vt=function(e){const t=le(e)||"0";this.bigIntValue=M(this,oe,Ie).call(this,t)},pe=new WeakSet,Re=function(...e){const t=e.map(n=>typeof n=="object"?n.decimal||Z(n.decimalMultiplier):Dt(le(n))).filter(Boolean);return Math.max(...t,z)},oe=new WeakSet,Ie=function(e,t){const n=t?F(t):this.decimalMultiplier,a=Z(n),[i="",s=""]=e.split(".");return BigInt(`${i}${s.padEnd(a,"0")}`)};let de=Un;const Wn=Intl.NumberFormat("fullwide",{useGrouping:!1,maximumFractionDigits:20});function le(e){const t=`${typeof e=="number"?Wn.format(e):ge(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,z)}function ge(e){return typeof e=="object"?"getValue"in e?e.getValue("string"):e.value:e}class P extends de{eq(t){return this.eqValue(t)}static fromBigInt(t,n){return new P({decimal:n,value:ae({value:t,bigIntDecimal:n,decimal:n})})}}const q=new Map;class g extends de{constructor({value:t,decimal:n,tax:a,chain:i,symbol:s,identifier:p}){super(typeof t=="object"?t:{decimal:n,value:t}),N(this,"address"),N(this,"chain"),N(this,"isGasAsset",!1),N(this,"isSynthetic",!1),N(this,"symbol"),N(this,"tax"),N(this,"ticker"),N(this,"type");const u=J(p||`${i}.${s}`);this.type=Mt(u),this.tax=a,this.chain=u.chain,this.ticker=u.ticker,this.symbol=u.symbol,this.address=u.address,this.isSynthetic=u.isSynthetic,this.isGasAsset=u.isGasAsset}toString(){return this.isSynthetic?this.symbol:`${this.chain}.${this.symbol}`}toUrl(){return this.isSynthetic?`${this.chain}.${this.symbol.replace("/",".")}`:this.toString()}eq({chain:t,symbol:n}){return this.chain===t&&this.symbol===n}chainId(){return De[this.chain]}static fromUrl(t,n=0){const[a,i,s]=t.split(".");if(!a||!i)throw new Error("Invalid asset url");const p=a===r.THORChain&&s?`${a}.${i}/${s}`:t;return Se(p,n)}static fromString(t,n=0){return Se(t,n)}static fromIdentifier(t,n=0){return Se(t,n)}static fromStringSync(t,n=0){const{chain:a,isSynthetic:i}=J(t),s=q.get(t.toUpperCase());if(i)return Oe(t,n);const{tax:p,decimal:u,identifier:y}=s||{decimal:A[a],identifier:t};return new g({tax:p,value:G(n,u),identifier:i?t:y,decimal:i?8:u})}static async fromStringWithBase(t,n=0,a=A.THOR){const i=de.shiftDecimals({value:P.fromBigInt(BigInt(n)),from:0,to:a}).getBaseValue("string");return(await g.fromString(t,n)).set(i)}static fromStringWithBaseSync(t,n=0,a=A.THOR){const{chain:i,isSynthetic:s}=J(t),p=q.get(t.toUpperCase());if(s)return Oe(t,n);const{tax:u,decimal:y,identifier:o}=p||{decimal:A[i],identifier:t};return new g({tax:u,value:G(BigInt(n),a),identifier:o,decimal:y})}static fromIdentifierSync(t,n=0){const{chain:a,isSynthetic:i}=J(t),s=q.get(t);if(i)return Oe(t,n);const{tax:p,decimal:u,identifier:y}=s||{decimal:A[a],identifier:t};return new g({tax:p,decimal:u,identifier:y,value:G(n,u)})}static fromChainOrSignature(t,n=0){const{decimal:a,identifier:i}=wt(t);return new g({value:G(n,a),decimal:a,identifier:i})}static loadStaticAssets(){return new Promise(async(t,n)=>{try{const a=await import("@swapkit/tokens");Object.values(a).forEach(i=>{var s;(s=i==null?void 0:i.tokens)==null||s.forEach(({identifier:p,chain:u,...y})=>{q.set(p.toUpperCase(),{identifier:p,decimal:"decimals"in y?y.decimals:A[u]})})}),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"})}})}}function ue(e){const t=g.fromChainOrSignature(e);switch(e){case r.Bitcoin:case r.Litecoin:case r.BitcoinCash:return t.set(10001e-8);case r.Dogecoin:return t.set(1.00000001);case r.Avalanche:case r.Ethereum:return t.set(1e-8);case r.THORChain:case r.Maya:return t.set(0);case r.Cosmos:return t.set(1e-6);default:return t.set(1e-8)}}async function Se(e,t=0){Fn(e);const n=q.get(e.toUpperCase()),a=(n==null?void 0:n.decimal)||await St(J(e));return n||q.set(e.toUpperCase(),{identifier:e,decimal:a}),new g({decimal:a,value:G(t,a),identifier:e})}function Oe(e,t=0){const[n,a]=e.split(".")[0].toUpperCase()===r.THORChain?e.split(".").slice(1).join().split("/"):e.split("/");if(!n||!a)throw new Error("Invalid asset identifier");return new g({decimal:8,value:G(t,8),identifier:`${r.THORChain}.${n}/${a}`})}function G(e,t){return typeof e=="bigint"?ae({value:e,bigIntDecimal:t,decimal:t}):e}function J(e){const t=e.slice(0,14).includes("/"),[n,a]=e.split(".")[0].toUpperCase()===r.THORChain?e.split(".").slice(1).join().split("/"):e.split("/");if(t&&(!n||!a))throw new Error("Invalid asset identifier");const i=e.includes(".")&&!t?e:`${r.THORChain}.${a}`,[s,...p]=i.split("."),[u,y]=(t?a:p.join(".")).split("-"),o=t?a:p.join(".");return{address:y==null?void 0:y.toLowerCase(),chain:s,isGasAsset:Ve({chain:s,symbol:o}),isSynthetic:t,symbol:(t?`${n}/`:"")+(y?`${u}-${(y==null?void 0:y.toLowerCase())??""}`:o),ticker:u}}const $n={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_wallet_keepkey_not_installed:10109,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,core_transaction_deposit_error:10301,core_transaction_create_liquidity_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_invalid_sender_address:10313,core_transaction_deposit_server_error:10314,core_transaction_user_rejected:10315,wallet_ledger_connection_error:20001,wallet_ledger_connection_claimed:20002,wallet_ledger_get_address_error:20003,wallet_ledger_device_not_found:20004,wallet_ledger_device_locked:20005,helpers_number_different_decimals:99101};class T extends Error{constructor(t,n){n&&console.error(n,{stack:n==null?void 0:n.stack,message:n==null?void 0:n.message}),super(t,{cause:{code:$n[t],message:t}}),Object.setPrototypeOf(this,T.prototype)}}const qn=[{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:"_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"}],Xn=[{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"}],jn=[{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"}],Kn=[{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"}],Yn=[{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"}],$e=[{inputs:[{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes",name:"clientData",type:"bytes"}],name:"ClientData",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"reason",type:"string"}],name:"Error",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOut",type:"uint256"},{indexed:!1,internalType:"address",name:"output",type:"address"}],name:"Exchange",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"totalAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalFee",type:"uint256"},{indexed:!1,internalType:"address[]",name:"recipients",type:"address[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"},{indexed:!1,internalType:"bool",name:"isBps",type:"bool"}],name:"Fee",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"srcToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"dstToken",type:"address"},{indexed:!1,internalType:"address",name:"dstReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"spentAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"returnAmount",type:"uint256"}],name:"Swapped",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isWhitelist",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueFunds",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"callTarget",type:"address"},{internalType:"address",name:"approveTarget",type:"address"},{internalType:"bytes",name:"targetData",type:"bytes"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"clientData",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapExecutionParams",name:"execution",type:"tuple"}],name:"swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"callTarget",type:"address"},{internalType:"address",name:"approveTarget",type:"address"},{internalType:"bytes",name:"targetData",type:"bytes"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"clientData",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapExecutionParams",name:"execution",type:"tuple"}],name:"swapGeneric",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IAggregationExecutor",name:"caller",type:"address"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"executorData",type:"bytes"},{internalType:"bytes",name:"clientData",type:"bytes"}],name:"swapSimpleMode",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"addr",type:"address[]"},{internalType:"bool[]",name:"value",type:"bool[]"}],name:"updateWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],qe=[{inputs:[{internalType:"contract IWETH",name:"weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessDenied",type:"error"},{inputs:[],name:"AdvanceNonceFailed",type:"error"},{inputs:[],name:"AlreadyFilled",type:"error"},{inputs:[],name:"ArbitraryStaticCallFailed",type:"error"},{inputs:[],name:"BadPool",type:"error"},{inputs:[],name:"BadSignature",type:"error"},{inputs:[],name:"ETHTransferFailed",type:"error"},{inputs:[],name:"ETHTransferFailed",type:"error"},{inputs:[],name:"EmptyPools",type:"error"},{inputs:[],name:"EthDepositRejected",type:"error"},{inputs:[],name:"GetAmountCallFailed",type:"error"},{inputs:[],name:"IncorrectDataLength",type:"error"},{inputs:[],name:"InsufficientBalance",type:"error"},{inputs:[],name:"InvalidMsgValue",type:"error"},{inputs:[],name:"InvalidMsgValue",type:"error"},{inputs:[],name:"InvalidatedOrder",type:"error"},{inputs:[],name:"MakingAmountExceeded",type:"error"},{inputs:[],name:"MakingAmountTooLow",type:"error"},{inputs:[],name:"OnlyOneAmountShouldBeZero",type:"error"},{inputs:[],name:"OrderExpired",type:"error"},{inputs:[],name:"PermitLengthTooLow",type:"error"},{inputs:[],name:"PredicateIsNotTrue",type:"error"},{inputs:[],name:"PrivateOrder",type:"error"},{inputs:[],name:"RFQBadSignature",type:"error"},{inputs:[],name:"RFQPrivateOrder",type:"error"},{inputs:[],name:"RFQSwapWithZeroAmount",type:"error"},{inputs:[],name:"RFQZeroTargetIsForbidden",type:"error"},{inputs:[],name:"ReentrancyDetected",type:"error"},{inputs:[],name:"RemainingAmountIsZero",type:"error"},{inputs:[],name:"ReservesCallFailed",type:"error"},{inputs:[],name:"ReturnAmountIsNotEnough",type:"error"},{inputs:[],name:"SafePermitBadLength",type:"error"},{inputs:[],name:"SafeTransferFailed",type:"error"},{inputs:[],name:"SafeTransferFromFailed",type:"error"},{inputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"res",type:"bytes"}],name:"SimulationResults",type:"error"},{inputs:[],name:"SwapAmountTooLarge",type:"error"},{inputs:[],name:"SwapWithZeroAmount",type:"error"},{inputs:[],name:"TakingAmountExceeded",type:"error"},{inputs:[],name:"TakingAmountIncreased",type:"error"},{inputs:[],name:"TakingAmountTooHigh",type:"error"},{inputs:[],name:"TransferFromMakerToTakerFailed",type:"error"},{inputs:[],name:"TransferFromTakerToMakerFailed",type:"error"},{inputs:[],name:"UnknownOrder",type:"error"},{inputs:[],name:"WrongAmount",type:"error"},{inputs:[],name:"WrongGetter",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroMinReturn",type:"error"},{inputs:[],name:"ZeroReturnAmount",type:"error"},{inputs:[],name:"ZeroTargetIsForbidden",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"uint256",name:"newNonce",type:"uint256"}],name:"NonceIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"remainingRaw",type:"uint256"}],name:"OrderCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"remaining",type:"uint256"}],name:"OrderFilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"makingAmount",type:"uint256"}],name:"OrderFilledRFQ",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[{internalType:"uint8",name:"amount",type:"uint8"}],name:"advanceNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"and",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"arbitraryStaticCall",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"cancelOrder",outputs:[{internalType:"uint256",name:"orderRemaining",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"orderInfo",type:"uint256"}],name:"cancelOrderRFQ",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"orderInfo",type:"uint256"},{internalType:"uint256",name:"additionalMask",type:"uint256"}],name:"cancelOrderRFQ",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"checkPredicate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"}],name:"clipperSwap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"}],name:"clipperSwapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"clipperSwapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"destroy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"eq",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"}],name:"fillOrder",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"}],name:"fillOrderRFQ",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"}],name:"fillOrderRFQCompact",outputs:[{internalType:"uint256",name:"filledMakingAmount",type:"uint256"},{internalType:"uint256",name:"filledTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"}],name:"fillOrderRFQTo",outputs:[{internalType:"uint256",name:"filledMakingAmount",type:"uint256"},{internalType:"uint256",name:"filledTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"fillOrderRFQToWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order_",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"}],name:"fillOrderTo",outputs:[{internalType:"uint256",name:"actualMakingAmount",type:"uint256"},{internalType:"uint256",name:"actualTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"fillOrderToWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"gt",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"hashOrder",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"increaseNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"maker",type:"address"},{internalType:"uint256",name:"slot",type:"uint256"}],name:"invalidatorForOrderRFQ",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"lt",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"makerAddress",type:"address"},{internalType:"uint256",name:"makerNonce",type:"uint256"}],name:"nonceEquals",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"or",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"remaining",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"remainingRaw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32[]",name:"orderHashes",type:"bytes32[]"}],name:"remainingsRaw",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueFunds",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"simulate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IAggregationExecutor",name:"executor",type:"address"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address payable",name:"srcReceiver",type:"address"},{internalType:"address payable",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"}],internalType:"struct GenericRouter.SwapDescription",name:"desc",type:"tuple"},{internalType:"bytes",name:"permit",type:"bytes"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"spentAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"time",type:"uint256"}],name:"timestampBelow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"timeNonceAccount",type:"uint256"}],name:"timestampBelowAndNonceEquals",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"uniswapV3Swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"uniswapV3SwapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"uniswapV3SwapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"unoswap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"unoswapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"unoswapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Ge=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Qn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WAVAX",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WAVAX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAXSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapAVAXForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAXSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Jn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Zn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WAVAX",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WAVAX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAXSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapAVAXForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAXSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],zn=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],ea=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct ISwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct ISwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],ta=[{inputs:[{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_pool",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newPool",type:"address"}],name:"WooPoolChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"enum IWooRouterV2.SwapType",name:"swapType",type:"uint8"},{indexed:!0,internalType:"address",name:"fromToken",type:"address"},{indexed:!0,internalType:"address",name:"toToken",type:"address"},{indexed:!1,internalType:"uint256",name:"fromAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"toAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"rebateTo",type:"address"}],name:"WooRouterSwap",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"approveTarget",type:"address"},{internalType:"address",name:"swapTarget",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"externalSwap",outputs:[{internalType:"uint256",name:"realToAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"stuckToken",type:"address"}],name:"inCaseTokenGotStuck",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"}],name:"querySwap",outputs:[{internalType:"uint256",name:"toAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"quoteToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPool",type:"address"}],name:"setPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],name:"setWhitelisted",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"rebateTo",type:"address"}],name:"swap",outputs:[{internalType:"uint256",name:"realToAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"}],name:"tryQuerySwap",outputs:[{internalType:"uint256",name:"toAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"wooPool",outputs:[{internalType:"contract IWooPPV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],na={["0xE54Ca86531e17Ef3616d22Ca28b0D458b6C89106".toLowerCase()]:Qn,["0xC22FBb3133dF781E6C25ea6acebe2D2Bb8CeA2f9".toLowerCase()]:ta,["0x60aE616a2155Ee3d9A68541Ba4544862310933d4".toLowerCase()]:Zn,["0x1111111254fb6c44bAC0beD2854e76F90643097d".toLowerCase()]:qe,["0x6131B5fae19EA4f9D964eAc0408E4408b66337b5".toLowerCase()]:$e,["0x10ED43C718714eb63d5aA57B78B54704E256024E".toLowerCase()]:Ge,["0x6131B5fae19EA4f9D964eAc0408E4408b66337b5".toLowerCase()]:$e,["0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f".toLowerCase()]:Jn,["0xEfF92A263d31888d860bD50809A8D171709b7b1c".toLowerCase()]:Ge,["0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D".toLowerCase()]:zn,["0xE592427A0AEce92De3Edee1F18E0157C05861564".toLowerCase()]:ea,["0x1111111254fb6c44bac0bed2854e76f90643097d".toLowerCase()]:qe},aa=[{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"}],ia=[{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"}],sa=[{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"}],ra=[{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"}],pa=[{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"}],ua=[{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"}],ya=[{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"}],oa=[{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"}],Pt={["0x7C38b8B2efF28511ECc14a621e263857Fb5771d3".toLowerCase()]:qn,["0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c".toLowerCase()]:Xn,["0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2".toLowerCase()]:jn},da={...na,...Pt,["0x942c6dA485FD6cEf255853ef83a149d43A73F18a".toLowerCase()]:Yn,["0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a".toLowerCase()]:Gn,["0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212".toLowerCase()]:ia,["0x30912B38618D3D37De3191A4FFE982C65a9aEC2E".toLowerCase()]:Kn,["0xbf365e79aA44A2164DA135100C57FDB6635ae870".toLowerCase()]:aa,["0x86904Eb2b3c743400D03f929F2246EfA80B91215".toLowerCase()]:sa,["0x3660dE6C56cFD31998397652941ECe42118375DA".toLowerCase()]:ra,["0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8".toLowerCase()]:pa,["0xe4ddca21881bac219af7f217703db0475d2a9f02".toLowerCase()]:ua,["0x11733abf0cdb43298f7e949c930188451a9a9ef2".toLowerCase()]:ya,["0xb33874810e5395eb49d8bd7e912631db115d5a03".toLowerCase()]:oa},la=({streamSwap:e,contractAddress:t,recipient:n,toChecksumAddress:a,calldata:{amount:i,amountOutMin:s="",data:p="",deadline:u,memo:y,router:o,memoStreamingSwap:m,tcMemo:c,tcRouter:_,tcVault:E,vault:R,token:S}})=>{const O=!!Pt[t.toLowerCase()];if(O&&!o)throw new Error("Router is required on calldata for swapIn with GenericContract");const w=c||y,B=e&&m||w;if(!E&&!R)throw new Error("TC Vault is required on calldata");if(!_&&!o)throw new Error("TC Router is required on calldata");if(!B)throw new Error("TC Memo is required on calldata");if(!S)throw new Error("Token is required on calldata");const fe=[a(_||o),a(E||R),B.replace("{recipientAddress}",n),a(S),i],kt=O?[a(o),p,u]:[s,u];return[...fe,...kt]},ma=({chain:e,txHash:t})=>{const n=Pe[e];switch(e){case r.Binance:case r.Maya:case r.Kujira:case r.THORChain:return`${n}/tx/${t.startsWith("0x")?t.slice(2):t}`;case r.Arbitrum:case r.Avalanche:case r.BinanceSmartChain:case r.Ethereum:case r.Optimism:case r.Polygon:return`${n}/tx/${t.startsWith("0x")?t:`0x${t}`}`;case r.Cosmos:return`${n}/transactions/${t}`;case r.Litecoin:case r.Bitcoin:case r.BitcoinCash:case r.Dogecoin:return`${n}/transaction/${t.toLowerCase()}`;default:throw new Error(`Unsupported chain: ${e}`)}},Ta=({chain:e,address:t})=>{const n=Pe[e];switch(e){case r.Arbitrum:case r.Avalanche:case r.Binance:case r.BinanceSmartChain:case r.Bitcoin:case r.BitcoinCash:case r.Dogecoin:case r.Ethereum:case r.Kujira:case r.Litecoin:case r.Maya:case r.Optimism:case r.Polygon:case r.THORChain:return`${n}/address/${t}`;case r.Cosmos:return`${n}/account/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},ca=e=>{const t=e?j.ThornodeStagenet:j.ThornodeMainnet;return I.get(`${t}/thorchain/inbound_addresses`)},ba=e=>{const t=e?j.ThornodeStagenet:j.ThornodeMainnet;return I.get(`${t}/thorchain/mimir`)},Xe=()=>Object.values(r).reduce((e,t)=>(e[t]=null,e),{}),_a=async({chain:e,address:t})=>{if(!t)return!1;switch(e){case r.Bitcoin:return!t.startsWith("bc1p");default:return!0}};var U,me,ee,D,te,ne;class fa{constructor({stagenet:t}={}){b(this,"connectedChains",Xe());b(this,"connectedWallets",Xe());b(this,"stagenet",!1);b(this,"getAddress",t=>{var n;return((n=this.connectedChains[t])==null?void 0:n.address)||""});b(this,"getExplorerTxUrl",(t,n)=>ma({chain:t,txHash:n}));b(this,"getWallet",t=>this.connectedWallets[t]);b(this,"getExplorerAddressUrl",(t,n)=>Ta({chain:t,address:n}));b(this,"getBalance",async(t,n)=>{const a=await this.getWalletByChain(t,n);return(a==null?void 0:a.balance)||[]});b(this,"swap",async({streamSwap:t,recipient:n,route:a,feeOptionKey:i})=>{var u,y;const{meta:{quoteMode:s}}=a,p=s.startsWith("ERC20-")?r.Ethereum:s.startsWith("ARC20-")?r.Avalanche:s.startsWith("BEP20-")?r.BinanceSmartChain:void 0;if(!a.complete)throw new T("core_swap_route_not_complete");if(Je.includes(s)&&p){const o=this.connectedWallets[p];if(!(o!=null&&o.sendTransaction))throw new T("core_wallet_connection_not_found");if(!(t?(u=a==null?void 0:a.streamingSwap)==null?void 0:u.transaction:a==null?void 0:a.transaction))throw new T("core_swap_route_transaction_not_found");const{data:c,from:_,to:E,value:R}=a.transaction,S={data:c,from:_,to:E.toLowerCase(),chainId:BigInt(De[p]),value:R?BigInt(R):0n};return o.sendTransaction(S,i)}if(ze.includes(s)){if(!a.calldata.fromAsset)throw new T("core_swap_asset_not_recognized");const o=await g.fromString(a.calldata.fromAsset);if(!o)throw new T("core_swap_asset_not_recognized");const{address:m}=await h(this,U).call(this,o.chain),{contract:c,calldata:{expiration:_,amountIn:E,memo:R,memoStreamingSwap:S}}=a,O=o.add(P.fromBigInt(BigInt(E),o.decimal)),w=t&&S||R;return this.deposit({expiration:_,assetValue:O,memo:w,feeOptionKey:i,router:c,recipient:m})}if(Ze.includes(s)&&p){const{calldata:o,contract:m}=a;if(!m)throw new T("core_swap_contract_not_found");const c=this.connectedWallets[p],_=this.getAddress(p);if(!(c!=null&&c.sendTransaction)||!_)throw new T("core_wallet_connection_not_found");const{getProvider:E,toChecksumAddress:R}=await import("@swapkit/toolbox-evm"),S=E(p),O=da[m.toLowerCase()];if(!O)throw new T("core_swap_contract_not_supported",{contractAddress:m});const B=await(await((y=c.createContract)==null?void 0:y.call(c,m,O,S))).getFunction("swapIn").populateTransaction(...la({streamSwap:t,toChecksumAddress:R,contractAddress:m,recipient:n,calldata:o}),{from:_});return c.sendTransaction(B,i)}throw new T("core_swap_quote_mode_not_supported",{quoteMode:s})});b(this,"getWalletByChain",async(t,n)=>{var p,u;const a=this.getAddress(t);if(!a)return null;const i=[g.fromChainOrSignature(t)],s=(p=this.connectedChains[t])==null?void 0:p.walletType;try{const y=await((u=this.getWallet(t))==null?void 0:u.getBalance(a,n));return this.connectedChains[t]={address:a,balance:y!=null&&y.length?y:i,walletType:s},{...this.connectedChains[t]}}catch(y){return console.error(y),{address:a,balance:i,walletType:s}}});b(this,"approveAssetValue",(t,n)=>h(this,ee).call(this,{assetValue:t,type:"approve",contractAddress:n}));b(this,"isAssetValueApproved",(t,n)=>h(this,ee).call(this,{assetValue:t,contractAddress:n,type:"checkOnly"}));b(this,"validateAddress",({address:t,chain:n})=>{var a,i;return(i=(a=this.getWallet(n))==null?void 0:a.validateAddress)==null?void 0:i.call(a,t)});b(this,"transfer",async t=>{const n=this.connectedWallets[t.assetValue.chain];if(!n)throw new T("core_wallet_connection_not_found");try{return await n.transfer(h(this,ne).call(this,t))}catch(a){throw new T("core_swap_transaction_error",a)}});b(this,"deposit",async({assetValue:t,recipient:n,router:a,...i})=>{const{chain:s,symbol:p,ticker:u}=t,y=this.connectedWallets[s];if(!await _a({address:await(y==null?void 0:y.getAddress()),chain:s}))throw new T("core_transaction_invalid_sender_address");if(!y)throw new T("core_wallet_connection_not_found");const m=h(this,ne).call(this,{assetValue:t,recipient:n,router:a,...i});try{switch(s){case r.THORChain:case r.Maya:{const c=y;return await(n===""?c.deposit(m):c.transfer(m))}case r.Ethereum:case r.BinanceSmartChain:case r.Avalanche:{const{getChecksumAddressFromAsset:c}=await import("@swapkit/toolbox-evm"),_=s===r.Avalanche?Ke:s===r.BinanceSmartChain?Ye:je;return await y.call({abi:_,contractAddress:a||(await h(this,U).call(this,s)).router,funcName:"depositWithExpiry",funcParams:[n,c({chain:s,symbol:p,ticker:u},s),t.getBaseValue("string"),m.memo,i.expiration||parseInt(`${(new Date().getTime()+15*60*1e3)/1e3}`)],txOverrides:{from:m.from,value:t.isGasAsset?t.getBaseValue("bigint"):void 0}})}default:return await y.transfer(m)}}catch(c){const _=((c==null?void 0:c.message)||(c==null?void 0:c.toString())).toLowerCase(),E=_==null?void 0:_.includes("insufficient funds"),R=_==null?void 0:_.includes("gas"),S=_==null?void 0:_.includes("server"),O=_==null?void 0:_.includes("user rejected"),w=E?"core_transaction_deposit_insufficient_funds_error":R?"core_transaction_deposit_gas_error":S?"core_transaction_deposit_server_error":O?"core_transaction_user_rejected":"core_transaction_deposit_error";throw new T(w,c)}});b(this,"createLiquidity",async({runeAssetValue:t,assetValue:n})=>{if(t.lte(0)||n.lte(0))throw new T("core_transaction_create_liquidity_invalid_params");let a="",i="";try{a=await h(this,D).call(this,{assetValue:t,memo:v(f.DEPOSIT,{...n,address:this.getAddress(n.chain)})})}catch(s){throw new T("core_transaction_create_liquidity_rune_error",s)}try{i=await h(this,D).call(this,{assetValue:n,memo:v(f.DEPOSIT,{...n,address:this.getAddress(r.THORChain)})})}catch(s){throw new T("core_transaction_create_liquidity_asset_error",s)}return{runeTx:a,assetTx:i}});b(this,"addLiquidity",async({runeAssetValue:t,assetValue:n,runeAddr:a,assetAddr:i,isPendingSymmAsset:s,mode:p="sym"})=>{const{chain:u,symbol:y}=n,o=p==="sym",m=(t==null?void 0:t.gt(0))&&(o||p==="rune"),c=(n==null?void 0:n.gt(0))&&(o||p==="asset"),_=s||m,E=_?a||this.getAddress(r.THORChain):"",R=o||p==="asset"?i||this.getAddress(u):"";if(!m&&!c)throw new T("core_transaction_add_liquidity_invalid_params");if(_&&!E)throw new T("core_transaction_add_liquidity_no_rune_address");let S,O;if(m&&t)try{S=await h(this,D).call(this,{assetValue:t,memo:v(f.DEPOSIT,{chain:u,symbol:y,address:R})})}catch(w){throw new T("core_transaction_add_liquidity_rune_error",w)}if(c&&n)try{O=await h(this,D).call(this,{assetValue:n,memo:v(f.DEPOSIT,{chain:u,symbol:y,address:E})})}catch(w){throw new T("core_transaction_add_liquidity_asset_error",w)}return{runeTx:S,assetTx:O}});b(this,"addLiquidityPart",({assetValue:t,poolAddress:n,address:a,symmetric:i})=>{if(i&&!a)throw new T("core_transaction_add_liquidity_invalid_params");const s=v(f.DEPOSIT,{chain:n.split(".")[0],symbol:n.split(".")[1],address:i?a:""});return h(this,D).call(this,{assetValue:t,memo:s})});b(this,"withdraw",async({memo:t,assetValue:n,percent:a,from:i,to:s})=>{const p=s==="rune"&&i!=="rune"?g.fromChainOrSignature(r.THORChain):i==="sym"&&s==="sym"||i==="rune"||i==="asset"?void 0:n,u=ue(i==="asset"?n.chain:r.THORChain),y=t||v(f.WITHDRAW,{symbol:n.symbol,chain:n.chain,ticker:n.ticker,basisPoints:Math.min(1e4,Math.round(a*100)),targetAssetString:p==null?void 0:p.toString(),singleSide:!1});return h(this,D).call(this,{assetValue:u,memo:y})});b(this,"savings",async({assetValue:t,memo:n,percent:a,type:i})=>{const s=i==="add"?f.DEPOSIT:f.WITHDRAW,p=n||v(s,{ticker:t.ticker,symbol:t.symbol,chain:t.chain,singleSide:!0,basisPoints:a?Math.min(1e4,Math.round(a*100)):void 0}),u=s===f.DEPOSIT?t:ue(t.chain);return h(this,D).call(this,{memo:p,assetValue:u})});b(this,"loan",({assetValue:t,memo:n,minAmount:a,type:i})=>h(this,D).call(this,{assetValue:t,memo:n||v(i==="open"?f.OPEN_LOAN:f.CLOSE_LOAN,{asset:t.toString(),minAmount:a.toString(),address:this.getAddress(t.chain)})}));b(this,"nodeAction",({type:t,assetValue:n,address:a})=>{const i=t==="bond"?f.BOND:t==="unbond"?f.UNBOND:f.LEAVE,s=v(i,{address:a,unbondAmount:t==="unbond"?n.getBaseValue("number"):void 0});return h(this,te).call(this,{memo:s,assetValue:t==="bond"?n:ue(r.THORChain)})});b(this,"registerThorname",({assetValue:t,...n})=>h(this,te).call(this,{assetValue:t,memo:v(f.THORNAME_REGISTER,n)}));b(this,"extend",({wallets:t,config:n,apis:a={},rpcUrls:i={}})=>{try{t.forEach(s=>{this[s.connectMethodName]=s.connect({addChain:h(this,me),config:n||{},apis:a,rpcUrls:i})})}catch(s){throw new T("core_extend_error",s)}});b(this,"estimateMaxSendableAmount",async({chain:t,params:n})=>{const a=this.getWallet(t);switch(t){case r.Arbitrum:case r.Avalanche:case r.BinanceSmartChain:case r.Ethereum:case r.Optimism:case r.Polygon:{const{estimateMaxSendableAmount:i}=await import("@swapkit/toolbox-evm");return i({...n,toolbox:a})}case r.Bitcoin:case r.BitcoinCash:case r.Dogecoin:case r.Litecoin:return a.estimateMaxSendableAmount(n);case r.Binance:case r.THORChain:case r.Cosmos:{const{estimateMaxSendableAmount:i}=await import("@swapkit/toolbox-cosmos");return i({...n,toolbox:a})}default:throw new T("core_estimated_max_spendable_chain_not_supported")}});b(this,"connectXDEFI",async t=>{throw new T("core_wallet_xdefi_not_installed")});b(this,"connectEVMWallet",async(t,n)=>{throw new T("core_wallet_evmwallet_not_installed")});b(this,"connectWalletconnect",async(t,n)=>{throw new T("core_wallet_walletconnect_not_installed")});b(this,"connectKeepkey",async(t,n)=>{throw new T("core_wallet_keepkey_not_installed")});b(this,"connectKeystore",async(t,n)=>{throw new T("core_wallet_keystore_not_installed")});b(this,"connectLedger",async(t,n)=>{throw new T("core_wallet_ledger_not_installed")});b(this,"connectTrezor",async(t,n)=>{throw new T("core_wallet_trezor_not_installed")});b(this,"connectKeplr",async t=>{throw new T("core_wallet_keplr_not_installed")});b(this,"connectOkx",async t=>{throw new T("core_wallet_okx_not_installed")});b(this,"disconnectChain",t=>{this.connectedChains[t]=null,this.connectedWallets[t]=null});V(this,U,async t=>{switch(t){case r.Maya:case r.THORChain:return{gas_rate:"0",router:"",address:"",halted:!1,chain:t};default:{const a=(await ca(this.stagenet)).find(i=>i.chain===t);if(!a)throw new T("core_inbound_data_not_found");if(a!=null&&a.halted)throw new T("core_chain_halted");return a}}});V(this,me,({chain:t,wallet:n,walletMethods:a})=>{this.connectedChains[t]=n,this.connectedWallets[t]=a});V(this,ee,async({assetValue:t,type:n="checkOnly",contractAddress:a})=>{const{address:i,chain:s,isGasAsset:p,isSynthetic:u}=t,y=[r.Ethereum,r.Avalanche,r.BinanceSmartChain].includes(s);if(y&&p||!y||u)return!0;const m=this.connectedWallets[s],c=n==="checkOnly"?m==null?void 0:m.isApproved:m==null?void 0:m.approve;if(!c)throw new T("core_wallet_connection_not_found");const _=this.getAddress(s);if(!i||!_)throw new T("core_approve_asset_address_or_from_not_found");const E=a||(await h(this,U).call(this,s)).router;return c({amount:t.getBaseValue("bigint"),assetAddress:i,from:_,spenderAddress:E})});V(this,D,async({assetValue:t,memo:n,feeOptionKey:a=X.Fast})=>{const{gas_rate:i,router:s,address:p}=await h(this,U).call(this,t.chain),u=(parseInt(i)||0)*Ot[a];return this.deposit({assetValue:t,recipient:p,memo:n,router:s,feeRate:u})});V(this,te,async({memo:t,assetValue:n})=>{const a=await ba(this.stagenet);if(a.HALTCHAINGLOBAL>=1||a.HALTTHORCHAIN>=1)throw new T("core_chain_halted");return this.deposit({assetValue:n,recipient:"",memo:t})});V(this,ne,({assetValue:t,...n})=>({...n,memo:n.memo||"",from:this.getAddress(t.chain),assetValue:t}));this.stagenet=!!t}}U=new WeakMap,me=new WeakMap,ee=new WeakMap,D=new WeakMap,te=new WeakMap,ne=new WeakMap;exports.AGG_SWAP=Je;exports.ApiEndpoints=x;exports.ApiError=jt;exports.ApiUrl=j;exports.AssetValue=g;exports.BaseDecimal=A;exports.BigIntArithmetics=de;exports.Chain=r;exports.ChainId=Te;exports.ChainIdToChain=tn;exports.ChainToChainId=De;exports.ChainToExplorerUrl=Pe;exports.ChainToHexChainId=en;exports.ChainToRPC=yt;exports.ContractAddress=nt;exports.CosmosChainList=Jt;exports.CosmosChains=pt;exports.DerivationPath=at;exports.ERROR_CODE=d;exports.ERROR_MODULE=et;exports.ERROR_TYPE=Ce;exports.EVMChainList=st;exports.EVMChains=it;exports.FeeOption=X;exports.LedgerErrorCode=dt;exports.MemoType=f;exports.NetworkDerivationPath=Kt;exports.QuoteMode=Qe;exports.RPCUrl=ve;exports.RequestClient=I;exports.SWAP_IN=Ze;exports.SWAP_OUT=ze;exports.StreamingSwapProgressStatus=Et;exports.SubstrateChainList=Yt;exports.SwapKitApi=Sn;exports.SwapKitCore=fa;exports.SwapKitError=T;exports.SwapKitNumber=P;exports.TCAvalancheDepositABI=Ke;exports.TCBscDepositABI=Ye;exports.TCEthereumVaultAbi=je;exports.TCSupportedChainList=Zt;exports.TCSupportedChains=ut;exports.TransactionType=At;exports.TxStatus=ht;exports.UTXOChainList=Qt;exports.UTXOChains=rt;exports.WalletOption=ot;exports.assetFromString=gn;exports.defaultRequestHeaders=Le;exports.derivationPathToString=Hn;exports.erc20ABI=Gt;exports.filterAssets=Nn;exports.formatBigIntToSafeValue=ae;exports.gasFeeMultiplier=Ot;exports.getAssetType=Mt;exports.getAsymmetricAssetShare=gt;exports.getAsymmetricAssetWithdrawAmount=Pn;exports.getAsymmetricRuneShare=It;exports.getAsymmetricRuneWithdrawAmount=Dn;exports.getCommonAssetInfo=wt;exports.getDecimal=St;exports.getEstimatedPoolShare=xn;exports.getLiquiditySlippage=Bn;exports.getMemoFor=v;exports.getMinAmountByChain=ue;exports.getSymmetricPoolShare=Ct;exports.getSymmetricWithdraw=kn;exports.getTHORNameCost=Ln;exports.isGasAsset=Ve;exports.setRequestClientConfig=En;exports.validateTHORName=Vn;
|
|
3
3
|
//# sourceMappingURL=index.cjs.map
|