@swapkit/core 1.0.0-rc.13 → 1.0.0-rc.130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +171 -0
- package/dist/index.js.map +13 -0
- package/package.json +33 -47
- package/src/__tests__/helpers.test.ts +53 -0
- package/src/aggregator/contracts/avaxGeneric.ts +50 -50
- package/src/aggregator/contracts/avaxWoofi.ts +80 -80
- package/src/aggregator/contracts/bscGeneric.ts +59 -59
- package/src/aggregator/contracts/ethGeneric.ts +50 -50
- package/src/aggregator/contracts/index.ts +30 -28
- package/src/aggregator/contracts/pancakeV2.ts +80 -80
- package/src/aggregator/contracts/pangolin.ts +65 -65
- package/src/aggregator/contracts/routers/index.ts +58 -0
- package/src/aggregator/contracts/routers/kyber.ts +402 -0
- package/src/aggregator/contracts/routers/oneinch.ts +2188 -0
- package/src/aggregator/contracts/routers/pancakeswap.ts +340 -0
- package/src/aggregator/contracts/routers/pangolin.ts +340 -0
- package/src/aggregator/contracts/routers/sushiswap.ts +340 -0
- package/src/aggregator/contracts/routers/traderJoe.ts +340 -0
- package/src/aggregator/contracts/routers/uniswapv2.ts +340 -0
- package/src/aggregator/contracts/routers/uniswapv3.ts +254 -0
- package/src/aggregator/contracts/routers/woofi.ts +171 -0
- package/src/aggregator/contracts/sushiswap.ts +65 -65
- package/src/aggregator/contracts/traderJoe.ts +65 -65
- package/src/aggregator/contracts/uniswapV2.ts +65 -65
- package/src/aggregator/contracts/uniswapV2Leg.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_100.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_10000.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_3000.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_500.ts +70 -70
- package/src/aggregator/getSwapParams.ts +12 -12
- package/src/client.ts +209 -0
- package/src/helpers/explorerUrls.ts +38 -0
- package/src/index.ts +4 -4
- package/src/types.ts +29 -0
- package/LICENSE +0 -201
- package/dist/index-9e36735e.cjs +0 -1
- package/dist/index-cf1865cd.js +0 -649
- package/dist/index.cjs +0 -2
- package/dist/index.d.ts +0 -216
- package/dist/index.es.js +0 -3827
- package/src/client/__tests__/helpers.test.ts +0 -69
- package/src/client/explorerUrls.ts +0 -62
- package/src/client/index.ts +0 -699
- package/src/client/thornode.ts +0 -31
- package/src/client/types.ts +0 -103
package/dist/index.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var Ze=Object.create;var se=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,at=Object.prototype.hasOwnProperty;var st=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var it=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of tt(t))!at.call(e,i)&&i!==n&&se(e,i,{get:()=>t[i],enumerable:!(a=et(t,i))||a.enumerable});return e};var F=(e,t,n)=>(n=e!=null?Ze(nt(e)):{},it(t||!e||!e.__esModule?se(n,"default",{value:e,enumerable:!0}):n,e));var T=(e,t,n)=>(st(e,typeof t!="symbol"?t+"":t,n),n),rt=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var b=(e,t,n)=>(rt(e,t,"read from private field"),n?n.call(e):t.get(e)),P=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var pt=Object.defineProperty,ot=(e,t,n)=>t in e?pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t,n)=>(ot(e,typeof t!="symbol"?t+"":t,n),n);const dt=[{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"}],Se=[{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"}],ve=[{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"}],Me=[{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 Ce=(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))(Ce||{});const Ne=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],xe=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],De=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var Te=(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))(Te||{}),Pe=(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))(Pe||{}),u=(e=>(e.INVALID_INPUT_PARAMETERS="1000",e.UNKNOWN_PROVIDERS="1001",e.CANNOT_FIND_INBOUND_ADDRESS="1002",e.NO_INBOUND_ADDRESSES="1003",e.CHAIN_HALTED_OR_UNSUPPORTED="1004",e.MISSING_INPUT_PARAMETER="1005",e.INVALID_TYPE_GENERIC="1100",e.INVALID_NUMBER_STRING="1101",e.INVALID_NUMBER="1102",e.INVALID_BOOLEAN="1103",e.INVALID_OBJECT="1104",e.INVALID_ARRAY="1105",e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER="2000",e.SELL_BUY_ASSETS_ARE_THE_SAME="2001",e.MISSING_SOURCE_ADDRESS_FOR_SYNTH="2002",e.AFF_ADDRESS_AND_BPS_OR_NEITHER="2003",e.AFF_ADDRESS_TOO_LONG="2004",e.AFF_BPS_INTEGER_0_100="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROFVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.INVALID_PROVIDER="2100",e.MISSING_CROSS_CHAIN_PROVIDER="2101",e.MISSING_AVAX_PROVIDER="2102",e.MISSING_BSC_PROVIDER="2103",e.MISSING_ETH_PROVIDER="2104",e.INVALID_PROVIDER_FOR_SWAP_OUT="2105",e.MISSING_ARB_PROVIDER="2106",e.INVALID_CHAIN="2200",e.INVALID_ASSET="2201",e.INVALID_ASSET_IDENTIFIER="2202",e.UNSUPPORTED_CHAIN="2204",e.UNSUPPORTED_ASSET="2203",e.UNSUPPORTED_ASSET_FOR_SWAPOUT="2205",e.INVALID_SOURCE_ADDRESS="2300",e.INVALID_DESTINATION_ADDRESS="2301",e.THORNODE_QUOTE_GENERIC_ERROR="3000",e.NOT_ENOUGH_SYNTH_BALANCE="3001",e.SYNTH_MINTING_CAP_REACHED="3002",e.INVALID_QUOTE_MODE="4000",e.NO_QUOTES="4001",e.SERVICE_UNAVAILABLE_GENERIC="5000",e.MISSING_GAS_DATA_GENERIC="5100",e.MISSING_TOKEN_INFO_GENERIC="5200",e.CANT_FIND_TOKEN_LIST="5201",e.NO_PRICE="5202",e.PRICE_IS_STALE="5203",e.ADDRESS_NOT_WHITELISTED="6000",e.ADDRESS_ALREADY_CLAIMED="6001",e.TEMPORARY_ERROR="9999",e))(u||{});const ut={[u.INVALID_INPUT_PARAMETERS]:"Invalid input parameters: {0}.",[u.UNKNOWN_PROVIDERS]:"Unknown providers: {0}.",[u.CANNOT_FIND_INBOUND_ADDRESS]:"Cannot find inbound address.",[u.NO_INBOUND_ADDRESSES]:"No inbound addresses.",[u.CHAIN_HALTED_OR_UNSUPPORTED]:"Chain {0} halted or unsupported.",[u.MISSING_INPUT_PARAMETER]:"Missing input parameter: {0}.",[u.INVALID_TYPE_GENERIC]:"Invalid type",[u.INVALID_NUMBER_STRING]:"Invalid number string.",[u.INVALID_NUMBER]:"Invalid number.",[u.INVALID_BOOLEAN]:"Invalid boolean.",[u.INVALID_OBJECT]:"Invalid object.",[u.INVALID_ARRAY]:"Invalid array.",[u.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Sell amount must be a positive integer.",[u.SELL_BUY_ASSETS_ARE_THE_SAME]:"Sell and buy assets are the same.",[u.MISSING_SOURCE_ADDRESS_FOR_SYNTH]:"Source address is required for synth quote.",[u.AFF_ADDRESS_AND_BPS_OR_NEITHER]:"Must provide affiliateAddress and affiliateBasisPoints params, or neither.",[u.AFF_ADDRESS_TOO_LONG]:"affiliateAddress too long: 3 characters max.",[u.AFF_BPS_INTEGER_0_100]:"affiliateBasisPoints must be an integer between 0 and 100.",[u.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]:"Source address {0} invalid for sell chain.",[u.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:"Destination address {0} invalid for buy chain.",[u.PREFERRED_PROFVIDER_NOT_SUPPORTED]:"Preferred provider not supported.",[u.DESTINATION_ADDRESS_SMART_CONTRACT]:"Destination address is a smart contract.",[u.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Buy amount must be a positive integer.",[u.INVALID_PROVIDER]:"Invalid provider {0}.",[u.MISSING_CROSS_CHAIN_PROVIDER]:"Missing cross-chain provider.",[u.MISSING_AVAX_PROVIDER]:"Missing AVAX provider.",[u.MISSING_BSC_PROVIDER]:"Missing BSC provider.",[u.MISSING_ETH_PROVIDER]:"Missing ETH provider.",[u.MISSING_ARB_PROVIDER]:"Missing ARB provider.",[u.INVALID_PROVIDER_FOR_SWAP_OUT]:"Invalid provider for swap out.",[u.INVALID_CHAIN]:"Invalid chain {0}.",[u.INVALID_ASSET]:"Invalid asset {0}.",[u.UNSUPPORTED_CHAIN]:"Unsupported chain {0}.",[u.UNSUPPORTED_ASSET]:"Unsupported asset {0}.",[u.UNSUPPORTED_ASSET_FOR_SWAPOUT]:"Unsupported asset {0} for swap out.",[u.THORNODE_QUOTE_GENERIC_ERROR]:"ThorNode quote generic error.",[u.INVALID_SOURCE_ADDRESS]:"Invalid source address {0}",[u.INVALID_DESTINATION_ADDRESS]:"Invalid destination address {0}",[u.NOT_ENOUGH_SYNTH_BALANCE]:"Source address doesn't have enough synth balance for this quote.",[u.SYNTH_MINTING_CAP_REACHED]:"Synth minting cap reached.",[u.INVALID_QUOTE_MODE]:"Invalid quote mode.",[u.NO_QUOTES]:"No quotes to service this request.",[u.SERVICE_UNAVAILABLE_GENERIC]:"Service unavailable.",[u.MISSING_GAS_DATA_GENERIC]:"Missing gas data.",[u.MISSING_TOKEN_INFO_GENERIC]:"Missing token info.",[u.CANT_FIND_TOKEN_LIST]:"Can't find tokenlist {0}.",[u.NO_PRICE]:"No price for asset {0}.",[u.PRICE_IS_STALE]:"Price is stale for asset {0}.",[u.ADDRESS_NOT_WHITELISTED]:"Address {0} not whitelisted for airdrop.",[u.ADDRESS_ALREADY_CLAIMED]:"Address {0} already claimed the airdrop."},ie=(e,t)=>{let n=ut[e];for(let a=0;a<t.length;a++)n=n.replace(`{${a}}`,t[a]);return t.length===0?n.replace("{0}",""):n};class _e extends Error{constructor({status:t,revision:n,module:a,code:i,message:r,type:p,options:{shouldLog:d,shouldThrow:y,shouldTrace:l}={shouldLog:!0,shouldThrow:!0,shouldTrace:!0},displayMessageParams:o}){const c=r||ie(i,o||[])||"";super(c),M(this,"status"),M(this,"revision"),M(this,"type"),M(this,"module"),M(this,"code"),M(this,"message"),M(this,"display"),M(this,"stack"),M(this,"options"),M(this,"displayMessageParams"),this.status=t,this.revision=n||"NO_REVISION",this.module=a,this.message=c,this.display=ie(i,o||[]),this.code=i,this.type=p||Te.UNHANDLED_ERROR,this.options={shouldLog:d||!0,shouldTrace:l||!0,shouldThrow:y||!1},this.displayMessageParams=o||[],this.options.shouldTrace&&Error.captureStackTrace(this)}static fromErrorInfo(t){return new _e(t)}toErrorInfo(){return{...this,identifier:this.identifier}}get identifier(){return`${this.revision}-${this.type||"NO_TYPE"}-${this.module}-${this.code}`}get displayMessage(){return ie(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 s=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polygon="MATIC",e.THORChain="THOR",e))(s||{}),Be=(e=>(e.ARB="0x0000000000000000000000000000000000000000",e.AVAX="0x0000000000000000000000000000000000000000",e.ETH="0x0000000000000000000000000000000000000000",e.BSC="0x0000000000000000000000000000000000000000",e.MATIC="0x0000000000000000000000000000000000001010",e.OP="0x4200000000000000000000000000000000000042",e))(Be||{}),Ve=(e=>(e.ARB="m/44'/60'/0'/0",e.AVAX="m/44'/60'/0'/0",e.BCH="m/44'/145'/0'/0",e.BNB="m/44'/714'/0'/0",e.BSC="m/44'/60'/0'/0",e.BTC="m/84'/0'/0'/0",e.DOGE="m/44'/3'/0'/0",e.ETH="m/44'/60'/0'/0",e.GAIA="m/44'/118'/0'/0",e.KUJI="m/44'/118'/0'/0",e.LTC="m/84'/2'/0'/0",e.MATIC="m/44'/60'/0'/0",e.MAYA="m/44'/931'/0'/0",e.OP="m/44'/60'/0'/0",e.THOR="m/44'/931'/0'/0",e))(Ve||{});const yt={ARB:[44,60,0,0,0],AVAX:[44,60,0,0,0],BCH:[44,145,0,0,0],BNB:[44,714,0,0,0],BSC:[44,60,0,0,0],BTC:[84,0,0,0,0],DOGE:[44,3,0,0,0],ETH:[44,60,0,0,0],GAIA:[44,118,0,0,0],KUJI:[44,118,0,0,0],LTC:[84,2,0,0,0],MATIC:[44,60,0,0,0],MAYA:[44,931,0,0,0],OP:[44,60,0,0,0],THOR:[44,931,0,0,0]};var f=(e=>(e[e.ARB=18]="ARB",e[e.AVAX=18]="AVAX",e[e.BCH=8]="BCH",e[e.BNB=8]="BNB",e[e.BSC=18]="BSC",e[e.BTC=8]="BTC",e[e.DASH=8]="DASH",e[e.DOGE=8]="DOGE",e[e.ETH=18]="ETH",e[e.GAIA=6]="GAIA",e[e.KUJI=6]="KUJI",e[e.LTC=8]="LTC",e[e.MATIC=18]="MATIC",e[e.MAYA=10]="MAYA",e[e.OP=18]="OP",e[e.THOR=8]="THOR",e))(f||{});const lt=["ETH","AVAX","BSC","ARB","OP","MATIC"],ct=["BTC","BCH","DOGE","LTC"],mt=["GAIA","THOR","BNB"];var ne=(e=>(e.Arbitrum="42161",e.ArbitrumHex="0xa4b1",e.Avalanche="43114",e.AvalancheHex="0xa86a",e.Binance="Binance-Chain-Tigris",e.BinanceSmartChain="56",e.BinanceSmartChainHex="0x38",e.Bitcoin="bitcoin",e.BitcoinCash="bitcoincash",e.Cosmos="cosmoshub-4",e.Dogecoin="dogecoin",e.Kujira="kaiyo-1",e.Ethereum="1",e.EthereumHex="0x1",e.Litecoin="litecoin",e.Maya="mayachain-mainnet-v1",e.MayaStagenet="mayachain-stagenet-v1",e.Optimism="10",e.OptimismHex="0xa",e.Polygon="137",e.PolygonHex="0x89",e.THORChain="thorchain-mainnet-v1",e.THORChainStagenet="thorchain-stagenet-v2",e))(ne||{}),he=(e=>(e.Arbitrum="https://arb1.arbitrum.io/rpc",e.Avalanche="https://node-router.thorswap.net/avalanche-c",e.Binance="",e.BinanceSmartChain="https://bsc-dataseed.binance.org",e.Bitcoin="https://node-router.thorswap.net/bitcoin",e.BitcoinCash="https://node-router.thorswap.net/bitcoin-cash",e.Cosmos="https://node-router.thorswap.net/cosmos/rpc",e.Kujira="https://rpc-kujira.synergynodes.com/",e.Dogecoin="https://node-router.thorswap.net/dogecoin",e.Ethereum="https://node-router.thorswap.net/ethereum",e.Litecoin="https://node-router.thorswap.net/litecoin",e.Maya="https://tendermint.mayachain.info",e.MayaStagenet="https://stagenet.tendermint.mayachain.info",e.Optimism="https://mainnet.optimism.io",e.Polygon="https://polygon-rpc.com",e.THORChain="https://rpc.thorswap.net",e.THORChainStagenet="https://stagenet-rpc.ninerealms.com",e))(he||{}),k=(e=>(e.Cosmos="https://node-router.thorswap.net/cosmos/rest",e.Kujira="https://lcd-kujira.synergynodes.com/",e.MayanodeMainnet="https://mayanode.mayachain.info",e.MayanodeStagenet="https://stagenet.mayanode.mayachain.info",e.ThornodeMainnet="https://thornode.thorswap.net",e.ThornodeStagenet="https://stagenet-thornode.ninerealms.com",e.ThorswapApi="https://api.thorswap.finance",e.ThorswapStatic="https://static.thorswap.net",e))(k||{});const ae=Object.values(s),Tt=Object.keys(s),fe=ae.reduce((e,t)=>{const n=Tt.find(a=>s[a]===t);return n&&(e[t]=n),e},{}),Le=ae.reduce((e,t)=>(e[t]=ne[fe[t]],e),{}),Ue=ae.reduce((e,t)=>(e[t]=he[fe[t]],e),{}),_t=ae.reduce((e,t)=>{const n=`${fe[t]}Hex`;return e[t]=ne[n],e},{}),ht={"0xa4b1":"ARB",42161:"ARB","0xa86a":"AVAX",43114:"AVAX","0x38":"BSC",56:"BSC","Binance-Chain-Tigris":"BNB",bitcoincash:"BCH",bitcoin:"BTC","cosmoshub-4":"GAIA",dogecoin:"DOGE","0x1":"ETH","kaiyo-1":"KUJI",1:"ETH",litecoin:"LTC","mayachain-stagenet-v1":"MAYA","mayachain-mainnet-v1":"MAYA","0xa":"OP",10:"OP","0x89":"MATIC",137:"MATIC","thorchain-stagenet-v2":"THOR","thorchain-mainnet-v1":"THOR"},be={ARB:"https://arbiscan.io",AVAX:"https://snowtrace.io",BSC:"https://bscscan.com",BNB:"https://explorer.binance.org",BCH:"https://www.blockchain.com/bch",BTC:"https://blockstream.info",GAIA:"https://cosmos.bigdipper.live",DOGE:"https://blockchair.com/dogecoin",KUJI:"https://finder.kujira.network/kaiyo-1",ETH:"https://etherscan.io",LTC:"https://ltc.bitaps.com",MAYA:"https://www.mayascan.org",OP:"https://optimistic.etherscan.io",MATIC:"https://polygonscan.com",THOR:"https://viewblock.io/thorchain"};var He=(e=>(e[e.NoError=36864]="NoError",e))(He||{}),_=(e=>(e.BOND="BOND",e.DEPOSIT="+",e.LEAVE="LEAVE",e.THORNAME_REGISTER="~",e.UNBOND="UNBOND",e.WITHDRAW="-",e.OPEN_LOAN="$+",e.CLOSE_LOAN="$-",e))(_||{}),H=(e=>(e.Average="average",e.Fast="fast",e.Fastest="fastest",e))(H||{}),$e=(e=>(e.KEYSTORE="KEYSTORE",e.XDEFI="XDEFI",e.METAMASK="METAMASK",e.COINBASE_WEB="COINBASE_WEB",e.TREZOR="TREZOR",e.TRUSTWALLET_WEB="TRUSTWALLET_WEB",e.LEDGER="LEDGER",e.KEPLR="KEPLR",e.OKX="OKX",e.BRAVE="BRAVE",e.WALLETCONNECT="WALLETCONNECT",e))($e||{}),ft=Object.defineProperty,bt=(e,t,n)=>t in e?ft(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,N=(e,t,n)=>(bt(e,typeof t!="symbol"?t+"":t,n),n),At=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},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)},g=(e,t,n)=>(At(e,t,"access private method"),n);const wt=e=>{if(e<0)throw new Error("Invalid number of year");return 10+e},Et=e=>{if(e.length>30)return!1;const t=/^[a-zA-Z0-9+_-]+$/g;return!!e.match(t)},Rt=([e,t,n,a,i])=>`${e}'/${t}'/${n}'/${a}${typeof i!="number"?"":`/${i}`}`,Ae=async(e,t)=>{try{const n=Object.entries(t||{}).reduce((a,[i,r])=>(r&&(a[i]=r),a),{});return(await fetch(`${e}${t?`?${new URLSearchParams(n).toString()}`:""}`,{method:"GET",mode:"cors",credentials:"omit",referrer:"https://sk.thorswap.net"})).json()}catch(n){return console.error(n),{}}},ke=async(e,t,n,a=!1)=>{try{const i=await fetch(`${e}`,{body:t,headers:n,method:"POST",referrer:"https://sk.thorswap.net"});return a?i.text():i.json()}catch{return{}}},Ot="0x313ce567",Fe=async({chain:e,to:t})=>{try{const n=await ke(Ue[e],JSON.stringify({method:"eth_call",params:[{to:t.toLowerCase(),data:Ot},"latest"],id:44,jsonrpc:"2.0"}),{accept:"*/*","cache-control":"no-cache","content-type":"application/json"},!0),{result:a}=JSON.parse(n);return parseInt(BigInt(a).toString())}catch(n){return console.error(n),f[e]}},gt=async e=>{if(e===s.Ethereum)return f.ETH;const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Fe({chain:s.Ethereum,to:t}):f.ETH},It=async e=>{const[,t]=e.split("-");return t!=null&&t.startsWith("0x")?Fe({chain:s.Avalanche,to:t.toLowerCase()}):f.AVAX},St=async e=>(e===s.BinanceSmartChain,f.BSC),we=async({chain:e,symbol:t})=>{switch(e){case s.Ethereum:return gt(t);case s.Avalanche:return It(t);case s.BinanceSmartChain:return St(t);default:return f[e]}},Ge={[H.Average]:1.2,[H.Fast]:1.5,[H.Fastest]:2},We=({chain:e,symbol:t})=>{switch(e){case s.Bitcoin:case s.BitcoinCash:case s.Litecoin:case s.Dogecoin:case s.Binance:case s.Ethereum:case s.Avalanche:return t===e;case s.Arbitrum:case s.Optimism:return t==="ETH";case s.Maya:return t==="CACAO";case s.Kujira:return t==="KUJI";case s.Cosmos:return t==="ATOM";case s.Polygon:return t==="MATIC";case s.BinanceSmartChain:return t==="BNB";case s.THORChain:return t==="RUNE"}},qe=e=>{switch(e){case"ETH.THOR":return{identifier:"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044",decimal:18};case"ETH.vTHOR":return{identifier:"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d",decimal:18};case s.Cosmos:return{identifier:"GAIA.ATOM",decimal:f[e]};case s.THORChain:return{identifier:"THOR.RUNE",decimal:f[e]};case s.BinanceSmartChain:return{identifier:"BSC.BNB",decimal:f[e]};case s.Maya:return{identifier:"MAYA.CACAO",decimal:f.MAYA};case"MAYA.MAYA":return{identifier:"MAYA.MAYA",decimal:4};case s.Kujira:case s.Arbitrum:case s.Optimism:case s.BitcoinCash:case s.Litecoin:case s.Dogecoin:case s.Binance:case s.Avalanche:case s.Polygon:case s.Bitcoin:case s.Ethereum:return{identifier:`${e}.${e}`,decimal:f[e]}}},Ke=({chain:e,symbol:t})=>{if(t.includes("/"))return"Synth";switch(e){case s.Bitcoin:case s.BitcoinCash:case s.Dogecoin:case s.Litecoin:case s.Maya:case s.THORChain:return"Native";case s.Cosmos:return t==="ATOM"?"Native":s.Cosmos;case s.Kujira:return t===s.Kujira?"Native":s.Kujira;case s.Binance:return t===s.Binance?"Native":"BEP2";case s.BinanceSmartChain:return t===s.Binance?"Native":"BEP20";case s.Ethereum:return t===s.Ethereum?"Native":"ERC20";case s.Avalanche:return t===s.Avalanche?"Native":s.Avalanche;case s.Polygon:return t===s.Polygon?"Native":"POLYGON";case s.Arbitrum:return[s.Ethereum,s.Arbitrum].includes(t)?"Native":"ARBITRUM";case s.Optimism:return[s.Ethereum,s.Optimism].includes(t)?"Native":"OPTIMISM"}},vt=e=>{var t;const[n,...a]=e.split("."),i=e.includes("/"),r=a.join("."),p=(t=r==null?void 0:r.split("-"))==null?void 0:t[0];return{chain:n,symbol:r,ticker:p,synth:i}},Mt=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi"),Ct=e=>e.filter(t=>!Mt.test(t.toString())&&!t.toString().includes("undefined")),Ye=({liquidityUnits:e,poolUnits:t,runeDepth:n})=>{const a=A(e),i=A(t),r=A(n),p=a.mul(r),d=i.mul(i).mul(2),y=i.mul(a).mul(2),l=a.mul(a),o=i.mul(i).mul(i);return p.mul(d.sub(y).add(l)).div(o)},je=({liquidityUnits:e,poolUnits:t,assetDepth:n})=>{const a=A(e),i=A(t),r=A(n),p=a.mul(r),d=i.mul(i).mul(2),y=i.mul(a).mul(2),l=a.mul(a),o=p.mul(d.sub(y).add(l)),c=i.mul(i).mul(i);return o.div(c)},Nt=({percent:e,runeDepth:t,liquidityUnits:n,poolUnits:a})=>Ye({runeDepth:t,liquidityUnits:n,poolUnits:a}).mul(e),xt=({percent:e,assetDepth:t,liquidityUnits:n,poolUnits:a})=>je({assetDepth:t,liquidityUnits:n,poolUnits:a}).mul(e),A=e=>new ee({value:e,decimal:f.THOR}),Xe=({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})=>({assetAmount:A(a).mul(e).div(t),runeAmount:A(n).mul(e).div(t)}),Dt=({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a,percent:i})=>Object.fromEntries(Object.entries(Xe({liquidityUnits:e,poolUnits:t,runeDepth:n,assetDepth:a})).map(([r,p])=>[r,p.mul(i)])),Pt=({runeDepth:e,poolUnits:t,assetDepth:n,liquidityUnits:a,runeAmount:i,assetAmount:r})=>{const p=A(e),d=A(n),y=A(t),l=A(i),o=A(r),c=l.mul(d),h=o.mul(p),w=l.mul(o),R=p.mul(d),O=y.mul(c.add(h.add(w.mul(2)))),E=c.add(h.add(R.mul(2))),I=O.div(E),v=A(a).add(I);if(I.baseValueNumber===0)return v.div(y).baseValueNumber;const D=y.add(v);return v.div(D).baseValueNumber},Bt=({runeAmount:e,assetAmount:t,runeDepth:n,assetDepth:a})=>{const i=A(n),r=A(a),p=A(t),d=A(e),y=p.mul(i).sub(r.mul(d)),l=r.mul(d).add(i.mul(r));return Math.abs(y.div(l).baseValueNumber)},Vt=({symbol:e,ticker:t,chain:n})=>n==="ETH"&&t!=="ETH"?`${t}-${e.slice(-3)}`:e,C=(e,t)=>{switch(e){case _.LEAVE:case _.BOND:{const{address:n}=t;return`${e}:${n}`}case _.UNBOND:{const{address:n,unbondAmount:a}=t;return`${e}:${n}:${a*10**8}`}case _.THORNAME_REGISTER:{const{name:n,chain:a,address:i,owner:r}=t;return`${e}:${n}:${a}:${i}${r?`:${r}`:""}`}case _.DEPOSIT:{const{chain:n,symbol:a,address:i,singleSide:r}=t;return r?`${e}:${n}/${a}::t:0`:`${e}:${n}.${a}:${i||""}:t:0`}case _.WITHDRAW:{const{chain:n,ticker:a,symbol:i,basisPoints:r,targetAssetString:p,singleSide:d}=t,y=!d&&p?`:${p}`:"",l=Vt({chain:n,symbol:i,ticker:a});return`${e}:${n}${d?"/":"."}${l}:${r}${y}`}case _.OPEN_LOAN:case _.CLOSE_LOAN:{const{asset:n,address:a}=t;return`${e}:${n}:${a}`}default:return""}},Re=Object.values(s),Lt=(e="")=>{const t=e.toUpperCase(),[n]=t.split(".");if(Re.includes(n))return!0;const[a]=t.split("/");if(Re.includes(a))return!0;throw new Error(`Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`)},K=8,U=e=>10n**BigInt(e),W=e=>Math.log10(parseFloat(e.toString()));function Ee({value:e,bigIntDecimal:t=K,decimal:n=K}){const a=e<0n;let i=e.toString().substring(a?1:0);const r=n-(i.length-1);r>0&&(i="0".repeat(r)+i);const p=i.length-n;let d=i.slice(-n);return parseInt(d[t])>=5?d=`${d.substring(0,t-1)}${(parseInt(d[t-1])+1).toString()}`:d=d.substring(0,t),`${a?"-":""}${i.slice(0,p)}.${d}`.replace(/\.?0*$/,"")}var L,G,pe,Qe,oe,Oe,J,de,$,q,z,ue;const Ut=class Q{constructor(t){V(this,L),V(this,pe),V(this,oe),V(this,J),V(this,$),V(this,z),N(this,"decimalMultiplier",10n**8n),N(this,"bigIntValue",0n),N(this,"decimal");const n=ye(t);this.decimal=typeof t=="object"?t.decimal:void 0,this.decimalMultiplier=U(Math.max(g(this,z,ue).call(this,g(this,$,q).call(this,n)),this.decimal||0)),g(this,pe,Qe).call(this,n)}static fromBigInt(t,n){return new Q({decimal:n,value:Ee({value:t,bigIntDecimal:n,decimal:n})})}static shiftDecimals({value:t,from:n,to:a}){return Q.fromBigInt(new Q(t).bigIntValue*U(a)/U(n),a)}get baseValue(){return this.getBaseValue("string")}get baseValueNumber(){return this.getBaseValue("number")}get baseValueBigInt(){return this.getBaseValue("bigint")}set(t){return new this.constructor({decimal:this.decimal,value:t,identifier:this.toString()})}add(...t){return g(this,L,G).call(this,"add",...t)}sub(...t){return g(this,L,G).call(this,"sub",...t)}mul(...t){return g(this,L,G).call(this,"mul",...t)}div(...t){return g(this,L,G).call(this,"div",...t)}gt(t){return this.bigIntValue>this.getBigIntValue(t)}gte(t){return this.bigIntValue>=this.getBigIntValue(t)}lt(t){return this.bigIntValue<this.getBigIntValue(t)}lte(t){return this.bigIntValue<=this.getBigIntValue(t)}eqValue(t){return this.bigIntValue===this.getBigIntValue(t)}getValue(t){const n=this.formatBigIntToSafeValue(this.bigIntValue,this.decimal||W(this.decimalMultiplier));switch(t){case"number":return Number(n);case"string":return n;default:return this.bigIntValue*BigInt(this.decimal||8n)/this.decimalMultiplier}}getBaseValue(t){const n=this.decimalMultiplier/U(this.decimal||f.THOR),a=this.bigIntValue/n;switch(t){case"number":return Number(a);case"string":return a.toString();default:return a}}getBigIntValue(t,n){if(!n&&typeof t=="object")return t.bigIntValue;const a=ye(t),i=g(this,$,q).call(this,a);return i==="0"||i==="undefined"?0n:g(this,J,de).call(this,i,n)}formatBigIntToSafeValue(t,n){const a=n||this.decimal||K,i=Math.max(a,W(this.decimalMultiplier)),r=t<0n,p=t.toString().substring(r?1:0),d=i-(p.length-1),y=d>0?"0".repeat(d)+p:p,l=y.length-i;let o=y.slice(-i);return parseInt(o[a])>=5?o=`${o.substring(0,a-1)}${(parseInt(o[a-1])+1).toString()}`:o=o.substring(0,a),`${r?"-":""}${y.slice(0,l)}.${o}`.replace(/\.?0*$/,"")}toSignificant(t=6){const[n,a]=this.getValue("string").split("."),i=n||"",r=a||"",p=parseInt(i)?i.length+r.length:r.length;if(p<=t)return this.getValue("string");if(i.length>=t)return i.slice(0,t).padEnd(i.length,"0");if(parseInt(i))return`${i}.${r.slice(0,t-i.length)}`.padEnd(p-t,"0");const d=parseInt(r),y=`${d}`.slice(0,t);return`0.${y.padStart(r.length-`${d}`.length+y.length,"0")}`}};L=new WeakSet,G=function(e,...t){const n=g(this,oe,Oe).call(this,this,...t),a=U(n),i=t.reduce((p,d)=>{const y=this.getBigIntValue(d,n);switch(e){case"add":return p+y;case"sub":return p-y;case"mul":return p*y/a;case"div":{if(y===0n)throw new RangeError("Division by zero");return p*a/y}default:return p}},this.bigIntValue*a/this.decimalMultiplier),r=Ee({bigIntDecimal:n,decimal:Math.max(n,W(this.decimalMultiplier)),value:i});return new this.constructor({decimal:this.decimal,value:r,identifier:this.toString()})},pe=new WeakSet,Qe=function(e){const t=g(this,$,q).call(this,e)||"0";this.bigIntValue=g(this,J,de).call(this,t)},oe=new WeakSet,Oe=function(...e){const t=e.map(n=>typeof n=="object"?n.decimal||W(n.decimalMultiplier):g(this,z,ue).call(this,g(this,$,q).call(this,n))).filter(Boolean);return Math.max(...t,K)},J=new WeakSet,de=function(e,t){const n=t?U(t):this.decimalMultiplier,a=W(n),[i="",r=""]=e.split(".");return BigInt(`${i}${r.padEnd(a,"0")}`)},$=new WeakSet,q=function(e){const t=`${typeof e=="number"?Number(e).toLocaleString("fullwide",{useGrouping:!1,maximumFractionDigits:20}):ye(e)}`.replaceAll(",",".").split(".");return t.length>1?`${t.slice(0,-1).join("")}.${t.at(-1)}`:t[0]},z=new WeakSet,ue=function(e){var t;const n=((t=e.split(".")[1])==null?void 0:t.length)||0;return Math.max(n,K)};let Z=Ut;function ye(e){return typeof e=="object"?"getValue"in e?e.getValue("string"):e.value:e}let le;const re=e=>{if(!le)throw new Error("Static assets not loaded, call await AssetValue.loadStaticAssets() first");return le.get(e.toUpperCase())||{decimal:f.THOR,identifier:""}},ge=async(e,t=0)=>{Lt(e);const n=await we(me(e));return new S({decimal:n,value:t,identifier:e})};class S extends Z{constructor(t){super(t.value instanceof Z?t.value:{decimal:t.decimal,value:t.value}),N(this,"address"),N(this,"chain"),N(this,"isSynthetic",!1),N(this,"isGasAsset",!1),N(this,"symbol"),N(this,"ticker"),N(this,"type");const n="identifier"in t?t.identifier:`${t.chain}.${t.symbol}`,a=me(n);this.type=Ke(a),this.chain=a.chain,this.ticker=a.ticker,this.symbol=a.symbol,this.address=a.address,this.isSynthetic=a.isSynthetic,this.isGasAsset=a.isGasAsset}get assetValue(){return`${this.getValue("string")} ${this.ticker}`}toString(t=!1){const n=this.isSynthetic?this.ticker:`${this.chain}.${this.ticker}`;return t?n:`${this.chain}.${this.symbol}`}eq({chain:t,symbol:n}){return this.chain===t&&this.symbol===n}static async fromString(t,n=0){return ge(t,n)}static fromStringSync(t,n=0){const{decimal:a,identifier:i}=re(t);return i?new S({decimal:a,identifier:i,value:n}):void 0}static async fromIdentifier(t,n=0){return ge(t,n)}static fromIdentifierSync(t,n=0){const{decimal:a,identifier:i}=re(t);return new S({decimal:a,identifier:i,value:n})}static fromChainOrSignature(t,n=0){const{decimal:a,identifier:i}=qe(t);return new S({value:n,decimal:a,identifier:i})}static async fromTCQuote(t,n=0){const a=await we(me(t)),i=this.shiftDecimals({value:n,from:f.THOR,to:a});return new S({value:i,identifier:t,decimal:a})}static fromTCQuoteStatic(t,n=0){const a=re(t),i=this.shiftDecimals({value:n,from:f.THOR,to:a.decimal});return new S({...a,value:i})}static async loadStaticAssets(){return new Promise(async(t,n)=>{try{const{ThorchainList:a,NativeList:i,...r}=await import("@swapkit/tokens");le=[i,...Object.values(r)].reduce((p,{tokens:d})=>(d.forEach(({identifier:y,chain:l,...o})=>{const c="decimals"in o?o.decimals:f[l];p.set(y,{identifier:y,decimal:c})}),p),new Map),t({ok:!0})}catch(a){console.error(a),n({ok:!1,error:a,message:"Couldn't load static assets. Ensure you have installed @swapkit/tokens package"})}})}}const ce=e=>{const t=S.fromChainOrSignature(e);switch(e){case s.Bitcoin:case s.Litecoin:case s.BitcoinCash:return t.add(10001);case s.Dogecoin:return t.add(100000001);case s.Avalanche:case s.Ethereum:return t.add(10*10**9);case s.THORChain:case s.Maya:return t.add(0);default:return t.add(1)}},me=e=>{const t=e.slice(0,14).includes("/"),n=e.includes(".")?e:`${s.THORChain}.${e}`,[a,i]=n.split("."),[r,p]=i.split("-");return{address:p==null?void 0:p.toLowerCase(),chain:a,isGasAsset:We({chain:a,symbol:i}),isSynthetic:t,symbol:p?`${r}-${(p==null?void 0:p.toLowerCase())??""}`:i,ticker:t?i:r}},Ht={core_wallet_connection_not_found:10001,core_estimated_max_spendable_chain_not_supported:10002,core_extend_error:10003,core_inbound_data_not_found:10004,core_approve_asset_address_or_from_not_found:10005,core_chain_halted:10099,core_wallet_xdefi_not_installed:10101,core_wallet_evmwallet_not_installed:10102,core_wallet_walletconnect_not_installed:10103,core_wallet_keystore_not_installed:10104,core_wallet_ledger_not_installed:10105,core_wallet_trezor_not_installed:10106,core_wallet_keplr_not_installed:10107,core_wallet_okx_not_installed:10108,core_swap_invalid_params:10200,core_swap_route_not_complete:10201,core_swap_asset_not_recognized:10202,core_swap_contract_not_found:10203,core_swap_route_transaction_not_found:10204,core_swap_contract_not_supported:10205,core_swap_transaction_error:10206,core_swap_quote_mode_not_supported:10207,core_transaction_deposit_error:10301,core_transaction_create_liquidity_rune_error:10302,core_transaction_create_liquidity_asset_error:10303,core_transaction_create_liquidity_invalid_params:10304,core_transaction_add_liquidity_invalid_params:10305,core_transaction_add_liquidity_no_rune_address:10306,core_transaction_add_liquidity_rune_error:10307,core_transaction_add_liquidity_asset_error:10308,core_transaction_withdraw_error:10309,core_transaction_deposit_to_pool_error:10310,core_transaction_deposit_insufficient_funds_error:10311,core_transaction_deposit_gas_error:10312,core_transaction_deposit_server_error:10313,wallet_ledger_connection_error:20001,helpers_number_different_decimals:99101};class m extends Error{constructor(t,n){console.error(n),super(t,{cause:{code:Ht[t],message:t}}),Object.setPrototypeOf(this,m.prototype)}}class ee extends Z{eq(t){return this.eqValue(t)}}const $t=[{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"}],kt=[{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"}],Ft=[{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"}],Gt=[{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"}],Wt=[{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"}],qt=[{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"}],Kt=[{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"}],Yt=[{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"}],jt=[{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"}],Xt=[{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"}],Qt=[{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"}],Jt=[{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"}],zt=[{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"}],Zt=[{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"}],Je={["0x7C38b8B2efF28511ECc14a621e263857Fb5771d3".toLowerCase()]:$t,["0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c".toLowerCase()]:Ft,["0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2".toLowerCase()]:Gt},en={...Je,["0x942c6dA485FD6cEf255853ef83a149d43A73F18a".toLowerCase()]:qt,["0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a".toLowerCase()]:kt,["0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212".toLowerCase()]:Yt,["0x30912B38618D3D37De3191A4FFE982C65a9aEC2E".toLowerCase()]:Wt,["0xbf365e79aA44A2164DA135100C57FDB6635ae870".toLowerCase()]:Kt,["0x86904Eb2b3c743400D03f929F2246EfA80B91215".toLowerCase()]:jt,["0x3660dE6C56cFD31998397652941ECe42118375DA".toLowerCase()]:Xt,["0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8".toLowerCase()]:Qt,["0xe4ddca21881bac219af7f217703db0475d2a9f02".toLowerCase()]:Jt,["0x11733abf0cdb43298f7e949c930188451a9a9ef2".toLowerCase()]:zt,["0xb33874810e5395eb49d8bd7e912631db115d5a03".toLowerCase()]:Zt},tn=({streamSwap:e,contractAddress:t,recipient:n,toChecksumAddress:a,calldata:{amount:i,amountOutMin:r="",data:p="",deadline:d,memo:y,router:l,memoStreamingSwap:o,tcMemo:c,tcRouter:h,tcVault:w,vault:R,token:O}})=>{const E=!!Je[t.toLowerCase()];if(E&&!l)throw new Error("Router is required on calldata for swapIn with GenericContract");const I=c||y,v=e&&o||I;if(!w&&!R)throw new Error("TC Vault is required on calldata");if(!h&&!l)throw new Error("TC Router is required on calldata");if(!v)throw new Error("TC Memo is required on calldata");if(!O)throw new Error("Token is required on calldata");const D=[a(h||l),a(w||R),v.replace("{recipientAddress}",n),a(O),i],ze=E?[a(l),p,d]:[r,d];return[...D,...ze]},nn=({chain:e,txHash:t})=>{const n=be[e];switch(e){case s.Binance:case s.Bitcoin:case s.BitcoinCash:case s.Maya:case s.Kujira:case s.THORChain:return`${n}/tx/${t}`;case s.Arbitrum:case s.Avalanche:case s.BinanceSmartChain:case s.Ethereum:case s.Optimism:case s.Polygon:return`${n}/tx/${t.startsWith("0x")?t:`0x${t}`}`;case s.Cosmos:return`${n}/transactions/${t}`;case s.Dogecoin:return`${n}/transaction/${t.toLowerCase()}`;case s.Litecoin:return`${n}/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},an=({chain:e,address:t})=>{const n=be[e];switch(e){case s.Arbitrum:case s.Avalanche:case s.Binance:case s.BinanceSmartChain:case s.Bitcoin:case s.BitcoinCash:case s.Dogecoin:case s.Ethereum:case s.Maya:case s.Optimism:case s.Polygon:case s.Kujira:case s.THORChain:return`${n}/address/${t}`;case s.Cosmos:return`${n}/account/${t}`;case s.Litecoin:return`${n}/${t}`;default:throw new Error(`Unsupported chain: ${e}`)}},sn=e=>{const t=e?k.ThornodeStagenet:k.ThornodeMainnet;return Ae(`${t}/thorchain/inbound_addresses`)},rn=e=>{const t=e?k.ThornodeStagenet:k.ThornodeMainnet;return Ae(`${t}/thorchain/mimir`)},Ie=()=>Object.values(s).reduce((e,t)=>(e[t]=null,e),{});var B,te,Y,x,j,X;class pn{constructor({stagenet:t}={}){T(this,"connectedChains",Ie());T(this,"connectedWallets",Ie());T(this,"stagenet",!1);T(this,"getAddress",t=>{var n;return((n=this.connectedChains[t])==null?void 0:n.address)||""});T(this,"getExplorerTxUrl",(t,n)=>nn({chain:t,txHash:n}));T(this,"getWallet",t=>this.connectedWallets[t]);T(this,"getExplorerAddressUrl",(t,n)=>an({chain:t,address:n}));T(this,"getBalance",async(t,n)=>{const a=await this.getWalletByChain(t,n);return(a==null?void 0:a.balance)||[]});T(this,"swap",async({streamSwap:t,recipient:n,route:a,feeOptionKey:i})=>{var d,y;const{quoteMode:r}=a.meta,p=r.startsWith("ERC20-")?s.Ethereum:r.startsWith("ARC20-")?s.Avalanche:s.BinanceSmartChain;if(!a.complete)throw new m("core_swap_route_not_complete");try{if(Ne.includes(r)){const l=this.connectedWallets[p];if(!(l!=null&&l.sendTransaction))throw new m("core_wallet_connection_not_found");if(!(t?(d=a==null?void 0:a.streamingSwap)==null?void 0:d.transaction:a==null?void 0:a.transaction))throw new m("core_swap_route_transaction_not_found");const{isHexString:c,parseUnits:h}=await Promise.resolve().then(()=>require("./index-9e36735e.cjs")),{data:w,from:R,to:O,value:E}=a.transaction,I={data:w,from:R,to:O.toLowerCase(),chainId:BigInt(Le[p]),value:E?new ee({value:c(E)?E:h(E,"wei").toString(16)}).baseValueBigInt:0n};return l.sendTransaction(I,i)}if(De.includes(r)){if(!a.calldata.fromAsset)throw new m("core_swap_asset_not_recognized");const l=await S.fromString(a.calldata.fromAsset);if(!l)throw new m("core_swap_asset_not_recognized");const{address:o}=await b(this,B).call(this,l.chain),{contract:c,calldata:{expiration:h,amountIn:w,memo:R,memoStreamingSwap:O}}=a,E=l.add(ee.fromBigInt(BigInt(w),l.decimal)),I=t&&O||R;return this.deposit({expiration:h,assetValue:E,memo:I,feeOptionKey:i,router:c,recipient:o})}if(xe.includes(r)){const{calldata:l,contract:o}=a;if(!o)throw new m("core_swap_contract_not_found");const c=this.connectedWallets[p],h=this.getAddress(p);if(!(c!=null&&c.sendTransaction)||!h)throw new m("core_wallet_connection_not_found");const{getProvider:w,toChecksumAddress:R}=await import("@swapkit/toolbox-evm"),O=w(p),E=en[o.toLowerCase()];if(!E)throw new m("core_swap_contract_not_supported",{contractAddress:o});const v=await(await((y=c.createContract)==null?void 0:y.call(c,o,E,O))).getFunction("swapIn").populateTransaction(...tn({streamSwap:t,toChecksumAddress:R,contractAddress:o,recipient:n,calldata:l}),{from:h});return c.sendTransaction(v,i)}throw new m("core_swap_quote_mode_not_supported",{quoteMode:r})}catch(l){throw new m("core_swap_transaction_error",l)}});T(this,"getWalletByChain",async(t,n)=>{var r,p;const a=this.getAddress(t);if(!a)return null;const i=await((r=this.getWallet(t))==null?void 0:r.getBalance(a,n))??[S.fromChainOrSignature(t)];return this.connectedChains[t]={address:a,balance:i,walletType:(p=this.connectedChains[t])==null?void 0:p.walletType},{...this.connectedChains[t]}});T(this,"approveAssetValue",(t,n)=>b(this,Y).call(this,{assetValue:t,type:"approve",contractAddress:n}));T(this,"isAssetValueApproved",(t,n)=>b(this,Y).call(this,{assetValue:t,contractAddress:n,type:"checkOnly"}));T(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)});T(this,"transfer",async t=>{const n=this.connectedWallets[t.assetValue.chain];if(!n)throw new m("core_wallet_connection_not_found");try{return await n.transfer(b(this,X).call(this,t))}catch(a){throw new m("core_swap_transaction_error",a)}});T(this,"deposit",async({assetValue:t,recipient:n,router:a,...i})=>{const{chain:r,symbol:p,ticker:d}=t,y=this.connectedWallets[r];if(!y)throw new m("core_wallet_connection_not_found");const l=b(this,X).call(this,{assetValue:t,recipient:n,router:a,...i});try{switch(r){case s.THORChain:{const o=y;return await(n===""?o.deposit(l):o.transfer(l))}case s.Ethereum:case s.BinanceSmartChain:case s.Avalanche:{const{getChecksumAddressFromAsset:o}=await import("@swapkit/toolbox-evm"),c=r===s.Avalanche?ve:r===s.BinanceSmartChain?Me:Se;return await y.call({abi:c,contractAddress:a||(await b(this,B).call(this,r)).router,funcName:"depositWithExpiry",funcParams:[n,o({chain:r,symbol:p,ticker:d},r),t.getBaseValue("bigint").toString(),l.memo,i.expiration],txOverrides:{from:l.from,value:t.isGasAsset?t.getBaseValue("bigint"):void 0}})}default:return await y.transfer(l)}}catch(o){const c=((o==null?void 0:o.message)||(o==null?void 0:o.toString())).toLowerCase(),h=c==null?void 0:c.includes("insufficient funds"),w=c==null?void 0:c.includes("gas"),R=c==null?void 0:c.includes("server"),O=h?"core_transaction_deposit_insufficient_funds_error":w?"core_transaction_deposit_gas_error":R?"core_transaction_deposit_server_error":"core_transaction_deposit_error";throw new m(O,o)}});T(this,"createLiquidity",async({runeAssetValue:t,assetValue:n})=>{if(t.lte(0)||n.lte(0))throw new m("core_transaction_create_liquidity_invalid_params");let a="",i="";try{a=await b(this,x).call(this,{assetValue:t,memo:C(_.DEPOSIT,{...n,address:this.getAddress(n.chain)})})}catch(r){throw new m("core_transaction_create_liquidity_rune_error",r)}try{i=await b(this,x).call(this,{assetValue:n,memo:C(_.DEPOSIT,{...n,address:this.getAddress(s.THORChain)})})}catch(r){throw new m("core_transaction_create_liquidity_asset_error",r)}return{runeTx:a,assetTx:i}});T(this,"addLiquidity",async({poolIdentifier:t,runeAssetValue:n,assetValue:a,runeAddr:i,assetAddr:r,isPendingSymmAsset:p,mode:d="sym"})=>{const[y,...l]=t.split("."),o=d==="sym",c=(n==null?void 0:n.gt(0))&&(o||d==="rune"),h=(a==null?void 0:a.gt(0))&&(o||d==="asset"),w=p||c,R=w?i||this.getAddress(s.THORChain):"",O=o||d==="asset"?r||this.getAddress(y):"";if(!c&&!h)throw new m("core_transaction_add_liquidity_invalid_params");if(w&&!R)throw new m("core_transaction_add_liquidity_no_rune_address");let E,I;const v={chain:y,symbol:l.join(".")};if(c&&n)try{E=await b(this,x).call(this,{assetValue:n,memo:C(_.DEPOSIT,{...v,address:O})})}catch(D){throw new m("core_transaction_add_liquidity_rune_error",D)}if(h&&a)try{I=await b(this,x).call(this,{assetValue:a,memo:C(_.DEPOSIT,{...v,address:R})})}catch(D){throw new m("core_transaction_add_liquidity_asset_error",D)}return{runeTx:E,assetTx:I}});T(this,"withdraw",async({memo:t,assetValue:n,percent:a,from:i,to:r})=>{const p=r==="rune"?S.fromChainOrSignature(s.THORChain):i==="sym"&&r==="sym"||i==="rune"||i==="asset"?void 0:n;try{return await b(this,x).call(this,{assetValue:ce(i==="asset"?n.chain:s.THORChain),memo:t||C(_.WITHDRAW,{symbol:n.symbol,chain:n.chain,ticker:n.ticker,basisPoints:Math.max(1e4,Math.round(a*100)),targetAssetString:p==null?void 0:p.toString(),singleSide:!1})})}catch(d){throw new m("core_transaction_withdraw_error",d)}});T(this,"savings",async({assetValue:t,memo:n,percent:a,type:i})=>{const r=i==="add"?_.DEPOSIT:_.WITHDRAW,p=n||C(r,{ticker:t.ticker,symbol:t.symbol,chain:t.chain,singleSide:!0,basisPoints:a?Math.max(1e4,Math.round(a*100)):void 0});return b(this,x).call(this,{assetValue:t,memo:p})});T(this,"loan",({assetValue:t,memo:n,minAmount:a,type:i})=>b(this,x).call(this,{assetValue:t,memo:n||C(i==="open"?_.OPEN_LOAN:_.CLOSE_LOAN,{asset:t.toString(),minAmount:a.toString(),address:this.getAddress(t.chain)})}));T(this,"nodeAction",({type:t,assetValue:n,address:a})=>{const i=t==="bond"?_.BOND:t==="unbond"?_.UNBOND:_.LEAVE,r=C(i,{address:a,unbondAmount:t==="unbond"?n.baseValueNumber:void 0});return b(this,j).call(this,{memo:r,assetValue:t==="bond"?n:ce(s.THORChain)})});T(this,"registerThorname",({assetValue:t,...n})=>b(this,j).call(this,{assetValue:t,memo:C(_.THORNAME_REGISTER,n)}));T(this,"extend",({wallets:t,config:n,apis:a={},rpcUrls:i={}})=>{try{t.forEach(r=>{this[r.connectMethodName]=r.connect({addChain:b(this,te),config:n||{},apis:a,rpcUrls:i})})}catch(r){throw new m("core_extend_error",r)}});T(this,"estimateMaxSendableAmount",async({chain:t,params:n})=>{const a=this.getWallet(t);switch(t){case s.Arbitrum:case s.Avalanche:case s.BinanceSmartChain:case s.Ethereum:case s.Optimism:case s.Polygon:{const{estimateMaxSendableAmount:i}=await import("@swapkit/toolbox-evm");return i({...n,toolbox:a})}case s.Bitcoin:case s.BitcoinCash:case s.Dogecoin:case s.Litecoin:return a.estimateMaxSendableAmount(n);case s.Binance:case s.THORChain:case s.Cosmos:{const{estimateMaxSendableAmount:i}=await import("@swapkit/toolbox-cosmos");return i({...n,toolbox:a})}default:throw new m("core_estimated_max_spendable_chain_not_supported")}});T(this,"connectXDEFI",async t=>{throw new m("core_wallet_xdefi_not_installed")});T(this,"connectEVMWallet",async(t,n)=>{throw new m("core_wallet_evmwallet_not_installed")});T(this,"connectWalletconnect",async(t,n)=>{throw new m("core_wallet_walletconnect_not_installed")});T(this,"connectKeystore",async(t,n)=>{throw new m("core_wallet_keystore_not_installed")});T(this,"connectLedger",async(t,n)=>{throw new m("core_wallet_ledger_not_installed")});T(this,"connectTrezor",async(t,n)=>{throw new m("core_wallet_trezor_not_installed")});T(this,"connectKeplr",async t=>{throw new m("core_wallet_keplr_not_installed")});T(this,"connectOkx",async t=>{throw new m("core_wallet_okx_not_installed")});T(this,"disconnectChain",t=>{this.connectedChains[t]=null,this.connectedWallets[t]=null});P(this,B,async t=>{if(t===s.THORChain)return{gas_rate:"0",router:"0",address:"",halted:!1,chain:s.THORChain};const a=(await sn(this.stagenet)).find(i=>i.chain===t);if(!a)throw new m("core_inbound_data_not_found");if(a!=null&&a.halted)throw new m("core_chain_halted");return a});P(this,te,({chain:t,wallet:n,walletMethods:a})=>{this.connectedChains[t]=n,this.connectedWallets[t]=a});P(this,Y,async({assetValue:{baseValueBigInt:t,address:n,chain:a,isGasAsset:i,isSynthetic:r},type:p="checkOnly",contractAddress:d})=>{const y=[s.Ethereum,s.Avalanche,s.BinanceSmartChain].includes(a);if(y&&i||!y||r)return!0;const o=this.connectedWallets[a],c=p==="checkOnly"?o==null?void 0:o.isApproved:o==null?void 0:o.approve;if(!c)throw new m("core_wallet_connection_not_found");const h=this.getAddress(a);if(!n||!h)throw new m("core_approve_asset_address_or_from_not_found");const w=d||(await b(this,B).call(this,a)).router;return c({amount:t,assetAddress:n,from:h,spenderAddress:w})});P(this,x,async({assetValue:t,memo:n,feeOptionKey:a=H.Fast})=>{const{gas_rate:i,router:r,address:p}=await b(this,B).call(this,t.chain),d=(parseInt(i)||0)*Ge[a];return this.deposit({assetValue:t,recipient:p,memo:n,router:r,feeRate:d})});P(this,j,async({memo:t,assetValue:n})=>{const a=await rn(this.stagenet);if(a.HALTCHAINGLOBAL>=1||a.HALTTHORCHAIN>=1)throw new m("core_chain_halted");return this.deposit({assetValue:n,recipient:"",memo:t})});P(this,X,({assetValue:t,...n})=>({...n,memo:n.memo||"",from:this.getAddress(t.chain),assetValue:t}));this.stagenet=!!t}}B=new WeakMap,te=new WeakMap,Y=new WeakMap,x=new WeakMap,j=new WeakMap,X=new WeakMap;exports.AGG_SWAP=Ne;exports.ApiError=_e;exports.ApiUrl=k;exports.AssetValue=S;exports.BaseDecimal=f;exports.BigIntArithmetics=Z;exports.Chain=s;exports.ChainId=ne;exports.ChainIdToChain=ht;exports.ChainToChainId=Le;exports.ChainToExplorerUrl=be;exports.ChainToHexChainId=_t;exports.ChainToRPC=Ue;exports.ContractAddress=Be;exports.CosmosChainList=mt;exports.DerivationPath=Ve;exports.ERROR_CODE=u;exports.ERROR_MODULE=Pe;exports.ERROR_TYPE=Te;exports.EVMChainList=lt;exports.ErrorCode=He;exports.FeeOption=H;exports.MemoType=_;exports.NetworkDerivationPath=yt;exports.QuoteMode=Ce;exports.RPCUrl=he;exports.SWAP_IN=xe;exports.SWAP_OUT=De;exports.SwapKitCore=pn;exports.SwapKitError=m;exports.SwapKitNumber=ee;exports.TCAvalancheDepositABI=ve;exports.TCBscDepositABI=Me;exports.TCEthereumVaultAbi=Se;exports.UTXOChainList=ct;exports.WalletOption=$e;exports.assetFromString=vt;exports.derivationPathToString=Rt;exports.erc20ABI=dt;exports.filterAssets=Ct;exports.formatBigIntToSafeValue=Ee;exports.gasFeeMultiplier=Ge;exports.getAssetType=Ke;exports.getAsymmetricAssetShare=je;exports.getAsymmetricAssetWithdrawAmount=xt;exports.getAsymmetricRuneShare=Ye;exports.getAsymmetricRuneWithdrawAmount=Nt;exports.getCommonAssetInfo=qe;exports.getDecimal=we;exports.getEstimatedPoolShare=Pt;exports.getLiquiditySlippage=Bt;exports.getMemoFor=C;exports.getMinAmountByChain=ce;exports.getRequest=Ae;exports.getSymmetricPoolShare=Xe;exports.getSymmetricWithdraw=Dt;exports.getTHORNameCost=wt;exports.isGasAsset=We;exports.postRequest=ke;exports.validateTHORName=Et;
|
package/dist/index.d.ts
DELETED
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import type { ARBToolbox } from '@swapkit/toolbox-evm';
|
|
2
|
-
import { AssetValue } from '@swapkit/helpers';
|
|
3
|
-
import type { AVAXToolbox } from '@swapkit/toolbox-evm';
|
|
4
|
-
import type { BCHToolbox } from '@swapkit/toolbox-utxo';
|
|
5
|
-
import type { BinanceToolbox } from '@swapkit/toolbox-cosmos';
|
|
6
|
-
import type { BSCToolbox } from '@swapkit/toolbox-evm';
|
|
7
|
-
import type { BTCToolbox } from '@swapkit/toolbox-utxo';
|
|
8
|
-
import { Chain } from '@swapkit/types';
|
|
9
|
-
import type { DepositParam } from '@swapkit/toolbox-cosmos';
|
|
10
|
-
import type { DOGEToolbox } from '@swapkit/toolbox-utxo';
|
|
11
|
-
import type { ETHToolbox } from '@swapkit/toolbox-evm';
|
|
12
|
-
import type { EVMWalletOptions } from '@swapkit/types';
|
|
13
|
-
import type { ExtendParams } from '@swapkit/types';
|
|
14
|
-
import type { FeeOption } from '@swapkit/types';
|
|
15
|
-
import type { GaiaToolbox } from '@swapkit/toolbox-cosmos';
|
|
16
|
-
import type { KujiraToolbox } from '@swapkit/toolbox-cosmos';
|
|
17
|
-
import type { LTCToolbox } from '@swapkit/toolbox-utxo';
|
|
18
|
-
import type { MATICToolbox } from '@swapkit/toolbox-evm';
|
|
19
|
-
import type { OPToolbox } from '@swapkit/toolbox-evm';
|
|
20
|
-
import type { QuoteRoute } from '@swapkit/api';
|
|
21
|
-
import type { SwapKitNumber } from '@swapkit/helpers';
|
|
22
|
-
import type { ThorchainToolboxType } from '@swapkit/toolbox-cosmos';
|
|
23
|
-
import type { ThornameRegisterParam } from '@swapkit/helpers';
|
|
24
|
-
import type { WalletOption } from '@swapkit/types';
|
|
25
|
-
|
|
26
|
-
export declare type AddLiquidityTxns = {
|
|
27
|
-
runeTx?: string;
|
|
28
|
-
assetTx?: string;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
declare type BaseWalletMethods = {
|
|
32
|
-
getAddress: () => Promise<string> | string;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export declare type ChainWallet = {
|
|
36
|
-
address: string;
|
|
37
|
-
balance: AssetValue[];
|
|
38
|
-
walletType: WalletOption;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export declare type CoreTxParams = {
|
|
42
|
-
assetValue: AssetValue;
|
|
43
|
-
recipient: string;
|
|
44
|
-
memo?: string;
|
|
45
|
-
feeOptionKey?: FeeOption;
|
|
46
|
-
feeRate?: number;
|
|
47
|
-
data?: string;
|
|
48
|
-
from?: string;
|
|
49
|
-
expiration?: number;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export declare type CosmosBasedWallet<T extends typeof BinanceToolbox | typeof GaiaToolbox> = BaseWalletMethods & ReturnType<T> & {
|
|
53
|
-
transfer: (params: CoreTxParams) => Promise<string>;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export declare type EVMWallet<T extends typeof AVAXToolbox | typeof BSCToolbox | typeof ETHToolbox | typeof OPToolbox> = BaseWalletMethods & ReturnType<T> & {
|
|
57
|
-
transfer: (params: CoreTxParams) => Promise<string>;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
export declare class SwapKitCore<T = ''> {
|
|
61
|
-
|
|
62
|
-
connectedChains: Wallet;
|
|
63
|
-
connectedWallets: WalletMethods;
|
|
64
|
-
readonly stagenet: boolean;
|
|
65
|
-
constructor({ stagenet }?: {
|
|
66
|
-
stagenet?: boolean;
|
|
67
|
-
} | undefined);
|
|
68
|
-
getAddress: (chain: Chain) => string;
|
|
69
|
-
getExplorerTxUrl: (chain: Chain, txHash: string) => string;
|
|
70
|
-
getWallet: <T_1 extends Chain>(chain: Chain) => WalletMethods[T_1];
|
|
71
|
-
getExplorerAddressUrl: (chain: Chain, address: string) => string;
|
|
72
|
-
getBalance: (chain: Chain, potentialScamFilter?: boolean) => Promise<AssetValue[]>;
|
|
73
|
-
swap: ({ streamSwap, recipient, route, feeOptionKey }: SwapParams) => Promise<string>;
|
|
74
|
-
getWalletByChain: (chain: Chain, potentialScamFilter?: boolean) => Promise<{
|
|
75
|
-
address?: string | undefined;
|
|
76
|
-
balance?: AssetValue[] | undefined;
|
|
77
|
-
walletType?: WalletOption | undefined;
|
|
78
|
-
} | null>;
|
|
79
|
-
approveAssetValue: (assetValue: AssetValue, contractAddress?: string) => Promise<string | true>;
|
|
80
|
-
isAssetValueApproved: (assetValue: AssetValue, contractAddress?: string) => Promise<boolean>;
|
|
81
|
-
validateAddress: ({ address, chain }: {
|
|
82
|
-
address: string;
|
|
83
|
-
chain: Chain;
|
|
84
|
-
}) => boolean | Promise<boolean> | undefined;
|
|
85
|
-
transfer: (params: CoreTxParams & {
|
|
86
|
-
router?: string;
|
|
87
|
-
}) => Promise<string>;
|
|
88
|
-
deposit: ({ assetValue, recipient, router, ...rest }: CoreTxParams & {
|
|
89
|
-
router?: string | undefined;
|
|
90
|
-
}) => Promise<string>;
|
|
91
|
-
/**
|
|
92
|
-
* TC related Methods
|
|
93
|
-
*/
|
|
94
|
-
createLiquidity: ({ runeAssetValue, assetValue, }: {
|
|
95
|
-
runeAssetValue: AssetValue;
|
|
96
|
-
assetValue: AssetValue;
|
|
97
|
-
}) => Promise<{
|
|
98
|
-
runeTx: string;
|
|
99
|
-
assetTx: string;
|
|
100
|
-
}>;
|
|
101
|
-
addLiquidity: ({ poolIdentifier, runeAssetValue, assetValue, runeAddr, assetAddr, isPendingSymmAsset, mode, }: {
|
|
102
|
-
poolIdentifier: string;
|
|
103
|
-
runeAssetValue: AssetValue;
|
|
104
|
-
assetValue: AssetValue;
|
|
105
|
-
isPendingSymmAsset?: boolean | undefined;
|
|
106
|
-
runeAddr?: string | undefined;
|
|
107
|
-
assetAddr?: string | undefined;
|
|
108
|
-
mode?: "sym" | "rune" | "asset" | undefined;
|
|
109
|
-
}) => Promise<{
|
|
110
|
-
runeTx: string | undefined;
|
|
111
|
-
assetTx: string | undefined;
|
|
112
|
-
}>;
|
|
113
|
-
withdraw: ({ memo, assetValue, percent, from, to, }: {
|
|
114
|
-
memo?: string | undefined;
|
|
115
|
-
assetValue: AssetValue;
|
|
116
|
-
percent: number;
|
|
117
|
-
from: 'sym' | 'rune' | 'asset';
|
|
118
|
-
to: 'sym' | 'rune' | 'asset';
|
|
119
|
-
}) => Promise<string>;
|
|
120
|
-
savings: ({ assetValue, memo, percent, type, }: {
|
|
121
|
-
assetValue: AssetValue;
|
|
122
|
-
memo?: string | undefined;
|
|
123
|
-
} & ({
|
|
124
|
-
type: 'add';
|
|
125
|
-
percent?: undefined;
|
|
126
|
-
} | {
|
|
127
|
-
type: 'withdraw';
|
|
128
|
-
percent: number;
|
|
129
|
-
})) => Promise<string>;
|
|
130
|
-
loan: ({ assetValue, memo, minAmount, type, }: {
|
|
131
|
-
assetValue: AssetValue;
|
|
132
|
-
memo?: string | undefined;
|
|
133
|
-
minAmount: AssetValue;
|
|
134
|
-
type: 'open' | 'close';
|
|
135
|
-
}) => Promise<string>;
|
|
136
|
-
nodeAction: ({ type, assetValue, address, }: {
|
|
137
|
-
address: string;
|
|
138
|
-
} & ({
|
|
139
|
-
type: 'bond' | 'unbond';
|
|
140
|
-
assetValue: AssetValue;
|
|
141
|
-
} | {
|
|
142
|
-
type: 'leave';
|
|
143
|
-
assetValue?: undefined;
|
|
144
|
-
})) => Promise<string>;
|
|
145
|
-
registerThorname: ({ assetValue, ...param }: ThornameRegisterParam & {
|
|
146
|
-
assetValue: AssetValue;
|
|
147
|
-
}) => Promise<string>;
|
|
148
|
-
extend: ({ wallets, config, apis, rpcUrls }: ExtendParams<T>) => void;
|
|
149
|
-
estimateMaxSendableAmount: ({ chain, params, }: {
|
|
150
|
-
chain: Chain;
|
|
151
|
-
params: {
|
|
152
|
-
from: string;
|
|
153
|
-
recipient: string;
|
|
154
|
-
assetValue: AssetValue;
|
|
155
|
-
};
|
|
156
|
-
}) => Promise<AssetValue>;
|
|
157
|
-
/**
|
|
158
|
-
* Wallet connection methods
|
|
159
|
-
*/
|
|
160
|
-
connectXDEFI: (_chains: Chain[]) => Promise<void>;
|
|
161
|
-
connectEVMWallet: (_chains: Chain[] | Chain, _wallet: EVMWalletOptions) => Promise<void>;
|
|
162
|
-
connectWalletconnect: (_chains: Chain[], _options?: any) => Promise<void>;
|
|
163
|
-
connectKeystore: (_chains: Chain[], _phrase: string) => Promise<void>;
|
|
164
|
-
connectLedger: (_chains: Chain, _derivationPath: number[]) => Promise<void>;
|
|
165
|
-
connectTrezor: (_chains: Chain, _derivationPath: number[]) => Promise<void>;
|
|
166
|
-
connectKeplr: (_chain: Chain) => Promise<void>;
|
|
167
|
-
connectOkx: (_chains: Chain[]) => Promise<void>;
|
|
168
|
-
disconnectChain: (chain: Chain) => void;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export declare type SwapParams = {
|
|
172
|
-
recipient: string;
|
|
173
|
-
streamSwap?: boolean;
|
|
174
|
-
route: QuoteRoute;
|
|
175
|
-
feeOptionKey: FeeOption;
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
export declare type ThorchainWallet = BaseWalletMethods & ThorchainToolboxType & {
|
|
179
|
-
transfer: (params: CoreTxParams) => Promise<string>;
|
|
180
|
-
deposit: (params: DepositParam) => Promise<string>;
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
export declare type UpgradeParams = {
|
|
184
|
-
runeAmount: SwapKitNumber;
|
|
185
|
-
recipient: string;
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
export declare type UTXOWallet<T extends typeof BCHToolbox | typeof BTCToolbox | typeof DOGEToolbox | typeof LTCToolbox> = BaseWalletMethods & ReturnType<T> & {
|
|
189
|
-
transfer: (prams: CoreTxParams) => Promise<string>;
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
export declare type Wallet = Record<Chain, ChainWallet | null>;
|
|
193
|
-
|
|
194
|
-
export declare type WalletMethods = {
|
|
195
|
-
[Chain.Arbitrum]: EVMWallet<typeof ARBToolbox> | null;
|
|
196
|
-
[Chain.Avalanche]: EVMWallet<typeof AVAXToolbox> | null;
|
|
197
|
-
[Chain.BinanceSmartChain]: EVMWallet<typeof BSCToolbox> | null;
|
|
198
|
-
[Chain.Binance]: CosmosBasedWallet<typeof BinanceToolbox> | null;
|
|
199
|
-
[Chain.BitcoinCash]: UTXOWallet<typeof BCHToolbox> | null;
|
|
200
|
-
[Chain.Bitcoin]: UTXOWallet<typeof BTCToolbox> | null;
|
|
201
|
-
[Chain.Cosmos]: CosmosBasedWallet<typeof GaiaToolbox> | null;
|
|
202
|
-
[Chain.Dogecoin]: UTXOWallet<typeof DOGEToolbox> | null;
|
|
203
|
-
[Chain.Ethereum]: EVMWallet<typeof ETHToolbox> | null;
|
|
204
|
-
[Chain.Kujira]: CosmosBasedWallet<typeof KujiraToolbox> | null;
|
|
205
|
-
[Chain.Litecoin]: UTXOWallet<typeof LTCToolbox> | null;
|
|
206
|
-
[Chain.Maya]: ThorchainWallet | null;
|
|
207
|
-
[Chain.Optimism]: EVMWallet<typeof OPToolbox> | null;
|
|
208
|
-
[Chain.Polygon]: EVMWallet<typeof MATICToolbox> | null;
|
|
209
|
-
[Chain.THORChain]: ThorchainWallet | null;
|
|
210
|
-
};
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
export * from "@swapkit/helpers";
|
|
214
|
-
export * from "@swapkit/types";
|
|
215
|
-
|
|
216
|
-
export { }
|