@swapkit/types 1.0.0-rc.34 → 1.0.0-rc.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var H=Object.defineProperty;var v=(e,a,n)=>a in e?H(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n;var s=(e,a,n)=>(v(e,typeof a!="symbol"?a+"":a,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=[{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"}],R=[{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"}],M=[{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"}],G=[{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 S=(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))(S||{});const U=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],w=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],F=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var T=(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))(T||{}),_=(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))(_||{}),t=(e=>(e.INVALID_INPUT_PARAMETERS="1000",e.UNKNOWN_PROVIDERS="1001",e.CANNOT_FIND_INBOUND_ADDRESS="1002",e.NO_INBOUND_ADDRESSES="1003",e.CHAIN_HALTED_OR_UNSUPPORTED="1004",e.MISSING_INPUT_PARAMETER="1005",e.INVALID_TYPE_GENERIC="1100",e.INVALID_NUMBER_STRING="1101",e.INVALID_NUMBER="1102",e.INVALID_BOOLEAN="1103",e.INVALID_OBJECT="1104",e.INVALID_ARRAY="1105",e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER="2000",e.SELL_BUY_ASSETS_ARE_THE_SAME="2001",e.MISSING_SOURCE_ADDRESS_FOR_SYNTH="2002",e.AFF_ADDRESS_AND_BPS_OR_NEITHER="2003",e.AFF_ADDRESS_TOO_LONG="2004",e.AFF_BPS_INTEGER_MAX_500="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.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))(t||{});const X={[t.INVALID_INPUT_PARAMETERS]:"Invalid input parameters: {0}.",[t.UNKNOWN_PROVIDERS]:"Unknown providers: {0}.",[t.CANNOT_FIND_INBOUND_ADDRESS]:"Cannot find inbound address.",[t.NO_INBOUND_ADDRESSES]:"No inbound addresses.",[t.CHAIN_HALTED_OR_UNSUPPORTED]:"Chain {0} halted or unsupported.",[t.MISSING_INPUT_PARAMETER]:"Missing input parameter: {0}.",[t.INVALID_TYPE_GENERIC]:"Invalid type",[t.INVALID_NUMBER_STRING]:"Invalid number string.",[t.INVALID_NUMBER]:"Invalid number.",[t.INVALID_BOOLEAN]:"Invalid boolean.",[t.INVALID_OBJECT]:"Invalid object.",[t.INVALID_ARRAY]:"Invalid array.",[t.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Sell amount must be a positive integer.",[t.SELL_BUY_ASSETS_ARE_THE_SAME]:"Sell and buy assets are the same.",[t.MISSING_SOURCE_ADDRESS_FOR_SYNTH]:"Source address is required for synth quote.",[t.AFF_ADDRESS_AND_BPS_OR_NEITHER]:"Must provide affiliateAddress and affiliateBasisPoints params, or neither.",[t.AFF_ADDRESS_TOO_LONG]:"affiliateAddress too long: 3 characters max.",[t.AFF_BPS_INTEGER_MAX_500]:"affiliateBasisPoints must be an integer between 0 and 100.",[t.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]:"Source address {0} invalid for sell chain.",[t.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:"Destination address {0} invalid for buy chain.",[t.PREFERRED_PROVIDER_NOT_SUPPORTED]:"Preferred provider not supported.",[t.SOURCE_ADDRESS_SMART_CONTRACT]:"Source address is a smart contract.",[t.DESTINATION_ADDRESS_SMART_CONTRACT]:"Destination address is a smart contract.",[t.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Buy amount must be a positive integer.",[t.INVALID_PROVIDER]:"Invalid provider {0}.",[t.MISSING_CROSS_CHAIN_PROVIDER]:"Missing cross-chain provider.",[t.MISSING_AVAX_PROVIDER]:"Missing AVAX provider.",[t.MISSING_BSC_PROVIDER]:"Missing BSC provider.",[t.MISSING_ETH_PROVIDER]:"Missing ETH provider.",[t.MISSING_ARB_PROVIDER]:"Missing ARB provider.",[t.INVALID_PROVIDER_FOR_SWAP_OUT]:"Invalid provider for swap out.",[t.INVALID_CHAIN]:"Invalid chain {0}.",[t.INVALID_ASSET]:"Invalid asset {0}.",[t.UNSUPPORTED_CHAIN]:"Unsupported chain {0}.",[t.UNSUPPORTED_ASSET]:"Unsupported asset {0}.",[t.UNSUPPORTED_ASSET_FOR_SWAPOUT]:"Unsupported asset {0} for swap out.",[t.THORNODE_QUOTE_GENERIC_ERROR]:"ThorNode quote generic error.",[t.INVALID_SOURCE_ADDRESS]:"Invalid source address {0}",[t.INVALID_DESTINATION_ADDRESS]:"Invalid destination address {0}",[t.NOT_ENOUGH_SYNTH_BALANCE]:"Source address doesn't have enough synth balance for this quote.",[t.SYNTH_MINTING_CAP_REACHED]:"Synth minting cap reached.",[t.INVALID_QUOTE_MODE]:"Invalid quote mode.",[t.NO_QUOTES]:"No quotes to service this request.",[t.SERVICE_UNAVAILABLE_GENERIC]:"Service unavailable.",[t.MISSING_GAS_DATA_GENERIC]:"Missing gas data.",[t.MISSING_TOKEN_INFO_GENERIC]:"Missing token info.",[t.CANT_FIND_TOKEN_LIST]:"Can't find tokenlist {0}.",[t.NO_PRICE]:"No price for asset {0}.",[t.PRICE_IS_STALE]:"Price is stale for asset {0}.",[t.ADDRESS_NOT_WHITELISTED]:"Address {0} not whitelisted for airdrop.",[t.ADDRESS_ALREADY_CLAIMED]:"Address {0} already claimed the airdrop."},o=(e,a)=>{let n=X[e];if(!n)return"";for(let i=0;i<a.length;i++)n=(n==null?void 0:n.replace(`{${i}}`,a[i]))??"";return n};class l extends Error{constructor({status:n,revision:i,module:g,code:y,message:V,type:B,options:{shouldLog:b,shouldThrow:x,shouldTrace:D}={shouldLog:!0,shouldThrow:!0,shouldTrace:!0},displayMessageParams:u}){const I=V||o(y,u||[])||"";super(I);s(this,"status");s(this,"revision");s(this,"type");s(this,"module");s(this,"code");s(this,"message");s(this,"display");s(this,"stack");s(this,"options");s(this,"displayMessageParams");this.status=n,this.revision=i||"NO_REVISION",this.module=g,this.message=I,this.display=o(y,u||[]),this.code=y,this.type=B||T.UNHANDLED_ERROR,this.options={shouldLog:b||!0,shouldTrace:D||!0,shouldThrow:x||!1},this.displayMessageParams=u||[],this.options.shouldTrace&&Error.captureStackTrace(this)}static fromErrorInfo(n){return new l(n)}toErrorInfo(){return{...this,identifier:this.identifier}}get identifier(){return`${this.revision}-${this.type||"NO_TYPE"}-${this.module}-${this.code}`}get displayMessage(){return o(this.code,this.displayMessageParams||[])}handle(){const n=`[${this.identifier}]: ${this.message}`;if(this.options.shouldLog&&console.error(n,`
2
- `,this.stack||""),this.options.shouldThrow)throw Error(n,{cause:this.stack});return this.toErrorInfo()}}var r=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polygon="MATIC",e.THORChain="THOR",e))(r||{}),N=(e=>(e.ARB="0x0000000000000000000000000000000000000000",e.AVAX="0x0000000000000000000000000000000000000000",e.ETH="0x0000000000000000000000000000000000000000",e.BSC="0x0000000000000000000000000000000000000000",e.MATIC="0x0000000000000000000000000000000000001010",e.OP="0x4200000000000000000000000000000000000042",e))(N||{}),E=(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))(E||{});const K={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 c=(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))(c||{});const k=["ETH","AVAX","BSC","ARB","OP","MATIC"],W=["BTC","BCH","DOGE","LTC"],Y=["GAIA","THOR","BNB"],j=["AVAX","BNB","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"];var p=(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))(p||{}),m=(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))(m||{}),f=(e=>(e.Cosmos="https://node-router.thorswap.net/cosmos/rest",e.Kujira="https://lcd-kujira.synergynodes.com/",e.MayanodeMainnet="https://mayanode.mayachain.info",e.MayanodeStagenet="https://stagenet.mayanode.mayachain.info",e.ThornodeMainnet="https://thornode.thorswap.net",e.ThornodeStagenet="https://stagenet-thornode.ninerealms.com",e.ThorswapApi="https://api.thorswap.net",e.ThorswapStatic="https://static.thorswap.net",e))(f||{});const d=Object.values(r),J=Object.keys(r),A=d.reduce((e,a)=>{const n=J.find(i=>r[i]===a);return n&&(e[a]=n),e},{}),$=d.reduce((e,a)=>(e[a]=p[A[a]],e),{}),q=d.reduce((e,a)=>(e[a]=m[A[a]],e),{}),Z=d.reduce((e,a)=>{const n=`${A[a]}Hex`;return e[a]=p[n],e},{}),z={"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"},Q={ARB:"https://arbiscan.io",AVAX:"https://snowtrace.io",BSC:"https://bscscan.com",BNB:"https://explorer.binance.org",BCH:"https://www.blockchair.com/bitcoin-cash",BTC:"https://blockchair.com/bitcoin",GAIA:"https://cosmos.bigdipper.live",DOGE:"https://blockchair.com/dogecoin",KUJI:"https://finder.kujira.network/kaiyo-1",ETH:"https://etherscan.io",LTC:"https://blockchair.com/litecoin",MAYA:"https://www.mayascan.org",OP:"https://optimistic.etherscan.io",MATIC:"https://polygonscan.com",THOR:"https://runescan.io"};var C=(e=>(e.BOND="BOND",e.DEPOSIT="+",e.LEAVE="LEAVE",e.THORNAME_REGISTER="~",e.UNBOND="UNBOND",e.WITHDRAW="-",e.OPEN_LOAN="$+",e.CLOSE_LOAN="$-",e))(C||{}),h=(e=>(e.Average="average",e.Fast="fast",e.Fastest="fastest",e))(h||{}),O=(e=>(e.KEYSTORE="KEYSTORE",e.KEEPKEY="KEEPKEY",e.XDEFI="XDEFI",e.METAMASK="METAMASK",e.COINBASE_WEB="COINBASE_WEB",e.TREZOR="TREZOR",e.TRUSTWALLET_WEB="TRUSTWALLET_WEB",e.LEDGER="LEDGER",e.KEPLR="KEPLR",e.OKX="OKX",e.OKX_MOBILE="OKX_MOBILE",e.BRAVE="BRAVE",e.WALLETCONNECT="WALLETCONNECT",e))(O||{}),P=(e=>(e[e.NoError=36864]="NoError",e[e.LockedDevice=21781]="LockedDevice",e[e.TC_NotFound=65535]="TC_NotFound",e))(P||{});exports.AGG_SWAP=U;exports.ApiError=l;exports.ApiUrl=f;exports.BaseDecimal=c;exports.Chain=r;exports.ChainId=p;exports.ChainIdToChain=z;exports.ChainToChainId=$;exports.ChainToExplorerUrl=Q;exports.ChainToHexChainId=Z;exports.ChainToRPC=q;exports.ContractAddress=N;exports.CosmosChainList=Y;exports.DerivationPath=E;exports.ERROR_CODE=t;exports.ERROR_MODULE=_;exports.ERROR_TYPE=T;exports.EVMChainList=k;exports.FeeOption=h;exports.LedgerErrorCode=P;exports.MemoType=C;exports.NetworkDerivationPath=K;exports.QuoteMode=S;exports.RPCUrl=m;exports.SWAP_IN=w;exports.SWAP_OUT=F;exports.TCAvalancheDepositABI=M;exports.TCBscDepositABI=G;exports.TCEthereumVaultAbi=R;exports.TCSupportedChainList=j;exports.UTXOChainList=W;exports.WalletOption=O;exports.erc20ABI=L;
1
+ "use strict";var H=Object.defineProperty;var v=(e,a,n)=>a in e?H(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n;var s=(e,a,n)=>(v(e,typeof a!="symbol"?a+"":a,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=[{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"}],R=[{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"}],M=[{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"}],G=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferAllowance",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOut",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"address",name:"target",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"address",name:"finalAsset",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOutMin",type:"uint256"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"TransferOutAndCall",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldVault",type:"address"},{indexed:!0,internalType:"address",name:"newVault",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"VaultTransfer",type:"event"},{inputs:[{internalType:"address payable",name:"vault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"},{internalType:"uint256",name:"expiration",type:"uint256"}],name:"depositWithExpiry",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address payable",name:"asgard",type:"address"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct THORChain_Router.Coin[]",name:"coins",type:"tuple[]"},{internalType:"string",name:"memo",type:"string"}],name:"returnVaultAssets",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"newVault",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"target",type:"address"},{internalType:"address",name:"finalToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"string",name:"memo",type:"string"}],name:"transferOutAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"vault",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"vaultAllowance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"}];var _=(e=>(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))(_||{});const U=["ERC20-ERC20","ARC20-ARC20","BEP20-BEP20"],w=["ERC20-TC","ERC20-ARC20","ERC20-BEP20","ARC20-TC","ARC20-ERC20","ARC20-BEP20","BEP20-TC","BEP20-ERC20","BEP20-ARC20"],F=["TC-TC","TC-ERC20","TC-ARC20","TC-BEP20"];var T=(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))(T||{}),S=(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))(S||{}),t=(e=>(e.INVALID_INPUT_PARAMETERS="1000",e.UNKNOWN_PROVIDERS="1001",e.CANNOT_FIND_INBOUND_ADDRESS="1002",e.NO_INBOUND_ADDRESSES="1003",e.CHAIN_HALTED_OR_UNSUPPORTED="1004",e.MISSING_INPUT_PARAMETER="1005",e.INVALID_TYPE_GENERIC="1100",e.INVALID_NUMBER_STRING="1101",e.INVALID_NUMBER="1102",e.INVALID_BOOLEAN="1103",e.INVALID_OBJECT="1104",e.INVALID_ARRAY="1105",e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER="2000",e.SELL_BUY_ASSETS_ARE_THE_SAME="2001",e.MISSING_SOURCE_ADDRESS_FOR_SYNTH="2002",e.AFF_ADDRESS_AND_BPS_OR_NEITHER="2003",e.AFF_ADDRESS_TOO_LONG="2004",e.AFF_BPS_INTEGER_MAX_500="2005",e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006",e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007",e.PREFERRED_PROVIDER_NOT_SUPPORTED="2008",e.DESTINATION_ADDRESS_SMART_CONTRACT="2009",e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010",e.SOURCE_ADDRESS_SMART_CONTRACT="2011",e.SWAP_AMOUNT_TOO_LOW="2012",e.INVALID_PROVIDER="2100",e.MISSING_CROSS_CHAIN_PROVIDER="2101",e.MISSING_AVAX_PROVIDER="2102",e.MISSING_BSC_PROVIDER="2103",e.MISSING_ETH_PROVIDER="2104",e.INVALID_PROVIDER_FOR_SWAP_OUT="2105",e.MISSING_ARB_PROVIDER="2106",e.INVALID_CHAIN="2200",e.INVALID_ASSET="2201",e.INVALID_ASSET_IDENTIFIER="2202",e.UNSUPPORTED_CHAIN="2204",e.UNSUPPORTED_ASSET="2203",e.UNSUPPORTED_ASSET_FOR_SWAPOUT="2205",e.INVALID_SOURCE_ADDRESS="2300",e.INVALID_DESTINATION_ADDRESS="2301",e.THORNODE_QUOTE_GENERIC_ERROR="3000",e.NOT_ENOUGH_SYNTH_BALANCE="3001",e.SYNTH_MINTING_CAP_REACHED="3002",e.INVALID_QUOTE_MODE="4000",e.NO_QUOTES="4001",e.SERVICE_UNAVAILABLE_GENERIC="5000",e.MISSING_GAS_DATA_GENERIC="5100",e.MISSING_TOKEN_INFO_GENERIC="5200",e.CANT_FIND_TOKEN_LIST="5201",e.NO_PRICE="5202",e.PRICE_IS_STALE="5203",e.ADDRESS_NOT_WHITELISTED="6000",e.ADDRESS_ALREADY_CLAIMED="6001",e.TEMPORARY_ERROR="9999",e))(t||{});const X={[t.INVALID_INPUT_PARAMETERS]:"Invalid input parameters: {0}.",[t.UNKNOWN_PROVIDERS]:"Unknown providers: {0}.",[t.CANNOT_FIND_INBOUND_ADDRESS]:"Cannot find inbound address.",[t.NO_INBOUND_ADDRESSES]:"No inbound addresses.",[t.CHAIN_HALTED_OR_UNSUPPORTED]:"Chain {0} halted or unsupported.",[t.MISSING_INPUT_PARAMETER]:"Missing input parameter: {0}.",[t.INVALID_TYPE_GENERIC]:"Invalid type",[t.INVALID_NUMBER_STRING]:"Invalid number string.",[t.INVALID_NUMBER]:"Invalid number.",[t.INVALID_BOOLEAN]:"Invalid boolean.",[t.INVALID_OBJECT]:"Invalid object.",[t.INVALID_ARRAY]:"Invalid array.",[t.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Sell amount must be a positive integer.",[t.SELL_BUY_ASSETS_ARE_THE_SAME]:"Sell and buy assets are the same.",[t.MISSING_SOURCE_ADDRESS_FOR_SYNTH]:"Source address is required for synth quote.",[t.AFF_ADDRESS_AND_BPS_OR_NEITHER]:"Must provide affiliateAddress and affiliateBasisPoints params, or neither.",[t.AFF_ADDRESS_TOO_LONG]:"affiliateAddress too long: 4 characters max.",[t.AFF_BPS_INTEGER_MAX_500]:"affiliateBasisPoints must be an integer between 0 and 100.",[t.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]:"Source address {0} invalid for sell chain.",[t.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:"Destination address {0} invalid for buy chain.",[t.PREFERRED_PROVIDER_NOT_SUPPORTED]:"Preferred provider not supported.",[t.SOURCE_ADDRESS_SMART_CONTRACT]:"Source address is a smart contract.",[t.SWAP_AMOUNT_TOO_LOW]:"Swap amount too low for this pair.",[t.DESTINATION_ADDRESS_SMART_CONTRACT]:"Destination address is a smart contract.",[t.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]:"Buy amount must be a positive integer.",[t.INVALID_PROVIDER]:"Invalid provider {0}.",[t.MISSING_CROSS_CHAIN_PROVIDER]:"Missing cross-chain provider.",[t.MISSING_AVAX_PROVIDER]:"Missing AVAX provider.",[t.MISSING_BSC_PROVIDER]:"Missing BSC provider.",[t.MISSING_ETH_PROVIDER]:"Missing ETH provider.",[t.MISSING_ARB_PROVIDER]:"Missing ARB provider.",[t.INVALID_PROVIDER_FOR_SWAP_OUT]:"Invalid provider for swap out.",[t.INVALID_CHAIN]:"Invalid chain {0}.",[t.INVALID_ASSET]:"Invalid asset {0}.",[t.UNSUPPORTED_CHAIN]:"Unsupported chain {0}.",[t.UNSUPPORTED_ASSET]:"Unsupported asset {0}.",[t.UNSUPPORTED_ASSET_FOR_SWAPOUT]:"Unsupported asset {0} for swap out.",[t.THORNODE_QUOTE_GENERIC_ERROR]:"ThorNode quote generic error.",[t.INVALID_SOURCE_ADDRESS]:"Invalid source address {0}",[t.INVALID_DESTINATION_ADDRESS]:"Invalid destination address {0}",[t.NOT_ENOUGH_SYNTH_BALANCE]:"Source address doesn't have enough synth balance for this quote.",[t.SYNTH_MINTING_CAP_REACHED]:"Synth minting cap reached.",[t.INVALID_QUOTE_MODE]:"Invalid quote mode.",[t.NO_QUOTES]:"No quotes to service this request.",[t.SERVICE_UNAVAILABLE_GENERIC]:"Service unavailable.",[t.MISSING_GAS_DATA_GENERIC]:"Missing gas data.",[t.MISSING_TOKEN_INFO_GENERIC]:"Missing token info.",[t.CANT_FIND_TOKEN_LIST]:"Can't find tokenlist {0}.",[t.NO_PRICE]:"No price for asset {0}.",[t.PRICE_IS_STALE]:"Price is stale for asset {0}.",[t.ADDRESS_NOT_WHITELISTED]:"Address {0} not whitelisted for airdrop.",[t.ADDRESS_ALREADY_CLAIMED]:"Address {0} already claimed the airdrop."},o=(e,a)=>{let n=X[e];if(!n)return"";for(let i=0;i<a.length;i++)n=(n==null?void 0:n.replace(`{${i}}`,a[i]))??"";return n};class l extends Error{constructor({status:n,revision:i,module:g,code:y,message:V,type:B,options:{shouldLog:b,shouldThrow:x,shouldTrace:L}={shouldLog:!0,shouldThrow:!0,shouldTrace:!0},displayMessageParams:u}){const I=V||o(y,u||[])||"";super(I);s(this,"status");s(this,"revision");s(this,"type");s(this,"module");s(this,"code");s(this,"message");s(this,"display");s(this,"stack");s(this,"options");s(this,"displayMessageParams");this.status=n,this.revision=i||"NO_REVISION",this.module=g,this.message=I,this.display=o(y,u||[]),this.code=y,this.type=B||T.UNHANDLED_ERROR,this.options={shouldLog:b||!0,shouldTrace:L||!0,shouldThrow:x||!1},this.displayMessageParams=u||[],this.options.shouldTrace&&Error.captureStackTrace(this)}static fromErrorInfo(n){return new l(n)}toErrorInfo(){return{...this,identifier:this.identifier}}get identifier(){return`${this.revision}-${this.type||"NO_TYPE"}-${this.module}-${this.code}`}get displayMessage(){return o(this.code,this.displayMessageParams||[])}handle(){const n=`[${this.identifier}]: ${this.message}`;if(this.options.shouldLog&&console.error(n,`
2
+ `,this.stack||""),this.options.shouldThrow)throw Error(n,{cause:this.stack});return this.toErrorInfo()}}var r=(e=>(e.Arbitrum="ARB",e.Avalanche="AVAX",e.Binance="BNB",e.BinanceSmartChain="BSC",e.Bitcoin="BTC",e.BitcoinCash="BCH",e.Cosmos="GAIA",e.Dogecoin="DOGE",e.Ethereum="ETH",e.Kujira="KUJI",e.Litecoin="LTC",e.Maya="MAYA",e.Optimism="OP",e.Polygon="MATIC",e.THORChain="THOR",e))(r||{}),N=(e=>(e.ARB="0x0000000000000000000000000000000000000000",e.AVAX="0x0000000000000000000000000000000000000000",e.ETH="0x0000000000000000000000000000000000000000",e.BSC="0x0000000000000000000000000000000000000000",e.MATIC="0x0000000000000000000000000000000000001010",e.OP="0x4200000000000000000000000000000000000042",e))(N||{}),E=(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))(E||{});const K={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 c=(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))(c||{});const W=["ETH","AVAX","BSC","ARB","OP","MATIC"],k=["BTC","BCH","DOGE","LTC"],Y=["GAIA","THOR","BNB"],j=["AVAX","BNB","BSC","BTC","BCH","GAIA","DOGE","ETH","LTC","THOR"];var p=(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))(p||{}),m=(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))(m||{}),f=(e=>(e.Cosmos="https://node-router.thorswap.net/cosmos/rest",e.Kujira="https://lcd-kujira.synergynodes.com/",e.MayanodeMainnet="https://mayanode.mayachain.info",e.MayanodeStagenet="https://stagenet.mayanode.mayachain.info",e.ThornodeMainnet="https://thornode.thorswap.net",e.ThornodeStagenet="https://stagenet-thornode.ninerealms.com",e.ThorswapApi="https://api.thorswap.net",e.ThorswapStatic="https://static.thorswap.net",e))(f||{});const d=Object.values(r),J=Object.keys(r),A=d.reduce((e,a)=>{const n=J.find(i=>r[i]===a);return n&&(e[a]=n),e},{}),$=d.reduce((e,a)=>(e[a]=p[A[a]],e),{}),q=d.reduce((e,a)=>(e[a]=m[A[a]],e),{}),Z=d.reduce((e,a)=>{const n=`${A[a]}Hex`;return e[a]=p[n],e},{}),z={"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"},Q={ARB:"https://arbiscan.io",AVAX:"https://snowtrace.io",BSC:"https://bscscan.com",BNB:"https://explorer.binance.org",BCH:"https://www.blockchair.com/bitcoin-cash",BTC:"https://blockchair.com/bitcoin",GAIA:"https://cosmos.bigdipper.live",DOGE:"https://blockchair.com/dogecoin",KUJI:"https://finder.kujira.network/kaiyo-1",ETH:"https://etherscan.io",LTC:"https://blockchair.com/litecoin",MAYA:"https://www.mayascan.org",OP:"https://optimistic.etherscan.io",MATIC:"https://polygonscan.com",THOR:"https://runescan.io"};var C=(e=>(e.BOND="BOND",e.DEPOSIT="+",e.LEAVE="LEAVE",e.THORNAME_REGISTER="~",e.UNBOND="UNBOND",e.WITHDRAW="-",e.OPEN_LOAN="$+",e.CLOSE_LOAN="$-",e))(C||{}),h=(e=>(e.Average="average",e.Fast="fast",e.Fastest="fastest",e))(h||{}),O=(e=>(e.KEYSTORE="KEYSTORE",e.KEEPKEY="KEEPKEY",e.XDEFI="XDEFI",e.METAMASK="METAMASK",e.COINBASE_WEB="COINBASE_WEB",e.TREZOR="TREZOR",e.TRUSTWALLET_WEB="TRUSTWALLET_WEB",e.LEDGER="LEDGER",e.KEPLR="KEPLR",e.OKX="OKX",e.OKX_MOBILE="OKX_MOBILE",e.BRAVE="BRAVE",e.WALLETCONNECT="WALLETCONNECT",e))(O||{}),P=(e=>(e[e.NoError=36864]="NoError",e[e.LockedDevice=21781]="LockedDevice",e[e.TC_NotFound=65535]="TC_NotFound",e))(P||{});exports.AGG_SWAP=U;exports.ApiError=l;exports.ApiUrl=f;exports.BaseDecimal=c;exports.Chain=r;exports.ChainId=p;exports.ChainIdToChain=z;exports.ChainToChainId=$;exports.ChainToExplorerUrl=Q;exports.ChainToHexChainId=Z;exports.ChainToRPC=q;exports.ContractAddress=N;exports.CosmosChainList=Y;exports.DerivationPath=E;exports.ERROR_CODE=t;exports.ERROR_MODULE=S;exports.ERROR_TYPE=T;exports.EVMChainList=W;exports.FeeOption=h;exports.LedgerErrorCode=P;exports.MemoType=C;exports.NetworkDerivationPath=K;exports.QuoteMode=_;exports.RPCUrl=m;exports.SWAP_IN=w;exports.SWAP_OUT=F;exports.TCAvalancheDepositABI=M;exports.TCBscDepositABI=G;exports.TCEthereumVaultAbi=R;exports.TCSupportedChainList=j;exports.UTXOChainList=k;exports.WalletOption=O;exports.erc20ABI=D;
3
3
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/abis/erc20.ts","../src/abis/tcEthVault.ts","../src/commonTypes.ts","../src/errors/types.ts","../src/errors/displayMessages.ts","../src/errors/apiError.ts","../src/network.ts","../src/thorchain.ts","../src/transactions.ts","../src/wallet.ts"],"sourcesContent":["export const erc20ABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'spender', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Approval',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'from', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Transfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'spender', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'from', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n];\n","export const TCEthereumVaultAbi = [\n {\n inputs: [{ internalType: 'address', name: 'rune', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [],\n name: 'RUNE',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'aggregator', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCAvalancheDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCBscDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n","import type { Chain, CosmosChain, EVMChain, UTXOChain } from './network.ts';\nimport type { WalletOption } from './wallet.ts';\n\ntype ConnectMethodNames =\n | 'connectEVMWallet'\n | 'connectKeplr'\n | 'connectKeystore'\n | 'connectKeepkey'\n | 'connectLedger'\n | 'connectOkx'\n | 'connectTrezor'\n | 'connectWalletconnect'\n | 'connectXDEFI';\n\ntype ChainWallet = {\n address: string;\n balance: any[];\n walletType: WalletOption;\n};\n\nexport type ConnectConfig = {\n stagenet?: boolean;\n /**\n * @required\n */\n thorswapApiKey?: string;\n /**\n * @required for AVAX & BSC\n */\n covalentApiKey?: string;\n /**\n * @required for ETH\n */\n ethplorerApiKey?: string;\n /**\n * @required for BTC, BCH, LTC, DOGE\n */\n blockchairApiKey?: string;\n /**\n * @deprecated - use blockchairApiKey instead\n */\n utxoApiKey?: string;\n /**\n * @required for Walletconnect\n */\n walletConnectProjectId?: string;\n /**\n * @optional for Trezor config\n */\n trezorManifest?: {\n email: string;\n appUrl: string;\n };\n /**\n * @optional for KeepKey config\n */\n keepkeyConfig?: {\n apiKey: string;\n pairingInfo: {\n name: string;\n imageUrl: string;\n basePath: string;\n url: string;\n };\n };\n};\n\nexport type AddChainWalletParams = {\n chain: Chain;\n wallet: ChainWallet;\n walletMethods: any;\n};\n\nexport type Witness = {\n value: number;\n script: Buffer;\n};\n\ntype ApisType = { [key in UTXOChain]?: string | any } & {\n [key in EVMChain]?: string | any;\n} & {\n [key in CosmosChain]?: string;\n};\n\nexport type ConnectWalletParams = {\n addChain: (params: AddChainWalletParams) => void;\n config: ConnectConfig;\n rpcUrls: { [chain in Chain]?: string };\n apis: ApisType;\n};\n\nexport type ExtendParams<WalletConnectMethodNames = ''> = {\n excludedChains?: Chain[];\n config?: ConnectConfig;\n rpcUrls?: { [chain in Chain]?: string };\n apis?: ApisType;\n wallets: {\n connectMethodName: ConnectMethodNames | WalletConnectMethodNames;\n connect: (params: ConnectWalletParams) => (...params: any) => Promise<any>;\n }[];\n};\n\nexport enum QuoteMode {\n TC_SUPPORTED_TO_TC_SUPPORTED = 'TC-TC',\n TC_SUPPORTED_TO_ETH = 'TC-ERC20',\n TC_SUPPORTED_TO_AVAX = 'TC-ARC20',\n TC_SUPPORTED_TO_BSC = 'TC-BEP20',\n ETH_TO_TC_SUPPORTED = 'ERC20-TC',\n ETH_TO_ETH = 'ERC20-ERC20',\n ETH_TO_AVAX = 'ERC20-ARC20',\n ETH_TO_BSC = 'ERC20-BEP20',\n AVAX_TO_TC_SUPPORTED = 'ARC20-TC',\n AVAX_TO_ETH = 'ARC20-ERC20',\n AVAX_TO_AVAX = 'ARC20-ARC20',\n AVAX_TO_BSC = 'ARC20-BEP20',\n BSC_TO_TC_SUPPORTED = 'BEP20-TC',\n BSC_TO_ETH = 'BEP20-ERC20',\n BSC_TO_AVAX = 'BEP20-ARC20',\n BSC_TO_BSC = 'BEP20-BEP20',\n}\n\nexport type Asset = {\n chain: Chain;\n symbol: string;\n ticker: string;\n synth?: boolean;\n};\n\nexport const AGG_SWAP = [QuoteMode.ETH_TO_ETH, QuoteMode.AVAX_TO_AVAX, QuoteMode.BSC_TO_BSC];\n\nexport const SWAP_IN = [\n QuoteMode.ETH_TO_TC_SUPPORTED,\n QuoteMode.ETH_TO_AVAX,\n QuoteMode.ETH_TO_BSC,\n QuoteMode.AVAX_TO_TC_SUPPORTED,\n QuoteMode.AVAX_TO_ETH,\n QuoteMode.AVAX_TO_BSC,\n QuoteMode.BSC_TO_TC_SUPPORTED,\n QuoteMode.BSC_TO_ETH,\n QuoteMode.BSC_TO_AVAX,\n];\n\nexport const SWAP_OUT = [\n QuoteMode.TC_SUPPORTED_TO_TC_SUPPORTED,\n QuoteMode.TC_SUPPORTED_TO_ETH,\n QuoteMode.TC_SUPPORTED_TO_AVAX,\n QuoteMode.TC_SUPPORTED_TO_BSC,\n];\n","export enum ERROR_TYPE {\n VALIDATION_ERROR = 'VALIDATION_ERROR',\n REQUEST_PARAMETER_ERROR = 'REQUEST_PARAMETER_ERROR',\n RESPONSE_PARSING_ERROR = 'RESPONSE_PARSING_ERROR',\n UNSUPPORTED = 'UNSUPPORTED',\n NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',\n INCOMPATIBLE_ASSETS_OPERATIONS = 'INCOMPATIBLE_ASSETS_OPERATIONS',\n SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',\n DOWN_FOR_MAINTENANCE = 'DOWN_FOR_MAINTENANCE',\n MISSING_INBOUND_INFO = 'MISSING_INBOUND_INFO',\n QUOTE_FETCHING_ERROR = 'QUOTE_FETCHING_ERROR',\n AIRDROP_ERROR = 'AIRDROP_ERROR',\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n}\n\nexport enum ERROR_MODULE {\n // Controllers\n HEALTH_CONTROLLER = '1000',\n LIQUIDITY_CONTROLLER = '1001',\n PROVIDER_CONTROLLER = '1002',\n QUOTE_CONTROLLER = '1003',\n SWAP_CONTROLLER = '1004',\n UTIL_CONTROLLER = '1005',\n AIRDROP_CONTROLLER = '1006',\n // Entities\n PROVIDER = '2000',\n ASSET = '2001',\n TOKEN_LIST = '2002',\n // Quote entities\n QUOTE = '2100',\n QUOTE_TXN_DETAILS = '2101',\n // Providers\n THORCHAIN_PROVIDER = '3000',\n UNISWAPV2_ETH_PROVIDER = '3001',\n UNISWAPV3_ETH_PROVIDER = '3002',\n SUSHISWAP_ETH_PROVIDER = '3003',\n PANCAKESWAP_BSC_PROVIDER = '3004',\n PANCAKESWAP_ETH_PROVIDER = '3005',\n ONEINCH_ETH_PROVIDER = '3006',\n ONEINCH_BSC_PROVIDER = '3007',\n ONEINCH_AVAX_PROVIDER = '3008',\n ZEROX_ETH_PROVIDER = '3009',\n WOOFI_AVAX_PROVIDER = '3010',\n PANGOLIN_AVAX_PROVIDER = '3011',\n TRADERJOE_AVAX_PROVIDER = '3012',\n KYBER_ETH_PROVIDER = '3013',\n KYBER_AVAX_PROVIDER = '3014',\n WOOFI_BSC_PROVIDER = '3015',\n STARGATE_PROVIDER = '3016',\n // Utilities\n PROVIDER_UTIL = '4000',\n // Aggregator\n TXN_DETAILS = '5000',\n // AirDrop\n AIRDROP_UTIL = '6000',\n}\n\nexport enum ERROR_CODE {\n // 10xx - Generic\n INVALID_INPUT_PARAMETERS = '1000',\n UNKNOWN_PROVIDERS = '1001',\n CANNOT_FIND_INBOUND_ADDRESS = '1002',\n NO_INBOUND_ADDRESSES = '1003',\n CHAIN_HALTED_OR_UNSUPPORTED = '1004',\n MISSING_INPUT_PARAMETER = '1005',\n // 11xx - Type error\n INVALID_TYPE_GENERIC = '1100',\n INVALID_NUMBER_STRING = '1101',\n INVALID_NUMBER = '1102',\n INVALID_BOOLEAN = '1103',\n INVALID_OBJECT = '1104',\n INVALID_ARRAY = '1105',\n // 20xx - Quote request parameters\n SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2000',\n SELL_BUY_ASSETS_ARE_THE_SAME = '2001',\n MISSING_SOURCE_ADDRESS_FOR_SYNTH = '2002',\n AFF_ADDRESS_AND_BPS_OR_NEITHER = '2003',\n AFF_ADDRESS_TOO_LONG = '2004',\n AFF_BPS_INTEGER_MAX_500 = '2005',\n SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = '2006',\n DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = '2007',\n PREFERRED_PROVIDER_NOT_SUPPORTED = '2008',\n DESTINATION_ADDRESS_SMART_CONTRACT = '2009',\n BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',\n SOURCE_ADDRESS_SMART_CONTRACT = '2011',\n // 21xx - Quote request providers issue\n INVALID_PROVIDER = '2100',\n MISSING_CROSS_CHAIN_PROVIDER = '2101',\n MISSING_AVAX_PROVIDER = '2102',\n MISSING_BSC_PROVIDER = '2103',\n MISSING_ETH_PROVIDER = '2104',\n INVALID_PROVIDER_FOR_SWAP_OUT = '2105',\n MISSING_ARB_PROVIDER = '2106',\n // 22xx - Quote request assets issue\n INVALID_CHAIN = '2200',\n INVALID_ASSET = '2201',\n INVALID_ASSET_IDENTIFIER = '2202',\n UNSUPPORTED_CHAIN = '2204',\n UNSUPPORTED_ASSET = '2203',\n UNSUPPORTED_ASSET_FOR_SWAPOUT = '2205',\n // 23xx - Invalid addresses\n INVALID_SOURCE_ADDRESS = '2300',\n INVALID_DESTINATION_ADDRESS = '2301',\n // 30xx - Thorchain\n THORNODE_QUOTE_GENERIC_ERROR = '3000',\n NOT_ENOUGH_SYNTH_BALANCE = '3001',\n SYNTH_MINTING_CAP_REACHED = '3002',\n // 40xx - Code logic error (not the client's fault)\n INVALID_QUOTE_MODE = '4000',\n NO_QUOTES = '4001',\n // 50xx - Service unavailable\n SERVICE_UNAVAILABLE_GENERIC = '5000',\n // 51xx - Missing gas data\n MISSING_GAS_DATA_GENERIC = '5100',\n // 52xx - Missing token info\n MISSING_TOKEN_INFO_GENERIC = '5200',\n CANT_FIND_TOKEN_LIST = '5201',\n NO_PRICE = '5202',\n PRICE_IS_STALE = '5203',\n // 60xx - Airdrop\n ADDRESS_NOT_WHITELISTED = '6000',\n ADDRESS_ALREADY_CLAIMED = '6001',\n // 90xx - Unhandled\n TEMPORARY_ERROR = '9999', // use only when waiting for a PR to be merged\n}\n\nexport type ErrorInfo = {\n status: number;\n revision: string;\n type?: ERROR_TYPE;\n module: ERROR_MODULE;\n code: ERROR_CODE;\n message?: string | undefined;\n stack?: string;\n identifier?: string;\n options?: ApiErrorOptions;\n displayMessageParams?: string[];\n};\n\nexport type ApiErrorOptions = {\n shouldLog?: boolean;\n shouldTrace?: boolean;\n shouldThrow?: boolean;\n};\n","import { ERROR_CODE } from './types.ts';\n\nexport const ERROR_DISPLAY_MESSAGES: Record<string, string> = {\n [ERROR_CODE.INVALID_INPUT_PARAMETERS]: 'Invalid input parameters: {0}.',\n [ERROR_CODE.UNKNOWN_PROVIDERS]: 'Unknown providers: {0}.',\n [ERROR_CODE.CANNOT_FIND_INBOUND_ADDRESS]: 'Cannot find inbound address.',\n [ERROR_CODE.NO_INBOUND_ADDRESSES]: 'No inbound addresses.',\n [ERROR_CODE.CHAIN_HALTED_OR_UNSUPPORTED]: 'Chain {0} halted or unsupported.',\n [ERROR_CODE.MISSING_INPUT_PARAMETER]: 'Missing input parameter: {0}.',\n [ERROR_CODE.INVALID_TYPE_GENERIC]: 'Invalid type',\n [ERROR_CODE.INVALID_NUMBER_STRING]: 'Invalid number string.',\n [ERROR_CODE.INVALID_NUMBER]: 'Invalid number.',\n [ERROR_CODE.INVALID_BOOLEAN]: 'Invalid boolean.',\n [ERROR_CODE.INVALID_OBJECT]: 'Invalid object.',\n [ERROR_CODE.INVALID_ARRAY]: 'Invalid array.',\n [ERROR_CODE.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Sell amount must be a positive integer.',\n [ERROR_CODE.SELL_BUY_ASSETS_ARE_THE_SAME]: 'Sell and buy assets are the same.',\n [ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',\n [ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:\n 'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',\n [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 3 characters max.',\n [ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:\n 'affiliateBasisPoints must be an integer between 0 and 100.',\n [ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',\n [ERROR_CODE.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:\n 'Destination address {0} invalid for buy chain.',\n [ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',\n [ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',\n [ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',\n [ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',\n [ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',\n [ERROR_CODE.MISSING_CROSS_CHAIN_PROVIDER]: 'Missing cross-chain provider.',\n [ERROR_CODE.MISSING_AVAX_PROVIDER]: 'Missing AVAX provider.',\n [ERROR_CODE.MISSING_BSC_PROVIDER]: 'Missing BSC provider.',\n [ERROR_CODE.MISSING_ETH_PROVIDER]: 'Missing ETH provider.',\n [ERROR_CODE.MISSING_ARB_PROVIDER]: 'Missing ARB provider.',\n [ERROR_CODE.INVALID_PROVIDER_FOR_SWAP_OUT]: 'Invalid provider for swap out.',\n [ERROR_CODE.INVALID_CHAIN]: 'Invalid chain {0}.',\n [ERROR_CODE.INVALID_ASSET]: 'Invalid asset {0}.',\n [ERROR_CODE.UNSUPPORTED_CHAIN]: 'Unsupported chain {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET]: 'Unsupported asset {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET_FOR_SWAPOUT]: 'Unsupported asset {0} for swap out.',\n [ERROR_CODE.THORNODE_QUOTE_GENERIC_ERROR]: 'ThorNode quote generic error.',\n [ERROR_CODE.INVALID_SOURCE_ADDRESS]: 'Invalid source address {0}',\n [ERROR_CODE.INVALID_DESTINATION_ADDRESS]: 'Invalid destination address {0}',\n [ERROR_CODE.NOT_ENOUGH_SYNTH_BALANCE]:\n \"Source address doesn't have enough synth balance for this quote.\",\n [ERROR_CODE.SYNTH_MINTING_CAP_REACHED]: 'Synth minting cap reached.',\n [ERROR_CODE.INVALID_QUOTE_MODE]: 'Invalid quote mode.',\n [ERROR_CODE.NO_QUOTES]: 'No quotes to service this request.',\n [ERROR_CODE.SERVICE_UNAVAILABLE_GENERIC]: 'Service unavailable.',\n [ERROR_CODE.MISSING_GAS_DATA_GENERIC]: 'Missing gas data.',\n [ERROR_CODE.MISSING_TOKEN_INFO_GENERIC]: 'Missing token info.',\n [ERROR_CODE.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [ERROR_CODE.NO_PRICE]: 'No price for asset {0}.',\n [ERROR_CODE.PRICE_IS_STALE]: 'Price is stale for asset {0}.',\n [ERROR_CODE.ADDRESS_NOT_WHITELISTED]: 'Address {0} not whitelisted for airdrop.',\n [ERROR_CODE.ADDRESS_ALREADY_CLAIMED]: 'Address {0} already claimed the airdrop.',\n};\n\nexport const getDisplayMessage = (code: ERROR_CODE, displayMessageParams: string[]) => {\n let displayMessage = ERROR_DISPLAY_MESSAGES[code];\n\n if (!displayMessage) return '';\n\n for (let i = 0; i < displayMessageParams.length; i++) {\n displayMessage = displayMessage?.replace(`{${i}}`, displayMessageParams[i]) ?? '';\n }\n\n return displayMessage;\n};\n","import { getDisplayMessage } from './displayMessages.ts';\nimport type { ApiErrorOptions, ERROR_CODE, ERROR_MODULE, ErrorInfo } from './types.ts';\nimport { ERROR_TYPE } from './types.ts';\n\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly revision: string;\n public readonly type?: ERROR_TYPE;\n public readonly module: ERROR_MODULE;\n public readonly code: ERROR_CODE;\n public readonly message: string;\n public readonly display: string;\n public readonly stack?: string;\n public readonly options: ApiErrorOptions;\n public readonly displayMessageParams?: string[];\n\n constructor({\n status,\n revision,\n module,\n code,\n message,\n type,\n options: { shouldLog, shouldThrow, shouldTrace } = {\n shouldLog: true,\n shouldThrow: true,\n shouldTrace: true,\n },\n displayMessageParams,\n }: ErrorInfo) {\n const safeMessage = message || getDisplayMessage(code, displayMessageParams || []) || '';\n super(safeMessage);\n\n this.status = status;\n this.revision = revision || 'NO_REVISION';\n this.module = module;\n this.message = safeMessage;\n this.display = getDisplayMessage(code, displayMessageParams || []);\n this.code = code;\n this.type = type || ERROR_TYPE.UNHANDLED_ERROR;\n this.options = {\n shouldLog: shouldLog || true,\n shouldTrace: shouldTrace || true,\n shouldThrow: shouldThrow || false,\n };\n this.displayMessageParams = displayMessageParams || [];\n\n if (this.options.shouldTrace) Error.captureStackTrace(this);\n }\n\n public static fromErrorInfo(errorInfo: ErrorInfo): ApiError {\n return new ApiError(errorInfo);\n }\n\n public toErrorInfo(): ErrorInfo {\n return { ...this, identifier: this.identifier };\n }\n\n public get identifier(): string {\n return `${this.revision}-${this.type || 'NO_TYPE'}-${this.module}-${this.code}`;\n }\n\n public get displayMessage(): string {\n return getDisplayMessage(this.code, this.displayMessageParams || []);\n }\n\n public handle() {\n const message = `[${this.identifier}]: ${this.message}`;\n\n if (this.options.shouldLog) console.error(message, '\\n', this.stack || '');\n if (this.options.shouldThrow) throw Error(message, { cause: this.stack });\n\n return this.toErrorInfo();\n }\n}\n","export enum Chain {\n Arbitrum = 'ARB',\n Avalanche = 'AVAX',\n Binance = 'BNB',\n BinanceSmartChain = 'BSC',\n Bitcoin = 'BTC',\n BitcoinCash = 'BCH',\n Cosmos = 'GAIA',\n Dogecoin = 'DOGE',\n Ethereum = 'ETH',\n Kujira = 'KUJI',\n Litecoin = 'LTC',\n Maya = 'MAYA',\n Optimism = 'OP',\n Polygon = 'MATIC',\n THORChain = 'THOR',\n}\ntype ChainNameType = keyof typeof Chain;\n\nexport enum ContractAddress {\n ARB = '0x0000000000000000000000000000000000000000',\n AVAX = '0x0000000000000000000000000000000000000000',\n ETH = '0x0000000000000000000000000000000000000000',\n BSC = '0x0000000000000000000000000000000000000000',\n MATIC = '0x0000000000000000000000000000000000001010',\n OP = '0x4200000000000000000000000000000000000042',\n}\n\nexport enum DerivationPath {\n ARB = \"m/44'/60'/0'/0\",\n AVAX = \"m/44'/60'/0'/0\",\n BCH = \"m/44'/145'/0'/0\",\n BNB = \"m/44'/714'/0'/0\",\n BSC = \"m/44'/60'/0'/0\",\n BTC = \"m/84'/0'/0'/0\",\n DOGE = \"m/44'/3'/0'/0\",\n ETH = \"m/44'/60'/0'/0\",\n GAIA = \"m/44'/118'/0'/0\",\n KUJI = \"m/44'/118'/0'/0\",\n LTC = \"m/84'/2'/0'/0\",\n MATIC = \"m/44'/60'/0'/0\",\n MAYA = \"m/44'/931'/0'/0\",\n OP = \"m/44'/60'/0'/0\",\n THOR = \"m/44'/931'/0'/0\",\n}\n\nexport type DerivationPathArray = [number, number, number, number, number];\n\nexport const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {\n ARB: [44, 60, 0, 0, 0],\n AVAX: [44, 60, 0, 0, 0],\n BCH: [44, 145, 0, 0, 0],\n BNB: [44, 714, 0, 0, 0],\n BSC: [44, 60, 0, 0, 0],\n BTC: [84, 0, 0, 0, 0],\n DOGE: [44, 3, 0, 0, 0],\n ETH: [44, 60, 0, 0, 0],\n GAIA: [44, 118, 0, 0, 0],\n KUJI: [44, 118, 0, 0, 0],\n LTC: [84, 2, 0, 0, 0],\n MATIC: [44, 60, 0, 0, 0],\n MAYA: [44, 931, 0, 0, 0],\n OP: [44, 60, 0, 0, 0],\n THOR: [44, 931, 0, 0, 0],\n};\n\nexport enum BaseDecimal {\n ARB = 18,\n AVAX = 18,\n BCH = 8,\n BNB = 8,\n BSC = 18,\n BTC = 8,\n DASH = 8,\n DOGE = 8,\n ETH = 18,\n GAIA = 6,\n KUJI = 6,\n LTC = 8,\n MATIC = 18,\n MAYA = 10,\n OP = 18,\n THOR = 8,\n}\n\nexport type EVMChain =\n | Chain.Ethereum\n | Chain.Avalanche\n | Chain.BinanceSmartChain\n | Chain.Arbitrum\n | Chain.Optimism\n | Chain.Polygon;\n\nexport const EVMChainList: EVMChain[] = [\n Chain.Ethereum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Arbitrum,\n Chain.Optimism,\n Chain.Polygon,\n];\n\nexport type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dogecoin | Chain.Litecoin;\n\nexport const UTXOChainList: UTXOChain[] = [\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Dogecoin,\n Chain.Litecoin,\n];\n\nexport type CosmosChain =\n | Chain.Cosmos\n | Chain.THORChain\n | Chain.Binance\n | Chain.Maya\n | Chain.Kujira;\n\nexport const CosmosChainList: CosmosChain[] = [Chain.Cosmos, Chain.THORChain, Chain.Binance];\n\nexport const TCSupportedChainList = [\n Chain.Avalanche,\n Chain.Binance,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Litecoin,\n Chain.THORChain,\n];\n\nexport enum ChainId {\n Arbitrum = '42161',\n ArbitrumHex = '0xa4b1',\n Avalanche = '43114',\n AvalancheHex = '0xa86a',\n Binance = 'Binance-Chain-Tigris',\n BinanceSmartChain = '56',\n BinanceSmartChainHex = '0x38',\n Bitcoin = 'bitcoin',\n BitcoinCash = 'bitcoincash',\n Cosmos = 'cosmoshub-4',\n Dogecoin = 'dogecoin',\n Kujira = 'kaiyo-1',\n Ethereum = '1',\n EthereumHex = '0x1',\n Litecoin = 'litecoin',\n Maya = 'mayachain-mainnet-v1',\n MayaStagenet = 'mayachain-stagenet-v1',\n Optimism = '10',\n OptimismHex = '0xa',\n Polygon = '137',\n PolygonHex = '0x89',\n THORChain = 'thorchain-mainnet-v1',\n THORChainStagenet = 'thorchain-stagenet-v2',\n}\n\nexport enum RPCUrl {\n Arbitrum = 'https://arb1.arbitrum.io/rpc',\n Avalanche = 'https://node-router.thorswap.net/avalanche-c',\n Binance = '',\n BinanceSmartChain = 'https://bsc-dataseed.binance.org',\n Bitcoin = 'https://node-router.thorswap.net/bitcoin',\n BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',\n Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',\n Kujira = 'https://rpc-kujira.synergynodes.com/',\n Dogecoin = 'https://node-router.thorswap.net/dogecoin',\n Ethereum = 'https://node-router.thorswap.net/ethereum',\n Litecoin = 'https://node-router.thorswap.net/litecoin',\n Maya = 'https://tendermint.mayachain.info',\n MayaStagenet = 'https://stagenet.tendermint.mayachain.info',\n Optimism = 'https://mainnet.optimism.io',\n Polygon = 'https://polygon-rpc.com',\n THORChain = 'https://rpc.thorswap.net',\n THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',\n}\n\nexport enum ApiUrl {\n Cosmos = 'https://node-router.thorswap.net/cosmos/rest',\n Kujira = 'https://lcd-kujira.synergynodes.com/',\n MayanodeMainnet = 'https://mayanode.mayachain.info',\n MayanodeStagenet = 'https://stagenet.mayanode.mayachain.info',\n ThornodeMainnet = 'https://thornode.thorswap.net',\n ThornodeStagenet = 'https://stagenet-thornode.ninerealms.com',\n ThorswapApi = 'https://api.thorswap.net',\n ThorswapStatic = 'https://static.thorswap.net',\n}\n\nconst chains = Object.values(Chain) as Chain[];\nconst chainNames = Object.keys(Chain) as ChainNameType[];\n\nconst ChainToChainName = chains.reduce(\n (acc, chain) => {\n const chainName = chainNames.find((key) => Chain[key as ChainNameType] === chain);\n\n if (chainName) acc[chain] = chainName;\n\n return acc;\n },\n {} as { [key in Chain]: ChainNameType },\n);\n\nexport const ChainToChainId = chains.reduce(\n (acc, chain) => {\n acc[chain] = ChainId[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainToRPC = chains.reduce(\n (acc, chain) => {\n acc[chain] = RPCUrl[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: RPCUrl },\n);\n\nexport const ChainToHexChainId = chains.reduce(\n (acc, chain) => {\n const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;\n\n acc[chain] = ChainId[chainString];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainIdToChain: Record<ChainId, Chain> = {\n [ChainId.ArbitrumHex]: Chain.Arbitrum,\n [ChainId.Arbitrum]: Chain.Arbitrum,\n [ChainId.AvalancheHex]: Chain.Avalanche,\n [ChainId.Avalanche]: Chain.Avalanche,\n [ChainId.BinanceSmartChainHex]: Chain.BinanceSmartChain,\n [ChainId.BinanceSmartChain]: Chain.BinanceSmartChain,\n [ChainId.Binance]: Chain.Binance,\n [ChainId.BitcoinCash]: Chain.BitcoinCash,\n [ChainId.Bitcoin]: Chain.Bitcoin,\n [ChainId.Cosmos]: Chain.Cosmos,\n [ChainId.Dogecoin]: Chain.Dogecoin,\n [ChainId.EthereumHex]: Chain.Ethereum,\n [ChainId.Kujira]: Chain.Kujira,\n [ChainId.Ethereum]: Chain.Ethereum,\n [ChainId.Litecoin]: Chain.Litecoin,\n [ChainId.MayaStagenet]: Chain.Maya,\n [ChainId.Maya]: Chain.Maya,\n [ChainId.OptimismHex]: Chain.Optimism,\n [ChainId.Optimism]: Chain.Optimism,\n [ChainId.PolygonHex]: Chain.Polygon,\n [ChainId.Polygon]: Chain.Polygon,\n [ChainId.THORChainStagenet]: Chain.THORChain,\n [ChainId.THORChain]: Chain.THORChain,\n};\n\nexport const ChainToExplorerUrl: Record<Chain, string> = {\n [Chain.Arbitrum]: 'https://arbiscan.io',\n [Chain.Avalanche]: 'https://snowtrace.io',\n [Chain.BinanceSmartChain]: 'https://bscscan.com',\n [Chain.Binance]: 'https://explorer.binance.org',\n [Chain.BitcoinCash]: 'https://www.blockchair.com/bitcoin-cash',\n [Chain.Bitcoin]: 'https://blockchair.com/bitcoin',\n [Chain.Cosmos]: 'https://cosmos.bigdipper.live',\n [Chain.Dogecoin]: 'https://blockchair.com/dogecoin',\n [Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',\n [Chain.Ethereum]: 'https://etherscan.io',\n [Chain.Litecoin]: 'https://blockchair.com/litecoin',\n [Chain.Maya]: 'https://www.mayascan.org',\n [Chain.Optimism]: 'https://optimistic.etherscan.io',\n [Chain.Polygon]: 'https://polygonscan.com',\n [Chain.THORChain]: 'https://runescan.io',\n};\n","export type GetAddressAndPubKeyResponse = {\n bech32_address: string;\n compressed_pk: any;\n error_message: string;\n return_code: number;\n};\n\nexport type Signature = {\n pub_key: {\n type: string;\n value: string;\n };\n sequence: string;\n signature: string;\n};\n\nexport enum MemoType {\n BOND = 'BOND',\n DEPOSIT = '+',\n LEAVE = 'LEAVE',\n THORNAME_REGISTER = '~',\n UNBOND = 'UNBOND',\n WITHDRAW = '-',\n OPEN_LOAN = '$+',\n CLOSE_LOAN = '$-',\n}\n","export enum FeeOption {\n Average = 'average',\n Fast = 'fast',\n Fastest = 'fastest',\n}\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string; // optional memo to pass\n recipient: string;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n","export enum WalletOption {\n 'KEYSTORE' = 'KEYSTORE',\n 'KEEPKEY' = 'KEEPKEY',\n 'XDEFI' = 'XDEFI',\n 'METAMASK' = 'METAMASK',\n 'COINBASE_WEB' = 'COINBASE_WEB',\n 'TREZOR' = 'TREZOR',\n 'TRUSTWALLET_WEB' = 'TRUSTWALLET_WEB',\n 'LEDGER' = 'LEDGER',\n 'KEPLR' = 'KEPLR',\n 'OKX' = 'OKX',\n 'OKX_MOBILE' = 'OKX_MOBILE',\n 'BRAVE' = 'BRAVE',\n 'WALLETCONNECT' = 'WALLETCONNECT',\n}\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB;\n\nexport enum LedgerErrorCode {\n NoError = 0x9000,\n LockedDevice = 0x5515,\n TC_NotFound = 65535,\n}\n"],"names":["erc20ABI","TCEthereumVaultAbi","TCAvalancheDepositABI","TCBscDepositABI","QuoteMode","AGG_SWAP","SWAP_IN","SWAP_OUT","ERROR_TYPE","ERROR_MODULE","ERROR_CODE","ERROR_DISPLAY_MESSAGES","getDisplayMessage","code","displayMessageParams","displayMessage","ApiError","status","revision","module","message","type","shouldLog","shouldThrow","shouldTrace","safeMessage","__publicField","errorInfo","Chain","ContractAddress","DerivationPath","NetworkDerivationPath","BaseDecimal","EVMChainList","UTXOChainList","CosmosChainList","TCSupportedChainList","ChainId","RPCUrl","ApiUrl","chains","chainNames","ChainToChainName","acc","chain","chainName","key","ChainToChainId","ChainToRPC","ChainToHexChainId","chainString","ChainIdToChain","ChainToExplorerUrl","MemoType","FeeOption","WalletOption","LedgerErrorCode"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/abis/erc20.ts","../src/abis/tcEthVault.ts","../src/commonTypes.ts","../src/errors/types.ts","../src/errors/displayMessages.ts","../src/errors/apiError.ts","../src/network.ts","../src/thorchain.ts","../src/transactions.ts","../src/wallet.ts"],"sourcesContent":["export const erc20ABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'spender', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Approval',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'from', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Transfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'spender', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'from', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n];\n","export const TCEthereumVaultAbi = [\n {\n inputs: [{ internalType: 'address', name: 'rune', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [],\n name: 'RUNE',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'aggregator', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCAvalancheDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCBscDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n","import type { Chain, CosmosChain, EVMChain, UTXOChain } from './network.ts';\nimport type { WalletOption } from './wallet.ts';\n\ntype ConnectMethodNames =\n | 'connectEVMWallet'\n | 'connectKeplr'\n | 'connectKeystore'\n | 'connectKeepkey'\n | 'connectLedger'\n | 'connectOkx'\n | 'connectTrezor'\n | 'connectWalletconnect'\n | 'connectXDEFI';\n\ntype ChainWallet = {\n address: string;\n balance: any[];\n walletType: WalletOption;\n};\n\nexport type ConnectConfig = {\n stagenet?: boolean;\n /**\n * @required\n */\n thorswapApiKey?: string;\n /**\n * @required for AVAX & BSC\n */\n covalentApiKey?: string;\n /**\n * @required for ETH\n */\n ethplorerApiKey?: string;\n /**\n * @required for BTC, BCH, LTC, DOGE\n */\n blockchairApiKey?: string;\n /**\n * @deprecated - use blockchairApiKey instead\n */\n utxoApiKey?: string;\n /**\n * @required for Walletconnect\n */\n walletConnectProjectId?: string;\n /**\n * @optional for Trezor config\n */\n trezorManifest?: {\n email: string;\n appUrl: string;\n };\n /**\n * @optional for KeepKey config\n */\n keepkeyConfig?: {\n apiKey: string;\n pairingInfo: {\n name: string;\n imageUrl: string;\n basePath: string;\n url: string;\n };\n };\n};\n\nexport type AddChainWalletParams = {\n chain: Chain;\n wallet: ChainWallet;\n walletMethods: any;\n};\n\nexport type Witness = {\n value: number;\n script: Buffer;\n};\n\ntype ApisType = { [key in UTXOChain]?: string | any } & {\n [key in EVMChain]?: string | any;\n} & {\n [key in CosmosChain]?: string;\n};\n\nexport type ConnectWalletParams = {\n addChain: (params: AddChainWalletParams) => void;\n config: ConnectConfig;\n rpcUrls: { [chain in Chain]?: string };\n apis: ApisType;\n};\n\nexport type ExtendParams<WalletConnectMethodNames = ''> = {\n excludedChains?: Chain[];\n config?: ConnectConfig;\n rpcUrls?: { [chain in Chain]?: string };\n apis?: ApisType;\n wallets: {\n connectMethodName: ConnectMethodNames | WalletConnectMethodNames;\n connect: (params: ConnectWalletParams) => (...params: any) => Promise<any>;\n }[];\n};\n\nexport enum QuoteMode {\n TC_SUPPORTED_TO_TC_SUPPORTED = 'TC-TC',\n TC_SUPPORTED_TO_ETH = 'TC-ERC20',\n TC_SUPPORTED_TO_AVAX = 'TC-ARC20',\n TC_SUPPORTED_TO_BSC = 'TC-BEP20',\n ETH_TO_TC_SUPPORTED = 'ERC20-TC',\n ETH_TO_ETH = 'ERC20-ERC20',\n ETH_TO_AVAX = 'ERC20-ARC20',\n ETH_TO_BSC = 'ERC20-BEP20',\n AVAX_TO_TC_SUPPORTED = 'ARC20-TC',\n AVAX_TO_ETH = 'ARC20-ERC20',\n AVAX_TO_AVAX = 'ARC20-ARC20',\n AVAX_TO_BSC = 'ARC20-BEP20',\n BSC_TO_TC_SUPPORTED = 'BEP20-TC',\n BSC_TO_ETH = 'BEP20-ERC20',\n BSC_TO_AVAX = 'BEP20-ARC20',\n BSC_TO_BSC = 'BEP20-BEP20',\n}\n\nexport type Asset = {\n chain: Chain;\n symbol: string;\n ticker: string;\n synth?: boolean;\n};\n\nexport const AGG_SWAP = [QuoteMode.ETH_TO_ETH, QuoteMode.AVAX_TO_AVAX, QuoteMode.BSC_TO_BSC];\n\nexport const SWAP_IN = [\n QuoteMode.ETH_TO_TC_SUPPORTED,\n QuoteMode.ETH_TO_AVAX,\n QuoteMode.ETH_TO_BSC,\n QuoteMode.AVAX_TO_TC_SUPPORTED,\n QuoteMode.AVAX_TO_ETH,\n QuoteMode.AVAX_TO_BSC,\n QuoteMode.BSC_TO_TC_SUPPORTED,\n QuoteMode.BSC_TO_ETH,\n QuoteMode.BSC_TO_AVAX,\n];\n\nexport const SWAP_OUT = [\n QuoteMode.TC_SUPPORTED_TO_TC_SUPPORTED,\n QuoteMode.TC_SUPPORTED_TO_ETH,\n QuoteMode.TC_SUPPORTED_TO_AVAX,\n QuoteMode.TC_SUPPORTED_TO_BSC,\n];\n","export enum ERROR_TYPE {\n VALIDATION_ERROR = 'VALIDATION_ERROR',\n REQUEST_PARAMETER_ERROR = 'REQUEST_PARAMETER_ERROR',\n RESPONSE_PARSING_ERROR = 'RESPONSE_PARSING_ERROR',\n UNSUPPORTED = 'UNSUPPORTED',\n NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',\n INCOMPATIBLE_ASSETS_OPERATIONS = 'INCOMPATIBLE_ASSETS_OPERATIONS',\n SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',\n DOWN_FOR_MAINTENANCE = 'DOWN_FOR_MAINTENANCE',\n MISSING_INBOUND_INFO = 'MISSING_INBOUND_INFO',\n QUOTE_FETCHING_ERROR = 'QUOTE_FETCHING_ERROR',\n AIRDROP_ERROR = 'AIRDROP_ERROR',\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n}\n\nexport enum ERROR_MODULE {\n // Controllers\n HEALTH_CONTROLLER = '1000',\n LIQUIDITY_CONTROLLER = '1001',\n PROVIDER_CONTROLLER = '1002',\n QUOTE_CONTROLLER = '1003',\n SWAP_CONTROLLER = '1004',\n UTIL_CONTROLLER = '1005',\n AIRDROP_CONTROLLER = '1006',\n // Entities\n PROVIDER = '2000',\n ASSET = '2001',\n TOKEN_LIST = '2002',\n // Quote entities\n QUOTE = '2100',\n QUOTE_TXN_DETAILS = '2101',\n // Providers\n THORCHAIN_PROVIDER = '3000',\n UNISWAPV2_ETH_PROVIDER = '3001',\n UNISWAPV3_ETH_PROVIDER = '3002',\n SUSHISWAP_ETH_PROVIDER = '3003',\n PANCAKESWAP_BSC_PROVIDER = '3004',\n PANCAKESWAP_ETH_PROVIDER = '3005',\n ONEINCH_ETH_PROVIDER = '3006',\n ONEINCH_BSC_PROVIDER = '3007',\n ONEINCH_AVAX_PROVIDER = '3008',\n ZEROX_ETH_PROVIDER = '3009',\n WOOFI_AVAX_PROVIDER = '3010',\n PANGOLIN_AVAX_PROVIDER = '3011',\n TRADERJOE_AVAX_PROVIDER = '3012',\n KYBER_ETH_PROVIDER = '3013',\n KYBER_AVAX_PROVIDER = '3014',\n WOOFI_BSC_PROVIDER = '3015',\n STARGATE_PROVIDER = '3016',\n // Utilities\n PROVIDER_UTIL = '4000',\n // Aggregator\n TXN_DETAILS = '5000',\n // AirDrop\n AIRDROP_UTIL = '6000',\n}\n\nexport enum ERROR_CODE {\n // 10xx - Generic\n INVALID_INPUT_PARAMETERS = '1000',\n UNKNOWN_PROVIDERS = '1001',\n CANNOT_FIND_INBOUND_ADDRESS = '1002',\n NO_INBOUND_ADDRESSES = '1003',\n CHAIN_HALTED_OR_UNSUPPORTED = '1004',\n MISSING_INPUT_PARAMETER = '1005',\n // 11xx - Type error\n INVALID_TYPE_GENERIC = '1100',\n INVALID_NUMBER_STRING = '1101',\n INVALID_NUMBER = '1102',\n INVALID_BOOLEAN = '1103',\n INVALID_OBJECT = '1104',\n INVALID_ARRAY = '1105',\n // 20xx - Quote request parameters\n SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2000',\n SELL_BUY_ASSETS_ARE_THE_SAME = '2001',\n MISSING_SOURCE_ADDRESS_FOR_SYNTH = '2002',\n AFF_ADDRESS_AND_BPS_OR_NEITHER = '2003',\n AFF_ADDRESS_TOO_LONG = '2004',\n AFF_BPS_INTEGER_MAX_500 = '2005',\n SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = '2006',\n DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = '2007',\n PREFERRED_PROVIDER_NOT_SUPPORTED = '2008',\n DESTINATION_ADDRESS_SMART_CONTRACT = '2009',\n BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',\n SOURCE_ADDRESS_SMART_CONTRACT = '2011',\n SWAP_AMOUNT_TOO_LOW = '2012',\n // 21xx - Quote request providers issue\n INVALID_PROVIDER = '2100',\n MISSING_CROSS_CHAIN_PROVIDER = '2101',\n MISSING_AVAX_PROVIDER = '2102',\n MISSING_BSC_PROVIDER = '2103',\n MISSING_ETH_PROVIDER = '2104',\n INVALID_PROVIDER_FOR_SWAP_OUT = '2105',\n MISSING_ARB_PROVIDER = '2106',\n // 22xx - Quote request assets issue\n INVALID_CHAIN = '2200',\n INVALID_ASSET = '2201',\n INVALID_ASSET_IDENTIFIER = '2202',\n UNSUPPORTED_CHAIN = '2204',\n UNSUPPORTED_ASSET = '2203',\n UNSUPPORTED_ASSET_FOR_SWAPOUT = '2205',\n // 23xx - Invalid addresses\n INVALID_SOURCE_ADDRESS = '2300',\n INVALID_DESTINATION_ADDRESS = '2301',\n // 30xx - Thorchain\n THORNODE_QUOTE_GENERIC_ERROR = '3000',\n NOT_ENOUGH_SYNTH_BALANCE = '3001',\n SYNTH_MINTING_CAP_REACHED = '3002',\n // 40xx - Code logic error (not the client's fault)\n INVALID_QUOTE_MODE = '4000',\n NO_QUOTES = '4001',\n // 50xx - Service unavailable\n SERVICE_UNAVAILABLE_GENERIC = '5000',\n // 51xx - Missing gas data\n MISSING_GAS_DATA_GENERIC = '5100',\n // 52xx - Missing token info\n MISSING_TOKEN_INFO_GENERIC = '5200',\n CANT_FIND_TOKEN_LIST = '5201',\n NO_PRICE = '5202',\n PRICE_IS_STALE = '5203',\n // 60xx - Airdrop\n ADDRESS_NOT_WHITELISTED = '6000',\n ADDRESS_ALREADY_CLAIMED = '6001',\n // 90xx - Unhandled\n TEMPORARY_ERROR = '9999', // use only when waiting for a PR to be merged\n}\n\nexport type ErrorInfo = {\n status: number;\n revision: string;\n type?: ERROR_TYPE;\n module: ERROR_MODULE;\n code: ERROR_CODE;\n message?: string | undefined;\n stack?: string;\n identifier?: string;\n options?: ApiErrorOptions;\n displayMessageParams?: string[];\n};\n\nexport type ApiErrorOptions = {\n shouldLog?: boolean;\n shouldTrace?: boolean;\n shouldThrow?: boolean;\n};\n","import { ERROR_CODE } from './types.ts';\n\nexport const ERROR_DISPLAY_MESSAGES: Record<string, string> = {\n [ERROR_CODE.INVALID_INPUT_PARAMETERS]: 'Invalid input parameters: {0}.',\n [ERROR_CODE.UNKNOWN_PROVIDERS]: 'Unknown providers: {0}.',\n [ERROR_CODE.CANNOT_FIND_INBOUND_ADDRESS]: 'Cannot find inbound address.',\n [ERROR_CODE.NO_INBOUND_ADDRESSES]: 'No inbound addresses.',\n [ERROR_CODE.CHAIN_HALTED_OR_UNSUPPORTED]: 'Chain {0} halted or unsupported.',\n [ERROR_CODE.MISSING_INPUT_PARAMETER]: 'Missing input parameter: {0}.',\n [ERROR_CODE.INVALID_TYPE_GENERIC]: 'Invalid type',\n [ERROR_CODE.INVALID_NUMBER_STRING]: 'Invalid number string.',\n [ERROR_CODE.INVALID_NUMBER]: 'Invalid number.',\n [ERROR_CODE.INVALID_BOOLEAN]: 'Invalid boolean.',\n [ERROR_CODE.INVALID_OBJECT]: 'Invalid object.',\n [ERROR_CODE.INVALID_ARRAY]: 'Invalid array.',\n [ERROR_CODE.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Sell amount must be a positive integer.',\n [ERROR_CODE.SELL_BUY_ASSETS_ARE_THE_SAME]: 'Sell and buy assets are the same.',\n [ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',\n [ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:\n 'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',\n [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 4 characters max.',\n [ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:\n 'affiliateBasisPoints must be an integer between 0 and 100.',\n [ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',\n [ERROR_CODE.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:\n 'Destination address {0} invalid for buy chain.',\n [ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',\n [ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',\n [ERROR_CODE.SWAP_AMOUNT_TOO_LOW]: 'Swap amount too low for this pair.',\n [ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',\n [ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',\n [ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',\n [ERROR_CODE.MISSING_CROSS_CHAIN_PROVIDER]: 'Missing cross-chain provider.',\n [ERROR_CODE.MISSING_AVAX_PROVIDER]: 'Missing AVAX provider.',\n [ERROR_CODE.MISSING_BSC_PROVIDER]: 'Missing BSC provider.',\n [ERROR_CODE.MISSING_ETH_PROVIDER]: 'Missing ETH provider.',\n [ERROR_CODE.MISSING_ARB_PROVIDER]: 'Missing ARB provider.',\n [ERROR_CODE.INVALID_PROVIDER_FOR_SWAP_OUT]: 'Invalid provider for swap out.',\n [ERROR_CODE.INVALID_CHAIN]: 'Invalid chain {0}.',\n [ERROR_CODE.INVALID_ASSET]: 'Invalid asset {0}.',\n [ERROR_CODE.UNSUPPORTED_CHAIN]: 'Unsupported chain {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET]: 'Unsupported asset {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET_FOR_SWAPOUT]: 'Unsupported asset {0} for swap out.',\n [ERROR_CODE.THORNODE_QUOTE_GENERIC_ERROR]: 'ThorNode quote generic error.',\n [ERROR_CODE.INVALID_SOURCE_ADDRESS]: 'Invalid source address {0}',\n [ERROR_CODE.INVALID_DESTINATION_ADDRESS]: 'Invalid destination address {0}',\n [ERROR_CODE.NOT_ENOUGH_SYNTH_BALANCE]:\n \"Source address doesn't have enough synth balance for this quote.\",\n [ERROR_CODE.SYNTH_MINTING_CAP_REACHED]: 'Synth minting cap reached.',\n [ERROR_CODE.INVALID_QUOTE_MODE]: 'Invalid quote mode.',\n [ERROR_CODE.NO_QUOTES]: 'No quotes to service this request.',\n [ERROR_CODE.SERVICE_UNAVAILABLE_GENERIC]: 'Service unavailable.',\n [ERROR_CODE.MISSING_GAS_DATA_GENERIC]: 'Missing gas data.',\n [ERROR_CODE.MISSING_TOKEN_INFO_GENERIC]: 'Missing token info.',\n [ERROR_CODE.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [ERROR_CODE.NO_PRICE]: 'No price for asset {0}.',\n [ERROR_CODE.PRICE_IS_STALE]: 'Price is stale for asset {0}.',\n [ERROR_CODE.ADDRESS_NOT_WHITELISTED]: 'Address {0} not whitelisted for airdrop.',\n [ERROR_CODE.ADDRESS_ALREADY_CLAIMED]: 'Address {0} already claimed the airdrop.',\n};\n\nexport const getDisplayMessage = (code: ERROR_CODE, displayMessageParams: string[]) => {\n let displayMessage = ERROR_DISPLAY_MESSAGES[code];\n\n if (!displayMessage) return '';\n\n for (let i = 0; i < displayMessageParams.length; i++) {\n displayMessage = displayMessage?.replace(`{${i}}`, displayMessageParams[i]) ?? '';\n }\n\n return displayMessage;\n};\n","import { getDisplayMessage } from './displayMessages.ts';\nimport type { ApiErrorOptions, ERROR_CODE, ERROR_MODULE, ErrorInfo } from './types.ts';\nimport { ERROR_TYPE } from './types.ts';\n\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly revision: string;\n public readonly type?: ERROR_TYPE;\n public readonly module: ERROR_MODULE;\n public readonly code: ERROR_CODE;\n public readonly message: string;\n public readonly display: string;\n public readonly stack?: string;\n public readonly options: ApiErrorOptions;\n public readonly displayMessageParams?: string[];\n\n constructor({\n status,\n revision,\n module,\n code,\n message,\n type,\n options: { shouldLog, shouldThrow, shouldTrace } = {\n shouldLog: true,\n shouldThrow: true,\n shouldTrace: true,\n },\n displayMessageParams,\n }: ErrorInfo) {\n const safeMessage = message || getDisplayMessage(code, displayMessageParams || []) || '';\n super(safeMessage);\n\n this.status = status;\n this.revision = revision || 'NO_REVISION';\n this.module = module;\n this.message = safeMessage;\n this.display = getDisplayMessage(code, displayMessageParams || []);\n this.code = code;\n this.type = type || ERROR_TYPE.UNHANDLED_ERROR;\n this.options = {\n shouldLog: shouldLog || true,\n shouldTrace: shouldTrace || true,\n shouldThrow: shouldThrow || false,\n };\n this.displayMessageParams = displayMessageParams || [];\n\n if (this.options.shouldTrace) Error.captureStackTrace(this);\n }\n\n public static fromErrorInfo(errorInfo: ErrorInfo): ApiError {\n return new ApiError(errorInfo);\n }\n\n public toErrorInfo(): ErrorInfo {\n return { ...this, identifier: this.identifier };\n }\n\n public get identifier(): string {\n return `${this.revision}-${this.type || 'NO_TYPE'}-${this.module}-${this.code}`;\n }\n\n public get displayMessage(): string {\n return getDisplayMessage(this.code, this.displayMessageParams || []);\n }\n\n public handle() {\n const message = `[${this.identifier}]: ${this.message}`;\n\n if (this.options.shouldLog) console.error(message, '\\n', this.stack || '');\n if (this.options.shouldThrow) throw Error(message, { cause: this.stack });\n\n return this.toErrorInfo();\n }\n}\n","export enum Chain {\n Arbitrum = 'ARB',\n Avalanche = 'AVAX',\n Binance = 'BNB',\n BinanceSmartChain = 'BSC',\n Bitcoin = 'BTC',\n BitcoinCash = 'BCH',\n Cosmos = 'GAIA',\n Dogecoin = 'DOGE',\n Ethereum = 'ETH',\n Kujira = 'KUJI',\n Litecoin = 'LTC',\n Maya = 'MAYA',\n Optimism = 'OP',\n Polygon = 'MATIC',\n THORChain = 'THOR',\n}\ntype ChainNameType = keyof typeof Chain;\n\nexport enum ContractAddress {\n ARB = '0x0000000000000000000000000000000000000000',\n AVAX = '0x0000000000000000000000000000000000000000',\n ETH = '0x0000000000000000000000000000000000000000',\n BSC = '0x0000000000000000000000000000000000000000',\n MATIC = '0x0000000000000000000000000000000000001010',\n OP = '0x4200000000000000000000000000000000000042',\n}\n\nexport enum DerivationPath {\n ARB = \"m/44'/60'/0'/0\",\n AVAX = \"m/44'/60'/0'/0\",\n BCH = \"m/44'/145'/0'/0\",\n BNB = \"m/44'/714'/0'/0\",\n BSC = \"m/44'/60'/0'/0\",\n BTC = \"m/84'/0'/0'/0\",\n DOGE = \"m/44'/3'/0'/0\",\n ETH = \"m/44'/60'/0'/0\",\n GAIA = \"m/44'/118'/0'/0\",\n KUJI = \"m/44'/118'/0'/0\",\n LTC = \"m/84'/2'/0'/0\",\n MATIC = \"m/44'/60'/0'/0\",\n MAYA = \"m/44'/931'/0'/0\",\n OP = \"m/44'/60'/0'/0\",\n THOR = \"m/44'/931'/0'/0\",\n}\n\nexport type DerivationPathArray = [number, number, number, number, number];\n\nexport const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {\n ARB: [44, 60, 0, 0, 0],\n AVAX: [44, 60, 0, 0, 0],\n BCH: [44, 145, 0, 0, 0],\n BNB: [44, 714, 0, 0, 0],\n BSC: [44, 60, 0, 0, 0],\n BTC: [84, 0, 0, 0, 0],\n DOGE: [44, 3, 0, 0, 0],\n ETH: [44, 60, 0, 0, 0],\n GAIA: [44, 118, 0, 0, 0],\n KUJI: [44, 118, 0, 0, 0],\n LTC: [84, 2, 0, 0, 0],\n MATIC: [44, 60, 0, 0, 0],\n MAYA: [44, 931, 0, 0, 0],\n OP: [44, 60, 0, 0, 0],\n THOR: [44, 931, 0, 0, 0],\n};\n\nexport enum BaseDecimal {\n ARB = 18,\n AVAX = 18,\n BCH = 8,\n BNB = 8,\n BSC = 18,\n BTC = 8,\n DASH = 8,\n DOGE = 8,\n ETH = 18,\n GAIA = 6,\n KUJI = 6,\n LTC = 8,\n MATIC = 18,\n MAYA = 10,\n OP = 18,\n THOR = 8,\n}\n\nexport type EVMChain =\n | Chain.Ethereum\n | Chain.Avalanche\n | Chain.BinanceSmartChain\n | Chain.Arbitrum\n | Chain.Optimism\n | Chain.Polygon;\n\nexport const EVMChainList: EVMChain[] = [\n Chain.Ethereum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Arbitrum,\n Chain.Optimism,\n Chain.Polygon,\n];\n\nexport type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dogecoin | Chain.Litecoin;\n\nexport const UTXOChainList: UTXOChain[] = [\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Dogecoin,\n Chain.Litecoin,\n];\n\nexport type CosmosChain =\n | Chain.Cosmos\n | Chain.THORChain\n | Chain.Binance\n | Chain.Maya\n | Chain.Kujira;\n\nexport const CosmosChainList: CosmosChain[] = [Chain.Cosmos, Chain.THORChain, Chain.Binance];\n\nexport const TCSupportedChainList = [\n Chain.Avalanche,\n Chain.Binance,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Litecoin,\n Chain.THORChain,\n];\n\nexport enum ChainId {\n Arbitrum = '42161',\n ArbitrumHex = '0xa4b1',\n Avalanche = '43114',\n AvalancheHex = '0xa86a',\n Binance = 'Binance-Chain-Tigris',\n BinanceSmartChain = '56',\n BinanceSmartChainHex = '0x38',\n Bitcoin = 'bitcoin',\n BitcoinCash = 'bitcoincash',\n Cosmos = 'cosmoshub-4',\n Dogecoin = 'dogecoin',\n Kujira = 'kaiyo-1',\n Ethereum = '1',\n EthereumHex = '0x1',\n Litecoin = 'litecoin',\n Maya = 'mayachain-mainnet-v1',\n MayaStagenet = 'mayachain-stagenet-v1',\n Optimism = '10',\n OptimismHex = '0xa',\n Polygon = '137',\n PolygonHex = '0x89',\n THORChain = 'thorchain-mainnet-v1',\n THORChainStagenet = 'thorchain-stagenet-v2',\n}\n\nexport enum RPCUrl {\n Arbitrum = 'https://arb1.arbitrum.io/rpc',\n Avalanche = 'https://node-router.thorswap.net/avalanche-c',\n Binance = '',\n BinanceSmartChain = 'https://bsc-dataseed.binance.org',\n Bitcoin = 'https://node-router.thorswap.net/bitcoin',\n BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',\n Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',\n Kujira = 'https://rpc-kujira.synergynodes.com/',\n Dogecoin = 'https://node-router.thorswap.net/dogecoin',\n Ethereum = 'https://node-router.thorswap.net/ethereum',\n Litecoin = 'https://node-router.thorswap.net/litecoin',\n Maya = 'https://tendermint.mayachain.info',\n MayaStagenet = 'https://stagenet.tendermint.mayachain.info',\n Optimism = 'https://mainnet.optimism.io',\n Polygon = 'https://polygon-rpc.com',\n THORChain = 'https://rpc.thorswap.net',\n THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',\n}\n\nexport enum ApiUrl {\n Cosmos = 'https://node-router.thorswap.net/cosmos/rest',\n Kujira = 'https://lcd-kujira.synergynodes.com/',\n MayanodeMainnet = 'https://mayanode.mayachain.info',\n MayanodeStagenet = 'https://stagenet.mayanode.mayachain.info',\n ThornodeMainnet = 'https://thornode.thorswap.net',\n ThornodeStagenet = 'https://stagenet-thornode.ninerealms.com',\n ThorswapApi = 'https://api.thorswap.net',\n ThorswapStatic = 'https://static.thorswap.net',\n}\n\nconst chains = Object.values(Chain) as Chain[];\nconst chainNames = Object.keys(Chain) as ChainNameType[];\n\nconst ChainToChainName = chains.reduce(\n (acc, chain) => {\n const chainName = chainNames.find((key) => Chain[key as ChainNameType] === chain);\n\n if (chainName) acc[chain] = chainName;\n\n return acc;\n },\n {} as { [key in Chain]: ChainNameType },\n);\n\nexport const ChainToChainId = chains.reduce(\n (acc, chain) => {\n acc[chain] = ChainId[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainToRPC = chains.reduce(\n (acc, chain) => {\n acc[chain] = RPCUrl[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: RPCUrl },\n);\n\nexport const ChainToHexChainId = chains.reduce(\n (acc, chain) => {\n const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;\n\n acc[chain] = ChainId[chainString];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainIdToChain: Record<ChainId, Chain> = {\n [ChainId.ArbitrumHex]: Chain.Arbitrum,\n [ChainId.Arbitrum]: Chain.Arbitrum,\n [ChainId.AvalancheHex]: Chain.Avalanche,\n [ChainId.Avalanche]: Chain.Avalanche,\n [ChainId.BinanceSmartChainHex]: Chain.BinanceSmartChain,\n [ChainId.BinanceSmartChain]: Chain.BinanceSmartChain,\n [ChainId.Binance]: Chain.Binance,\n [ChainId.BitcoinCash]: Chain.BitcoinCash,\n [ChainId.Bitcoin]: Chain.Bitcoin,\n [ChainId.Cosmos]: Chain.Cosmos,\n [ChainId.Dogecoin]: Chain.Dogecoin,\n [ChainId.EthereumHex]: Chain.Ethereum,\n [ChainId.Kujira]: Chain.Kujira,\n [ChainId.Ethereum]: Chain.Ethereum,\n [ChainId.Litecoin]: Chain.Litecoin,\n [ChainId.MayaStagenet]: Chain.Maya,\n [ChainId.Maya]: Chain.Maya,\n [ChainId.OptimismHex]: Chain.Optimism,\n [ChainId.Optimism]: Chain.Optimism,\n [ChainId.PolygonHex]: Chain.Polygon,\n [ChainId.Polygon]: Chain.Polygon,\n [ChainId.THORChainStagenet]: Chain.THORChain,\n [ChainId.THORChain]: Chain.THORChain,\n};\n\nexport const ChainToExplorerUrl: Record<Chain, string> = {\n [Chain.Arbitrum]: 'https://arbiscan.io',\n [Chain.Avalanche]: 'https://snowtrace.io',\n [Chain.BinanceSmartChain]: 'https://bscscan.com',\n [Chain.Binance]: 'https://explorer.binance.org',\n [Chain.BitcoinCash]: 'https://www.blockchair.com/bitcoin-cash',\n [Chain.Bitcoin]: 'https://blockchair.com/bitcoin',\n [Chain.Cosmos]: 'https://cosmos.bigdipper.live',\n [Chain.Dogecoin]: 'https://blockchair.com/dogecoin',\n [Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',\n [Chain.Ethereum]: 'https://etherscan.io',\n [Chain.Litecoin]: 'https://blockchair.com/litecoin',\n [Chain.Maya]: 'https://www.mayascan.org',\n [Chain.Optimism]: 'https://optimistic.etherscan.io',\n [Chain.Polygon]: 'https://polygonscan.com',\n [Chain.THORChain]: 'https://runescan.io',\n};\n","export type GetAddressAndPubKeyResponse = {\n bech32_address: string;\n compressed_pk: any;\n error_message: string;\n return_code: number;\n};\n\nexport type Signature = {\n pub_key: {\n type: string;\n value: string;\n };\n sequence: string;\n signature: string;\n};\n\nexport enum MemoType {\n BOND = 'BOND',\n DEPOSIT = '+',\n LEAVE = 'LEAVE',\n THORNAME_REGISTER = '~',\n UNBOND = 'UNBOND',\n WITHDRAW = '-',\n OPEN_LOAN = '$+',\n CLOSE_LOAN = '$-',\n}\n","export enum FeeOption {\n Average = 'average',\n Fast = 'fast',\n Fastest = 'fastest',\n}\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string; // optional memo to pass\n recipient: string;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n","export enum WalletOption {\n 'KEYSTORE' = 'KEYSTORE',\n 'KEEPKEY' = 'KEEPKEY',\n 'XDEFI' = 'XDEFI',\n 'METAMASK' = 'METAMASK',\n 'COINBASE_WEB' = 'COINBASE_WEB',\n 'TREZOR' = 'TREZOR',\n 'TRUSTWALLET_WEB' = 'TRUSTWALLET_WEB',\n 'LEDGER' = 'LEDGER',\n 'KEPLR' = 'KEPLR',\n 'OKX' = 'OKX',\n 'OKX_MOBILE' = 'OKX_MOBILE',\n 'BRAVE' = 'BRAVE',\n 'WALLETCONNECT' = 'WALLETCONNECT',\n}\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB;\n\nexport enum LedgerErrorCode {\n NoError = 0x9000,\n LockedDevice = 0x5515,\n TC_NotFound = 65535,\n}\n"],"names":["erc20ABI","TCEthereumVaultAbi","TCAvalancheDepositABI","TCBscDepositABI","QuoteMode","AGG_SWAP","SWAP_IN","SWAP_OUT","ERROR_TYPE","ERROR_MODULE","ERROR_CODE","ERROR_DISPLAY_MESSAGES","getDisplayMessage","code","displayMessageParams","displayMessage","ApiError","status","revision","module","message","type","shouldLog","shouldThrow","shouldTrace","safeMessage","__publicField","errorInfo","Chain","ContractAddress","DerivationPath","NetworkDerivationPath","BaseDecimal","EVMChainList","UTXOChainList","CosmosChainList","TCSupportedChainList","ChainId","RPCUrl","ApiUrl","chains","chainNames","ChainToChainName","acc","chain","chainName","key","ChainToChainId","ChainToRPC","ChainToHexChainId","chainString","ChainIdToChain","ChainToExplorerUrl","MemoType","FeeOption","WalletOption","LedgerErrorCode"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -338,6 +338,7 @@ export declare enum ERROR_CODE {
338
338
  DESTINATION_ADDRESS_SMART_CONTRACT = "2009",
339
339
  BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2010",
340
340
  SOURCE_ADDRESS_SMART_CONTRACT = "2011",
341
+ SWAP_AMOUNT_TOO_LOW = "2012",
341
342
  INVALID_PROVIDER = "2100",
342
343
  MISSING_CROSS_CHAIN_PROVIDER = "2101",
343
344
  MISSING_AVAX_PROVIDER = "2102",
package/dist/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
- var C = Object.defineProperty;
2
- var O = (e, a, n) => a in e ? C(e, a, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[a] = n;
3
- var s = (e, a, n) => (O(e, typeof a != "symbol" ? a + "" : a, n), n);
1
+ var O = Object.defineProperty;
2
+ var C = (e, a, n) => a in e ? O(e, a, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[a] = n;
3
+ var s = (e, a, n) => (C(e, typeof a != "symbol" ? a + "" : a, n), n);
4
4
  const G = [
5
5
  { inputs: [], stateMutability: "nonpayable", type: "constructor" },
6
6
  {
@@ -615,8 +615,8 @@ const X = [
615
615
  "TC-BEP20"
616
616
  /* TC_SUPPORTED_TO_BSC */
617
617
  ];
618
- var m = /* @__PURE__ */ ((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))(m || {}), g = /* @__PURE__ */ ((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))(g || {}), t = /* @__PURE__ */ ((e) => (e.INVALID_INPUT_PARAMETERS = "1000", e.UNKNOWN_PROVIDERS = "1001", e.CANNOT_FIND_INBOUND_ADDRESS = "1002", e.NO_INBOUND_ADDRESSES = "1003", e.CHAIN_HALTED_OR_UNSUPPORTED = "1004", e.MISSING_INPUT_PARAMETER = "1005", e.INVALID_TYPE_GENERIC = "1100", e.INVALID_NUMBER_STRING = "1101", e.INVALID_NUMBER = "1102", e.INVALID_BOOLEAN = "1103", e.INVALID_OBJECT = "1104", e.INVALID_ARRAY = "1105", e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2000", e.SELL_BUY_ASSETS_ARE_THE_SAME = "2001", e.MISSING_SOURCE_ADDRESS_FOR_SYNTH = "2002", e.AFF_ADDRESS_AND_BPS_OR_NEITHER = "2003", e.AFF_ADDRESS_TOO_LONG = "2004", e.AFF_BPS_INTEGER_MAX_500 = "2005", e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = "2006", e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = "2007", e.PREFERRED_PROVIDER_NOT_SUPPORTED = "2008", e.DESTINATION_ADDRESS_SMART_CONTRACT = "2009", e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2010", e.SOURCE_ADDRESS_SMART_CONTRACT = "2011", e.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))(t || {});
619
- const V = {
618
+ var m = /* @__PURE__ */ ((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))(m || {}), g = /* @__PURE__ */ ((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))(g || {}), t = /* @__PURE__ */ ((e) => (e.INVALID_INPUT_PARAMETERS = "1000", e.UNKNOWN_PROVIDERS = "1001", e.CANNOT_FIND_INBOUND_ADDRESS = "1002", e.NO_INBOUND_ADDRESSES = "1003", e.CHAIN_HALTED_OR_UNSUPPORTED = "1004", e.MISSING_INPUT_PARAMETER = "1005", e.INVALID_TYPE_GENERIC = "1100", e.INVALID_NUMBER_STRING = "1101", e.INVALID_NUMBER = "1102", e.INVALID_BOOLEAN = "1103", e.INVALID_OBJECT = "1104", e.INVALID_ARRAY = "1105", e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2000", e.SELL_BUY_ASSETS_ARE_THE_SAME = "2001", e.MISSING_SOURCE_ADDRESS_FOR_SYNTH = "2002", e.AFF_ADDRESS_AND_BPS_OR_NEITHER = "2003", e.AFF_ADDRESS_TOO_LONG = "2004", e.AFF_BPS_INTEGER_MAX_500 = "2005", e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = "2006", e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = "2007", e.PREFERRED_PROVIDER_NOT_SUPPORTED = "2008", e.DESTINATION_ADDRESS_SMART_CONTRACT = "2009", e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = "2010", e.SOURCE_ADDRESS_SMART_CONTRACT = "2011", e.SWAP_AMOUNT_TOO_LOW = "2012", e.INVALID_PROVIDER = "2100", e.MISSING_CROSS_CHAIN_PROVIDER = "2101", e.MISSING_AVAX_PROVIDER = "2102", e.MISSING_BSC_PROVIDER = "2103", e.MISSING_ETH_PROVIDER = "2104", e.INVALID_PROVIDER_FOR_SWAP_OUT = "2105", e.MISSING_ARB_PROVIDER = "2106", e.INVALID_CHAIN = "2200", e.INVALID_ASSET = "2201", e.INVALID_ASSET_IDENTIFIER = "2202", e.UNSUPPORTED_CHAIN = "2204", e.UNSUPPORTED_ASSET = "2203", e.UNSUPPORTED_ASSET_FOR_SWAPOUT = "2205", e.INVALID_SOURCE_ADDRESS = "2300", e.INVALID_DESTINATION_ADDRESS = "2301", e.THORNODE_QUOTE_GENERIC_ERROR = "3000", e.NOT_ENOUGH_SYNTH_BALANCE = "3001", e.SYNTH_MINTING_CAP_REACHED = "3002", e.INVALID_QUOTE_MODE = "4000", e.NO_QUOTES = "4001", e.SERVICE_UNAVAILABLE_GENERIC = "5000", e.MISSING_GAS_DATA_GENERIC = "5100", e.MISSING_TOKEN_INFO_GENERIC = "5200", e.CANT_FIND_TOKEN_LIST = "5201", e.NO_PRICE = "5202", e.PRICE_IS_STALE = "5203", e.ADDRESS_NOT_WHITELISTED = "6000", e.ADDRESS_ALREADY_CLAIMED = "6001", e.TEMPORARY_ERROR = "9999", e))(t || {});
619
+ const P = {
620
620
  [t.INVALID_INPUT_PARAMETERS]: "Invalid input parameters: {0}.",
621
621
  [t.UNKNOWN_PROVIDERS]: "Unknown providers: {0}.",
622
622
  [t.CANNOT_FIND_INBOUND_ADDRESS]: "Cannot find inbound address.",
@@ -633,12 +633,13 @@ const V = {
633
633
  [t.SELL_BUY_ASSETS_ARE_THE_SAME]: "Sell and buy assets are the same.",
634
634
  [t.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: "Source address is required for synth quote.",
635
635
  [t.AFF_ADDRESS_AND_BPS_OR_NEITHER]: "Must provide affiliateAddress and affiliateBasisPoints params, or neither.",
636
- [t.AFF_ADDRESS_TOO_LONG]: "affiliateAddress too long: 3 characters max.",
636
+ [t.AFF_ADDRESS_TOO_LONG]: "affiliateAddress too long: 4 characters max.",
637
637
  [t.AFF_BPS_INTEGER_MAX_500]: "affiliateBasisPoints must be an integer between 0 and 100.",
638
638
  [t.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: "Source address {0} invalid for sell chain.",
639
639
  [t.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]: "Destination address {0} invalid for buy chain.",
640
640
  [t.PREFERRED_PROVIDER_NOT_SUPPORTED]: "Preferred provider not supported.",
641
641
  [t.SOURCE_ADDRESS_SMART_CONTRACT]: "Source address is a smart contract.",
642
+ [t.SWAP_AMOUNT_TOO_LOW]: "Swap amount too low for this pair.",
642
643
  [t.DESTINATION_ADDRESS_SMART_CONTRACT]: "Destination address is a smart contract.",
643
644
  [t.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: "Buy amount must be a positive integer.",
644
645
  [t.INVALID_PROVIDER]: "Invalid provider {0}.",
@@ -669,7 +670,7 @@ const V = {
669
670
  [t.ADDRESS_NOT_WHITELISTED]: "Address {0} not whitelisted for airdrop.",
670
671
  [t.ADDRESS_ALREADY_CLAIMED]: "Address {0} already claimed the airdrop."
671
672
  }, u = (e, a) => {
672
- let n = V[e];
673
+ let n = P[e];
673
674
  if (!n)
674
675
  return "";
675
676
  for (let r = 0; r < a.length; r++)
@@ -680,9 +681,9 @@ class A extends Error {
680
681
  constructor({
681
682
  status: n,
682
683
  revision: r,
683
- module: S,
684
+ module: _,
684
685
  code: d,
685
- message: _,
686
+ message: S,
686
687
  type: N,
687
688
  options: { shouldLog: E, shouldThrow: c, shouldTrace: f } = {
688
689
  shouldLog: !0,
@@ -691,7 +692,7 @@ class A extends Error {
691
692
  },
692
693
  displayMessageParams: y
693
694
  }) {
694
- const l = _ || u(d, y || []) || "";
695
+ const l = S || u(d, y || []) || "";
695
696
  super(l);
696
697
  s(this, "status");
697
698
  s(this, "revision");
@@ -703,7 +704,7 @@ class A extends Error {
703
704
  s(this, "stack");
704
705
  s(this, "options");
705
706
  s(this, "displayMessageParams");
706
- this.status = n, this.revision = r || "NO_REVISION", this.module = S, this.message = l, this.display = u(d, y || []), this.code = d, this.type = N || m.UNHANDLED_ERROR, this.options = {
707
+ this.status = n, this.revision = r || "NO_REVISION", this.module = _, this.message = l, this.display = u(d, y || []), this.code = d, this.type = N || m.UNHANDLED_ERROR, this.options = {
707
708
  shouldLog: E || !0,
708
709
  shouldTrace: f || !0,
709
710
  shouldThrow: c || !1
@@ -729,8 +730,8 @@ class A extends Error {
729
730
  return this.toErrorInfo();
730
731
  }
731
732
  }
732
- var i = /* @__PURE__ */ ((e) => (e.Arbitrum = "ARB", e.Avalanche = "AVAX", e.Binance = "BNB", e.BinanceSmartChain = "BSC", e.Bitcoin = "BTC", e.BitcoinCash = "BCH", e.Cosmos = "GAIA", e.Dogecoin = "DOGE", e.Ethereum = "ETH", e.Kujira = "KUJI", e.Litecoin = "LTC", e.Maya = "MAYA", e.Optimism = "OP", e.Polygon = "MATIC", e.THORChain = "THOR", e))(i || {}), P = /* @__PURE__ */ ((e) => (e.ARB = "0x0000000000000000000000000000000000000000", e.AVAX = "0x0000000000000000000000000000000000000000", e.ETH = "0x0000000000000000000000000000000000000000", e.BSC = "0x0000000000000000000000000000000000000000", e.MATIC = "0x0000000000000000000000000000000000001010", e.OP = "0x4200000000000000000000000000000000000042", e))(P || {}), B = /* @__PURE__ */ ((e) => (e.ARB = "m/44'/60'/0'/0", e.AVAX = "m/44'/60'/0'/0", e.BCH = "m/44'/145'/0'/0", e.BNB = "m/44'/714'/0'/0", e.BSC = "m/44'/60'/0'/0", e.BTC = "m/84'/0'/0'/0", e.DOGE = "m/44'/3'/0'/0", e.ETH = "m/44'/60'/0'/0", e.GAIA = "m/44'/118'/0'/0", e.KUJI = "m/44'/118'/0'/0", e.LTC = "m/84'/2'/0'/0", e.MATIC = "m/44'/60'/0'/0", e.MAYA = "m/44'/931'/0'/0", e.OP = "m/44'/60'/0'/0", e.THOR = "m/44'/931'/0'/0", e))(B || {});
733
- const Y = {
733
+ var i = /* @__PURE__ */ ((e) => (e.Arbitrum = "ARB", e.Avalanche = "AVAX", e.Binance = "BNB", e.BinanceSmartChain = "BSC", e.Bitcoin = "BTC", e.BitcoinCash = "BCH", e.Cosmos = "GAIA", e.Dogecoin = "DOGE", e.Ethereum = "ETH", e.Kujira = "KUJI", e.Litecoin = "LTC", e.Maya = "MAYA", e.Optimism = "OP", e.Polygon = "MATIC", e.THORChain = "THOR", e))(i || {}), V = /* @__PURE__ */ ((e) => (e.ARB = "0x0000000000000000000000000000000000000000", e.AVAX = "0x0000000000000000000000000000000000000000", e.ETH = "0x0000000000000000000000000000000000000000", e.BSC = "0x0000000000000000000000000000000000000000", e.MATIC = "0x0000000000000000000000000000000000001010", e.OP = "0x4200000000000000000000000000000000000042", e))(V || {}), B = /* @__PURE__ */ ((e) => (e.ARB = "m/44'/60'/0'/0", e.AVAX = "m/44'/60'/0'/0", e.BCH = "m/44'/145'/0'/0", e.BNB = "m/44'/714'/0'/0", e.BSC = "m/44'/60'/0'/0", e.BTC = "m/84'/0'/0'/0", e.DOGE = "m/44'/3'/0'/0", e.ETH = "m/44'/60'/0'/0", e.GAIA = "m/44'/118'/0'/0", e.KUJI = "m/44'/118'/0'/0", e.LTC = "m/84'/2'/0'/0", e.MATIC = "m/44'/60'/0'/0", e.MAYA = "m/44'/931'/0'/0", e.OP = "m/44'/60'/0'/0", e.THOR = "m/44'/931'/0'/0", e))(B || {});
734
+ const W = {
734
735
  ARB: [44, 60, 0, 0, 0],
735
736
  AVAX: [44, 60, 0, 0, 0],
736
737
  BCH: [44, 145, 0, 0, 0],
@@ -748,7 +749,7 @@ const Y = {
748
749
  THOR: [44, 931, 0, 0, 0]
749
750
  };
750
751
  var b = /* @__PURE__ */ ((e) => (e[e.ARB = 18] = "ARB", e[e.AVAX = 18] = "AVAX", e[e.BCH = 8] = "BCH", e[e.BNB = 8] = "BNB", e[e.BSC = 18] = "BSC", e[e.BTC = 8] = "BTC", e[e.DASH = 8] = "DASH", e[e.DOGE = 8] = "DOGE", e[e.ETH = 18] = "ETH", e[e.GAIA = 6] = "GAIA", e[e.KUJI = 6] = "KUJI", e[e.LTC = 8] = "LTC", e[e.MATIC = 18] = "MATIC", e[e.MAYA = 10] = "MAYA", e[e.OP = 18] = "OP", e[e.THOR = 8] = "THOR", e))(b || {});
751
- const W = [
752
+ const Y = [
752
753
  "ETH",
753
754
  "AVAX",
754
755
  "BSC",
@@ -841,7 +842,7 @@ const p = Object.values(i), H = Object.keys(i), o = p.reduce(
841
842
  MATIC: "https://polygonscan.com",
842
843
  THOR: "https://runescan.io"
843
844
  };
844
- var v = /* @__PURE__ */ ((e) => (e.BOND = "BOND", e.DEPOSIT = "+", e.LEAVE = "LEAVE", e.THORNAME_REGISTER = "~", e.UNBOND = "UNBOND", e.WITHDRAW = "-", e.OPEN_LOAN = "$+", e.CLOSE_LOAN = "$-", e))(v || {}), D = /* @__PURE__ */ ((e) => (e.Average = "average", e.Fast = "fast", e.Fastest = "fastest", e))(D || {}), L = /* @__PURE__ */ ((e) => (e.KEYSTORE = "KEYSTORE", e.KEEPKEY = "KEEPKEY", e.XDEFI = "XDEFI", e.METAMASK = "METAMASK", e.COINBASE_WEB = "COINBASE_WEB", e.TREZOR = "TREZOR", e.TRUSTWALLET_WEB = "TRUSTWALLET_WEB", e.LEDGER = "LEDGER", e.KEPLR = "KEPLR", e.OKX = "OKX", e.OKX_MOBILE = "OKX_MOBILE", e.BRAVE = "BRAVE", e.WALLETCONNECT = "WALLETCONNECT", e))(L || {}), R = /* @__PURE__ */ ((e) => (e[e.NoError = 36864] = "NoError", e[e.LockedDevice = 21781] = "LockedDevice", e[e.TC_NotFound = 65535] = "TC_NotFound", e))(R || {});
845
+ var v = /* @__PURE__ */ ((e) => (e.BOND = "BOND", e.DEPOSIT = "+", e.LEAVE = "LEAVE", e.THORNAME_REGISTER = "~", e.UNBOND = "UNBOND", e.WITHDRAW = "-", e.OPEN_LOAN = "$+", e.CLOSE_LOAN = "$-", e))(v || {}), L = /* @__PURE__ */ ((e) => (e.Average = "average", e.Fast = "fast", e.Fastest = "fastest", e))(L || {}), D = /* @__PURE__ */ ((e) => (e.KEYSTORE = "KEYSTORE", e.KEEPKEY = "KEEPKEY", e.XDEFI = "XDEFI", e.METAMASK = "METAMASK", e.COINBASE_WEB = "COINBASE_WEB", e.TREZOR = "TREZOR", e.TRUSTWALLET_WEB = "TRUSTWALLET_WEB", e.LEDGER = "LEDGER", e.KEPLR = "KEPLR", e.OKX = "OKX", e.OKX_MOBILE = "OKX_MOBILE", e.BRAVE = "BRAVE", e.WALLETCONNECT = "WALLETCONNECT", e))(D || {}), R = /* @__PURE__ */ ((e) => (e[e.NoError = 36864] = "NoError", e[e.LockedDevice = 21781] = "LockedDevice", e[e.TC_NotFound = 65535] = "TC_NotFound", e))(R || {});
845
846
  export {
846
847
  X as AGG_SWAP,
847
848
  A as ApiError,
@@ -854,17 +855,17 @@ export {
854
855
  ee as ChainToExplorerUrl,
855
856
  z as ChainToHexChainId,
856
857
  Z as ChainToRPC,
857
- P as ContractAddress,
858
+ V as ContractAddress,
858
859
  J as CosmosChainList,
859
860
  B as DerivationPath,
860
861
  t as ERROR_CODE,
861
862
  g as ERROR_MODULE,
862
863
  m as ERROR_TYPE,
863
- W as EVMChainList,
864
- D as FeeOption,
864
+ Y as EVMChainList,
865
+ L as FeeOption,
865
866
  R as LedgerErrorCode,
866
867
  v as MemoType,
867
- Y as NetworkDerivationPath,
868
+ W as NetworkDerivationPath,
868
869
  h as QuoteMode,
869
870
  I as RPCUrl,
870
871
  K as SWAP_IN,
@@ -874,7 +875,7 @@ export {
874
875
  U as TCEthereumVaultAbi,
875
876
  $ as TCSupportedChainList,
876
877
  j as UTXOChainList,
877
- L as WalletOption,
878
+ D as WalletOption,
878
879
  G as erc20ABI
879
880
  };
880
881
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/abis/erc20.ts","../src/abis/tcEthVault.ts","../src/commonTypes.ts","../src/errors/types.ts","../src/errors/displayMessages.ts","../src/errors/apiError.ts","../src/network.ts","../src/thorchain.ts","../src/transactions.ts","../src/wallet.ts"],"sourcesContent":["export const erc20ABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'spender', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Approval',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'from', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Transfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'spender', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'from', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n];\n","export const TCEthereumVaultAbi = [\n {\n inputs: [{ internalType: 'address', name: 'rune', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [],\n name: 'RUNE',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'aggregator', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCAvalancheDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCBscDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n","import type { Chain, CosmosChain, EVMChain, UTXOChain } from './network.ts';\nimport type { WalletOption } from './wallet.ts';\n\ntype ConnectMethodNames =\n | 'connectEVMWallet'\n | 'connectKeplr'\n | 'connectKeystore'\n | 'connectKeepkey'\n | 'connectLedger'\n | 'connectOkx'\n | 'connectTrezor'\n | 'connectWalletconnect'\n | 'connectXDEFI';\n\ntype ChainWallet = {\n address: string;\n balance: any[];\n walletType: WalletOption;\n};\n\nexport type ConnectConfig = {\n stagenet?: boolean;\n /**\n * @required\n */\n thorswapApiKey?: string;\n /**\n * @required for AVAX & BSC\n */\n covalentApiKey?: string;\n /**\n * @required for ETH\n */\n ethplorerApiKey?: string;\n /**\n * @required for BTC, BCH, LTC, DOGE\n */\n blockchairApiKey?: string;\n /**\n * @deprecated - use blockchairApiKey instead\n */\n utxoApiKey?: string;\n /**\n * @required for Walletconnect\n */\n walletConnectProjectId?: string;\n /**\n * @optional for Trezor config\n */\n trezorManifest?: {\n email: string;\n appUrl: string;\n };\n /**\n * @optional for KeepKey config\n */\n keepkeyConfig?: {\n apiKey: string;\n pairingInfo: {\n name: string;\n imageUrl: string;\n basePath: string;\n url: string;\n };\n };\n};\n\nexport type AddChainWalletParams = {\n chain: Chain;\n wallet: ChainWallet;\n walletMethods: any;\n};\n\nexport type Witness = {\n value: number;\n script: Buffer;\n};\n\ntype ApisType = { [key in UTXOChain]?: string | any } & {\n [key in EVMChain]?: string | any;\n} & {\n [key in CosmosChain]?: string;\n};\n\nexport type ConnectWalletParams = {\n addChain: (params: AddChainWalletParams) => void;\n config: ConnectConfig;\n rpcUrls: { [chain in Chain]?: string };\n apis: ApisType;\n};\n\nexport type ExtendParams<WalletConnectMethodNames = ''> = {\n excludedChains?: Chain[];\n config?: ConnectConfig;\n rpcUrls?: { [chain in Chain]?: string };\n apis?: ApisType;\n wallets: {\n connectMethodName: ConnectMethodNames | WalletConnectMethodNames;\n connect: (params: ConnectWalletParams) => (...params: any) => Promise<any>;\n }[];\n};\n\nexport enum QuoteMode {\n TC_SUPPORTED_TO_TC_SUPPORTED = 'TC-TC',\n TC_SUPPORTED_TO_ETH = 'TC-ERC20',\n TC_SUPPORTED_TO_AVAX = 'TC-ARC20',\n TC_SUPPORTED_TO_BSC = 'TC-BEP20',\n ETH_TO_TC_SUPPORTED = 'ERC20-TC',\n ETH_TO_ETH = 'ERC20-ERC20',\n ETH_TO_AVAX = 'ERC20-ARC20',\n ETH_TO_BSC = 'ERC20-BEP20',\n AVAX_TO_TC_SUPPORTED = 'ARC20-TC',\n AVAX_TO_ETH = 'ARC20-ERC20',\n AVAX_TO_AVAX = 'ARC20-ARC20',\n AVAX_TO_BSC = 'ARC20-BEP20',\n BSC_TO_TC_SUPPORTED = 'BEP20-TC',\n BSC_TO_ETH = 'BEP20-ERC20',\n BSC_TO_AVAX = 'BEP20-ARC20',\n BSC_TO_BSC = 'BEP20-BEP20',\n}\n\nexport type Asset = {\n chain: Chain;\n symbol: string;\n ticker: string;\n synth?: boolean;\n};\n\nexport const AGG_SWAP = [QuoteMode.ETH_TO_ETH, QuoteMode.AVAX_TO_AVAX, QuoteMode.BSC_TO_BSC];\n\nexport const SWAP_IN = [\n QuoteMode.ETH_TO_TC_SUPPORTED,\n QuoteMode.ETH_TO_AVAX,\n QuoteMode.ETH_TO_BSC,\n QuoteMode.AVAX_TO_TC_SUPPORTED,\n QuoteMode.AVAX_TO_ETH,\n QuoteMode.AVAX_TO_BSC,\n QuoteMode.BSC_TO_TC_SUPPORTED,\n QuoteMode.BSC_TO_ETH,\n QuoteMode.BSC_TO_AVAX,\n];\n\nexport const SWAP_OUT = [\n QuoteMode.TC_SUPPORTED_TO_TC_SUPPORTED,\n QuoteMode.TC_SUPPORTED_TO_ETH,\n QuoteMode.TC_SUPPORTED_TO_AVAX,\n QuoteMode.TC_SUPPORTED_TO_BSC,\n];\n","export enum ERROR_TYPE {\n VALIDATION_ERROR = 'VALIDATION_ERROR',\n REQUEST_PARAMETER_ERROR = 'REQUEST_PARAMETER_ERROR',\n RESPONSE_PARSING_ERROR = 'RESPONSE_PARSING_ERROR',\n UNSUPPORTED = 'UNSUPPORTED',\n NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',\n INCOMPATIBLE_ASSETS_OPERATIONS = 'INCOMPATIBLE_ASSETS_OPERATIONS',\n SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',\n DOWN_FOR_MAINTENANCE = 'DOWN_FOR_MAINTENANCE',\n MISSING_INBOUND_INFO = 'MISSING_INBOUND_INFO',\n QUOTE_FETCHING_ERROR = 'QUOTE_FETCHING_ERROR',\n AIRDROP_ERROR = 'AIRDROP_ERROR',\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n}\n\nexport enum ERROR_MODULE {\n // Controllers\n HEALTH_CONTROLLER = '1000',\n LIQUIDITY_CONTROLLER = '1001',\n PROVIDER_CONTROLLER = '1002',\n QUOTE_CONTROLLER = '1003',\n SWAP_CONTROLLER = '1004',\n UTIL_CONTROLLER = '1005',\n AIRDROP_CONTROLLER = '1006',\n // Entities\n PROVIDER = '2000',\n ASSET = '2001',\n TOKEN_LIST = '2002',\n // Quote entities\n QUOTE = '2100',\n QUOTE_TXN_DETAILS = '2101',\n // Providers\n THORCHAIN_PROVIDER = '3000',\n UNISWAPV2_ETH_PROVIDER = '3001',\n UNISWAPV3_ETH_PROVIDER = '3002',\n SUSHISWAP_ETH_PROVIDER = '3003',\n PANCAKESWAP_BSC_PROVIDER = '3004',\n PANCAKESWAP_ETH_PROVIDER = '3005',\n ONEINCH_ETH_PROVIDER = '3006',\n ONEINCH_BSC_PROVIDER = '3007',\n ONEINCH_AVAX_PROVIDER = '3008',\n ZEROX_ETH_PROVIDER = '3009',\n WOOFI_AVAX_PROVIDER = '3010',\n PANGOLIN_AVAX_PROVIDER = '3011',\n TRADERJOE_AVAX_PROVIDER = '3012',\n KYBER_ETH_PROVIDER = '3013',\n KYBER_AVAX_PROVIDER = '3014',\n WOOFI_BSC_PROVIDER = '3015',\n STARGATE_PROVIDER = '3016',\n // Utilities\n PROVIDER_UTIL = '4000',\n // Aggregator\n TXN_DETAILS = '5000',\n // AirDrop\n AIRDROP_UTIL = '6000',\n}\n\nexport enum ERROR_CODE {\n // 10xx - Generic\n INVALID_INPUT_PARAMETERS = '1000',\n UNKNOWN_PROVIDERS = '1001',\n CANNOT_FIND_INBOUND_ADDRESS = '1002',\n NO_INBOUND_ADDRESSES = '1003',\n CHAIN_HALTED_OR_UNSUPPORTED = '1004',\n MISSING_INPUT_PARAMETER = '1005',\n // 11xx - Type error\n INVALID_TYPE_GENERIC = '1100',\n INVALID_NUMBER_STRING = '1101',\n INVALID_NUMBER = '1102',\n INVALID_BOOLEAN = '1103',\n INVALID_OBJECT = '1104',\n INVALID_ARRAY = '1105',\n // 20xx - Quote request parameters\n SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2000',\n SELL_BUY_ASSETS_ARE_THE_SAME = '2001',\n MISSING_SOURCE_ADDRESS_FOR_SYNTH = '2002',\n AFF_ADDRESS_AND_BPS_OR_NEITHER = '2003',\n AFF_ADDRESS_TOO_LONG = '2004',\n AFF_BPS_INTEGER_MAX_500 = '2005',\n SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = '2006',\n DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = '2007',\n PREFERRED_PROVIDER_NOT_SUPPORTED = '2008',\n DESTINATION_ADDRESS_SMART_CONTRACT = '2009',\n BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',\n SOURCE_ADDRESS_SMART_CONTRACT = '2011',\n // 21xx - Quote request providers issue\n INVALID_PROVIDER = '2100',\n MISSING_CROSS_CHAIN_PROVIDER = '2101',\n MISSING_AVAX_PROVIDER = '2102',\n MISSING_BSC_PROVIDER = '2103',\n MISSING_ETH_PROVIDER = '2104',\n INVALID_PROVIDER_FOR_SWAP_OUT = '2105',\n MISSING_ARB_PROVIDER = '2106',\n // 22xx - Quote request assets issue\n INVALID_CHAIN = '2200',\n INVALID_ASSET = '2201',\n INVALID_ASSET_IDENTIFIER = '2202',\n UNSUPPORTED_CHAIN = '2204',\n UNSUPPORTED_ASSET = '2203',\n UNSUPPORTED_ASSET_FOR_SWAPOUT = '2205',\n // 23xx - Invalid addresses\n INVALID_SOURCE_ADDRESS = '2300',\n INVALID_DESTINATION_ADDRESS = '2301',\n // 30xx - Thorchain\n THORNODE_QUOTE_GENERIC_ERROR = '3000',\n NOT_ENOUGH_SYNTH_BALANCE = '3001',\n SYNTH_MINTING_CAP_REACHED = '3002',\n // 40xx - Code logic error (not the client's fault)\n INVALID_QUOTE_MODE = '4000',\n NO_QUOTES = '4001',\n // 50xx - Service unavailable\n SERVICE_UNAVAILABLE_GENERIC = '5000',\n // 51xx - Missing gas data\n MISSING_GAS_DATA_GENERIC = '5100',\n // 52xx - Missing token info\n MISSING_TOKEN_INFO_GENERIC = '5200',\n CANT_FIND_TOKEN_LIST = '5201',\n NO_PRICE = '5202',\n PRICE_IS_STALE = '5203',\n // 60xx - Airdrop\n ADDRESS_NOT_WHITELISTED = '6000',\n ADDRESS_ALREADY_CLAIMED = '6001',\n // 90xx - Unhandled\n TEMPORARY_ERROR = '9999', // use only when waiting for a PR to be merged\n}\n\nexport type ErrorInfo = {\n status: number;\n revision: string;\n type?: ERROR_TYPE;\n module: ERROR_MODULE;\n code: ERROR_CODE;\n message?: string | undefined;\n stack?: string;\n identifier?: string;\n options?: ApiErrorOptions;\n displayMessageParams?: string[];\n};\n\nexport type ApiErrorOptions = {\n shouldLog?: boolean;\n shouldTrace?: boolean;\n shouldThrow?: boolean;\n};\n","import { ERROR_CODE } from './types.ts';\n\nexport const ERROR_DISPLAY_MESSAGES: Record<string, string> = {\n [ERROR_CODE.INVALID_INPUT_PARAMETERS]: 'Invalid input parameters: {0}.',\n [ERROR_CODE.UNKNOWN_PROVIDERS]: 'Unknown providers: {0}.',\n [ERROR_CODE.CANNOT_FIND_INBOUND_ADDRESS]: 'Cannot find inbound address.',\n [ERROR_CODE.NO_INBOUND_ADDRESSES]: 'No inbound addresses.',\n [ERROR_CODE.CHAIN_HALTED_OR_UNSUPPORTED]: 'Chain {0} halted or unsupported.',\n [ERROR_CODE.MISSING_INPUT_PARAMETER]: 'Missing input parameter: {0}.',\n [ERROR_CODE.INVALID_TYPE_GENERIC]: 'Invalid type',\n [ERROR_CODE.INVALID_NUMBER_STRING]: 'Invalid number string.',\n [ERROR_CODE.INVALID_NUMBER]: 'Invalid number.',\n [ERROR_CODE.INVALID_BOOLEAN]: 'Invalid boolean.',\n [ERROR_CODE.INVALID_OBJECT]: 'Invalid object.',\n [ERROR_CODE.INVALID_ARRAY]: 'Invalid array.',\n [ERROR_CODE.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Sell amount must be a positive integer.',\n [ERROR_CODE.SELL_BUY_ASSETS_ARE_THE_SAME]: 'Sell and buy assets are the same.',\n [ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',\n [ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:\n 'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',\n [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 3 characters max.',\n [ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:\n 'affiliateBasisPoints must be an integer between 0 and 100.',\n [ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',\n [ERROR_CODE.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:\n 'Destination address {0} invalid for buy chain.',\n [ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',\n [ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',\n [ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',\n [ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',\n [ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',\n [ERROR_CODE.MISSING_CROSS_CHAIN_PROVIDER]: 'Missing cross-chain provider.',\n [ERROR_CODE.MISSING_AVAX_PROVIDER]: 'Missing AVAX provider.',\n [ERROR_CODE.MISSING_BSC_PROVIDER]: 'Missing BSC provider.',\n [ERROR_CODE.MISSING_ETH_PROVIDER]: 'Missing ETH provider.',\n [ERROR_CODE.MISSING_ARB_PROVIDER]: 'Missing ARB provider.',\n [ERROR_CODE.INVALID_PROVIDER_FOR_SWAP_OUT]: 'Invalid provider for swap out.',\n [ERROR_CODE.INVALID_CHAIN]: 'Invalid chain {0}.',\n [ERROR_CODE.INVALID_ASSET]: 'Invalid asset {0}.',\n [ERROR_CODE.UNSUPPORTED_CHAIN]: 'Unsupported chain {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET]: 'Unsupported asset {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET_FOR_SWAPOUT]: 'Unsupported asset {0} for swap out.',\n [ERROR_CODE.THORNODE_QUOTE_GENERIC_ERROR]: 'ThorNode quote generic error.',\n [ERROR_CODE.INVALID_SOURCE_ADDRESS]: 'Invalid source address {0}',\n [ERROR_CODE.INVALID_DESTINATION_ADDRESS]: 'Invalid destination address {0}',\n [ERROR_CODE.NOT_ENOUGH_SYNTH_BALANCE]:\n \"Source address doesn't have enough synth balance for this quote.\",\n [ERROR_CODE.SYNTH_MINTING_CAP_REACHED]: 'Synth minting cap reached.',\n [ERROR_CODE.INVALID_QUOTE_MODE]: 'Invalid quote mode.',\n [ERROR_CODE.NO_QUOTES]: 'No quotes to service this request.',\n [ERROR_CODE.SERVICE_UNAVAILABLE_GENERIC]: 'Service unavailable.',\n [ERROR_CODE.MISSING_GAS_DATA_GENERIC]: 'Missing gas data.',\n [ERROR_CODE.MISSING_TOKEN_INFO_GENERIC]: 'Missing token info.',\n [ERROR_CODE.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [ERROR_CODE.NO_PRICE]: 'No price for asset {0}.',\n [ERROR_CODE.PRICE_IS_STALE]: 'Price is stale for asset {0}.',\n [ERROR_CODE.ADDRESS_NOT_WHITELISTED]: 'Address {0} not whitelisted for airdrop.',\n [ERROR_CODE.ADDRESS_ALREADY_CLAIMED]: 'Address {0} already claimed the airdrop.',\n};\n\nexport const getDisplayMessage = (code: ERROR_CODE, displayMessageParams: string[]) => {\n let displayMessage = ERROR_DISPLAY_MESSAGES[code];\n\n if (!displayMessage) return '';\n\n for (let i = 0; i < displayMessageParams.length; i++) {\n displayMessage = displayMessage?.replace(`{${i}}`, displayMessageParams[i]) ?? '';\n }\n\n return displayMessage;\n};\n","import { getDisplayMessage } from './displayMessages.ts';\nimport type { ApiErrorOptions, ERROR_CODE, ERROR_MODULE, ErrorInfo } from './types.ts';\nimport { ERROR_TYPE } from './types.ts';\n\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly revision: string;\n public readonly type?: ERROR_TYPE;\n public readonly module: ERROR_MODULE;\n public readonly code: ERROR_CODE;\n public readonly message: string;\n public readonly display: string;\n public readonly stack?: string;\n public readonly options: ApiErrorOptions;\n public readonly displayMessageParams?: string[];\n\n constructor({\n status,\n revision,\n module,\n code,\n message,\n type,\n options: { shouldLog, shouldThrow, shouldTrace } = {\n shouldLog: true,\n shouldThrow: true,\n shouldTrace: true,\n },\n displayMessageParams,\n }: ErrorInfo) {\n const safeMessage = message || getDisplayMessage(code, displayMessageParams || []) || '';\n super(safeMessage);\n\n this.status = status;\n this.revision = revision || 'NO_REVISION';\n this.module = module;\n this.message = safeMessage;\n this.display = getDisplayMessage(code, displayMessageParams || []);\n this.code = code;\n this.type = type || ERROR_TYPE.UNHANDLED_ERROR;\n this.options = {\n shouldLog: shouldLog || true,\n shouldTrace: shouldTrace || true,\n shouldThrow: shouldThrow || false,\n };\n this.displayMessageParams = displayMessageParams || [];\n\n if (this.options.shouldTrace) Error.captureStackTrace(this);\n }\n\n public static fromErrorInfo(errorInfo: ErrorInfo): ApiError {\n return new ApiError(errorInfo);\n }\n\n public toErrorInfo(): ErrorInfo {\n return { ...this, identifier: this.identifier };\n }\n\n public get identifier(): string {\n return `${this.revision}-${this.type || 'NO_TYPE'}-${this.module}-${this.code}`;\n }\n\n public get displayMessage(): string {\n return getDisplayMessage(this.code, this.displayMessageParams || []);\n }\n\n public handle() {\n const message = `[${this.identifier}]: ${this.message}`;\n\n if (this.options.shouldLog) console.error(message, '\\n', this.stack || '');\n if (this.options.shouldThrow) throw Error(message, { cause: this.stack });\n\n return this.toErrorInfo();\n }\n}\n","export enum Chain {\n Arbitrum = 'ARB',\n Avalanche = 'AVAX',\n Binance = 'BNB',\n BinanceSmartChain = 'BSC',\n Bitcoin = 'BTC',\n BitcoinCash = 'BCH',\n Cosmos = 'GAIA',\n Dogecoin = 'DOGE',\n Ethereum = 'ETH',\n Kujira = 'KUJI',\n Litecoin = 'LTC',\n Maya = 'MAYA',\n Optimism = 'OP',\n Polygon = 'MATIC',\n THORChain = 'THOR',\n}\ntype ChainNameType = keyof typeof Chain;\n\nexport enum ContractAddress {\n ARB = '0x0000000000000000000000000000000000000000',\n AVAX = '0x0000000000000000000000000000000000000000',\n ETH = '0x0000000000000000000000000000000000000000',\n BSC = '0x0000000000000000000000000000000000000000',\n MATIC = '0x0000000000000000000000000000000000001010',\n OP = '0x4200000000000000000000000000000000000042',\n}\n\nexport enum DerivationPath {\n ARB = \"m/44'/60'/0'/0\",\n AVAX = \"m/44'/60'/0'/0\",\n BCH = \"m/44'/145'/0'/0\",\n BNB = \"m/44'/714'/0'/0\",\n BSC = \"m/44'/60'/0'/0\",\n BTC = \"m/84'/0'/0'/0\",\n DOGE = \"m/44'/3'/0'/0\",\n ETH = \"m/44'/60'/0'/0\",\n GAIA = \"m/44'/118'/0'/0\",\n KUJI = \"m/44'/118'/0'/0\",\n LTC = \"m/84'/2'/0'/0\",\n MATIC = \"m/44'/60'/0'/0\",\n MAYA = \"m/44'/931'/0'/0\",\n OP = \"m/44'/60'/0'/0\",\n THOR = \"m/44'/931'/0'/0\",\n}\n\nexport type DerivationPathArray = [number, number, number, number, number];\n\nexport const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {\n ARB: [44, 60, 0, 0, 0],\n AVAX: [44, 60, 0, 0, 0],\n BCH: [44, 145, 0, 0, 0],\n BNB: [44, 714, 0, 0, 0],\n BSC: [44, 60, 0, 0, 0],\n BTC: [84, 0, 0, 0, 0],\n DOGE: [44, 3, 0, 0, 0],\n ETH: [44, 60, 0, 0, 0],\n GAIA: [44, 118, 0, 0, 0],\n KUJI: [44, 118, 0, 0, 0],\n LTC: [84, 2, 0, 0, 0],\n MATIC: [44, 60, 0, 0, 0],\n MAYA: [44, 931, 0, 0, 0],\n OP: [44, 60, 0, 0, 0],\n THOR: [44, 931, 0, 0, 0],\n};\n\nexport enum BaseDecimal {\n ARB = 18,\n AVAX = 18,\n BCH = 8,\n BNB = 8,\n BSC = 18,\n BTC = 8,\n DASH = 8,\n DOGE = 8,\n ETH = 18,\n GAIA = 6,\n KUJI = 6,\n LTC = 8,\n MATIC = 18,\n MAYA = 10,\n OP = 18,\n THOR = 8,\n}\n\nexport type EVMChain =\n | Chain.Ethereum\n | Chain.Avalanche\n | Chain.BinanceSmartChain\n | Chain.Arbitrum\n | Chain.Optimism\n | Chain.Polygon;\n\nexport const EVMChainList: EVMChain[] = [\n Chain.Ethereum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Arbitrum,\n Chain.Optimism,\n Chain.Polygon,\n];\n\nexport type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dogecoin | Chain.Litecoin;\n\nexport const UTXOChainList: UTXOChain[] = [\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Dogecoin,\n Chain.Litecoin,\n];\n\nexport type CosmosChain =\n | Chain.Cosmos\n | Chain.THORChain\n | Chain.Binance\n | Chain.Maya\n | Chain.Kujira;\n\nexport const CosmosChainList: CosmosChain[] = [Chain.Cosmos, Chain.THORChain, Chain.Binance];\n\nexport const TCSupportedChainList = [\n Chain.Avalanche,\n Chain.Binance,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Litecoin,\n Chain.THORChain,\n];\n\nexport enum ChainId {\n Arbitrum = '42161',\n ArbitrumHex = '0xa4b1',\n Avalanche = '43114',\n AvalancheHex = '0xa86a',\n Binance = 'Binance-Chain-Tigris',\n BinanceSmartChain = '56',\n BinanceSmartChainHex = '0x38',\n Bitcoin = 'bitcoin',\n BitcoinCash = 'bitcoincash',\n Cosmos = 'cosmoshub-4',\n Dogecoin = 'dogecoin',\n Kujira = 'kaiyo-1',\n Ethereum = '1',\n EthereumHex = '0x1',\n Litecoin = 'litecoin',\n Maya = 'mayachain-mainnet-v1',\n MayaStagenet = 'mayachain-stagenet-v1',\n Optimism = '10',\n OptimismHex = '0xa',\n Polygon = '137',\n PolygonHex = '0x89',\n THORChain = 'thorchain-mainnet-v1',\n THORChainStagenet = 'thorchain-stagenet-v2',\n}\n\nexport enum RPCUrl {\n Arbitrum = 'https://arb1.arbitrum.io/rpc',\n Avalanche = 'https://node-router.thorswap.net/avalanche-c',\n Binance = '',\n BinanceSmartChain = 'https://bsc-dataseed.binance.org',\n Bitcoin = 'https://node-router.thorswap.net/bitcoin',\n BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',\n Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',\n Kujira = 'https://rpc-kujira.synergynodes.com/',\n Dogecoin = 'https://node-router.thorswap.net/dogecoin',\n Ethereum = 'https://node-router.thorswap.net/ethereum',\n Litecoin = 'https://node-router.thorswap.net/litecoin',\n Maya = 'https://tendermint.mayachain.info',\n MayaStagenet = 'https://stagenet.tendermint.mayachain.info',\n Optimism = 'https://mainnet.optimism.io',\n Polygon = 'https://polygon-rpc.com',\n THORChain = 'https://rpc.thorswap.net',\n THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',\n}\n\nexport enum ApiUrl {\n Cosmos = 'https://node-router.thorswap.net/cosmos/rest',\n Kujira = 'https://lcd-kujira.synergynodes.com/',\n MayanodeMainnet = 'https://mayanode.mayachain.info',\n MayanodeStagenet = 'https://stagenet.mayanode.mayachain.info',\n ThornodeMainnet = 'https://thornode.thorswap.net',\n ThornodeStagenet = 'https://stagenet-thornode.ninerealms.com',\n ThorswapApi = 'https://api.thorswap.net',\n ThorswapStatic = 'https://static.thorswap.net',\n}\n\nconst chains = Object.values(Chain) as Chain[];\nconst chainNames = Object.keys(Chain) as ChainNameType[];\n\nconst ChainToChainName = chains.reduce(\n (acc, chain) => {\n const chainName = chainNames.find((key) => Chain[key as ChainNameType] === chain);\n\n if (chainName) acc[chain] = chainName;\n\n return acc;\n },\n {} as { [key in Chain]: ChainNameType },\n);\n\nexport const ChainToChainId = chains.reduce(\n (acc, chain) => {\n acc[chain] = ChainId[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainToRPC = chains.reduce(\n (acc, chain) => {\n acc[chain] = RPCUrl[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: RPCUrl },\n);\n\nexport const ChainToHexChainId = chains.reduce(\n (acc, chain) => {\n const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;\n\n acc[chain] = ChainId[chainString];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainIdToChain: Record<ChainId, Chain> = {\n [ChainId.ArbitrumHex]: Chain.Arbitrum,\n [ChainId.Arbitrum]: Chain.Arbitrum,\n [ChainId.AvalancheHex]: Chain.Avalanche,\n [ChainId.Avalanche]: Chain.Avalanche,\n [ChainId.BinanceSmartChainHex]: Chain.BinanceSmartChain,\n [ChainId.BinanceSmartChain]: Chain.BinanceSmartChain,\n [ChainId.Binance]: Chain.Binance,\n [ChainId.BitcoinCash]: Chain.BitcoinCash,\n [ChainId.Bitcoin]: Chain.Bitcoin,\n [ChainId.Cosmos]: Chain.Cosmos,\n [ChainId.Dogecoin]: Chain.Dogecoin,\n [ChainId.EthereumHex]: Chain.Ethereum,\n [ChainId.Kujira]: Chain.Kujira,\n [ChainId.Ethereum]: Chain.Ethereum,\n [ChainId.Litecoin]: Chain.Litecoin,\n [ChainId.MayaStagenet]: Chain.Maya,\n [ChainId.Maya]: Chain.Maya,\n [ChainId.OptimismHex]: Chain.Optimism,\n [ChainId.Optimism]: Chain.Optimism,\n [ChainId.PolygonHex]: Chain.Polygon,\n [ChainId.Polygon]: Chain.Polygon,\n [ChainId.THORChainStagenet]: Chain.THORChain,\n [ChainId.THORChain]: Chain.THORChain,\n};\n\nexport const ChainToExplorerUrl: Record<Chain, string> = {\n [Chain.Arbitrum]: 'https://arbiscan.io',\n [Chain.Avalanche]: 'https://snowtrace.io',\n [Chain.BinanceSmartChain]: 'https://bscscan.com',\n [Chain.Binance]: 'https://explorer.binance.org',\n [Chain.BitcoinCash]: 'https://www.blockchair.com/bitcoin-cash',\n [Chain.Bitcoin]: 'https://blockchair.com/bitcoin',\n [Chain.Cosmos]: 'https://cosmos.bigdipper.live',\n [Chain.Dogecoin]: 'https://blockchair.com/dogecoin',\n [Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',\n [Chain.Ethereum]: 'https://etherscan.io',\n [Chain.Litecoin]: 'https://blockchair.com/litecoin',\n [Chain.Maya]: 'https://www.mayascan.org',\n [Chain.Optimism]: 'https://optimistic.etherscan.io',\n [Chain.Polygon]: 'https://polygonscan.com',\n [Chain.THORChain]: 'https://runescan.io',\n};\n","export type GetAddressAndPubKeyResponse = {\n bech32_address: string;\n compressed_pk: any;\n error_message: string;\n return_code: number;\n};\n\nexport type Signature = {\n pub_key: {\n type: string;\n value: string;\n };\n sequence: string;\n signature: string;\n};\n\nexport enum MemoType {\n BOND = 'BOND',\n DEPOSIT = '+',\n LEAVE = 'LEAVE',\n THORNAME_REGISTER = '~',\n UNBOND = 'UNBOND',\n WITHDRAW = '-',\n OPEN_LOAN = '$+',\n CLOSE_LOAN = '$-',\n}\n","export enum FeeOption {\n Average = 'average',\n Fast = 'fast',\n Fastest = 'fastest',\n}\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string; // optional memo to pass\n recipient: string;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n","export enum WalletOption {\n 'KEYSTORE' = 'KEYSTORE',\n 'KEEPKEY' = 'KEEPKEY',\n 'XDEFI' = 'XDEFI',\n 'METAMASK' = 'METAMASK',\n 'COINBASE_WEB' = 'COINBASE_WEB',\n 'TREZOR' = 'TREZOR',\n 'TRUSTWALLET_WEB' = 'TRUSTWALLET_WEB',\n 'LEDGER' = 'LEDGER',\n 'KEPLR' = 'KEPLR',\n 'OKX' = 'OKX',\n 'OKX_MOBILE' = 'OKX_MOBILE',\n 'BRAVE' = 'BRAVE',\n 'WALLETCONNECT' = 'WALLETCONNECT',\n}\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB;\n\nexport enum LedgerErrorCode {\n NoError = 0x9000,\n LockedDevice = 0x5515,\n TC_NotFound = 65535,\n}\n"],"names":["erc20ABI","TCEthereumVaultAbi","TCAvalancheDepositABI","TCBscDepositABI","QuoteMode","AGG_SWAP","SWAP_IN","SWAP_OUT","ERROR_TYPE","ERROR_MODULE","ERROR_CODE","ERROR_DISPLAY_MESSAGES","getDisplayMessage","code","displayMessageParams","displayMessage","i","ApiError","status","revision","module","message","type","shouldLog","shouldThrow","shouldTrace","safeMessage","__publicField","errorInfo","Chain","ContractAddress","DerivationPath","NetworkDerivationPath","BaseDecimal","EVMChainList","UTXOChainList","CosmosChainList","TCSupportedChainList","ChainId","RPCUrl","ApiUrl","chains","chainNames","ChainToChainName","acc","chain","chainName","key","ChainToChainId","ChainToRPC","ChainToHexChainId","chainString","ChainIdToChain","ChainToExplorerUrl","MemoType","FeeOption","WalletOption","LedgerErrorCode"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/abis/erc20.ts","../src/abis/tcEthVault.ts","../src/commonTypes.ts","../src/errors/types.ts","../src/errors/displayMessages.ts","../src/errors/apiError.ts","../src/network.ts","../src/thorchain.ts","../src/transactions.ts","../src/wallet.ts"],"sourcesContent":["export const erc20ABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'spender', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Approval',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'from', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Transfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'spender', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'from', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n];\n","export const TCEthereumVaultAbi = [\n {\n inputs: [{ internalType: 'address', name: 'rune', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [],\n name: 'RUNE',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'aggregator', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCAvalancheDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCBscDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n","import type { Chain, CosmosChain, EVMChain, UTXOChain } from './network.ts';\nimport type { WalletOption } from './wallet.ts';\n\ntype ConnectMethodNames =\n | 'connectEVMWallet'\n | 'connectKeplr'\n | 'connectKeystore'\n | 'connectKeepkey'\n | 'connectLedger'\n | 'connectOkx'\n | 'connectTrezor'\n | 'connectWalletconnect'\n | 'connectXDEFI';\n\ntype ChainWallet = {\n address: string;\n balance: any[];\n walletType: WalletOption;\n};\n\nexport type ConnectConfig = {\n stagenet?: boolean;\n /**\n * @required\n */\n thorswapApiKey?: string;\n /**\n * @required for AVAX & BSC\n */\n covalentApiKey?: string;\n /**\n * @required for ETH\n */\n ethplorerApiKey?: string;\n /**\n * @required for BTC, BCH, LTC, DOGE\n */\n blockchairApiKey?: string;\n /**\n * @deprecated - use blockchairApiKey instead\n */\n utxoApiKey?: string;\n /**\n * @required for Walletconnect\n */\n walletConnectProjectId?: string;\n /**\n * @optional for Trezor config\n */\n trezorManifest?: {\n email: string;\n appUrl: string;\n };\n /**\n * @optional for KeepKey config\n */\n keepkeyConfig?: {\n apiKey: string;\n pairingInfo: {\n name: string;\n imageUrl: string;\n basePath: string;\n url: string;\n };\n };\n};\n\nexport type AddChainWalletParams = {\n chain: Chain;\n wallet: ChainWallet;\n walletMethods: any;\n};\n\nexport type Witness = {\n value: number;\n script: Buffer;\n};\n\ntype ApisType = { [key in UTXOChain]?: string | any } & {\n [key in EVMChain]?: string | any;\n} & {\n [key in CosmosChain]?: string;\n};\n\nexport type ConnectWalletParams = {\n addChain: (params: AddChainWalletParams) => void;\n config: ConnectConfig;\n rpcUrls: { [chain in Chain]?: string };\n apis: ApisType;\n};\n\nexport type ExtendParams<WalletConnectMethodNames = ''> = {\n excludedChains?: Chain[];\n config?: ConnectConfig;\n rpcUrls?: { [chain in Chain]?: string };\n apis?: ApisType;\n wallets: {\n connectMethodName: ConnectMethodNames | WalletConnectMethodNames;\n connect: (params: ConnectWalletParams) => (...params: any) => Promise<any>;\n }[];\n};\n\nexport enum QuoteMode {\n TC_SUPPORTED_TO_TC_SUPPORTED = 'TC-TC',\n TC_SUPPORTED_TO_ETH = 'TC-ERC20',\n TC_SUPPORTED_TO_AVAX = 'TC-ARC20',\n TC_SUPPORTED_TO_BSC = 'TC-BEP20',\n ETH_TO_TC_SUPPORTED = 'ERC20-TC',\n ETH_TO_ETH = 'ERC20-ERC20',\n ETH_TO_AVAX = 'ERC20-ARC20',\n ETH_TO_BSC = 'ERC20-BEP20',\n AVAX_TO_TC_SUPPORTED = 'ARC20-TC',\n AVAX_TO_ETH = 'ARC20-ERC20',\n AVAX_TO_AVAX = 'ARC20-ARC20',\n AVAX_TO_BSC = 'ARC20-BEP20',\n BSC_TO_TC_SUPPORTED = 'BEP20-TC',\n BSC_TO_ETH = 'BEP20-ERC20',\n BSC_TO_AVAX = 'BEP20-ARC20',\n BSC_TO_BSC = 'BEP20-BEP20',\n}\n\nexport type Asset = {\n chain: Chain;\n symbol: string;\n ticker: string;\n synth?: boolean;\n};\n\nexport const AGG_SWAP = [QuoteMode.ETH_TO_ETH, QuoteMode.AVAX_TO_AVAX, QuoteMode.BSC_TO_BSC];\n\nexport const SWAP_IN = [\n QuoteMode.ETH_TO_TC_SUPPORTED,\n QuoteMode.ETH_TO_AVAX,\n QuoteMode.ETH_TO_BSC,\n QuoteMode.AVAX_TO_TC_SUPPORTED,\n QuoteMode.AVAX_TO_ETH,\n QuoteMode.AVAX_TO_BSC,\n QuoteMode.BSC_TO_TC_SUPPORTED,\n QuoteMode.BSC_TO_ETH,\n QuoteMode.BSC_TO_AVAX,\n];\n\nexport const SWAP_OUT = [\n QuoteMode.TC_SUPPORTED_TO_TC_SUPPORTED,\n QuoteMode.TC_SUPPORTED_TO_ETH,\n QuoteMode.TC_SUPPORTED_TO_AVAX,\n QuoteMode.TC_SUPPORTED_TO_BSC,\n];\n","export enum ERROR_TYPE {\n VALIDATION_ERROR = 'VALIDATION_ERROR',\n REQUEST_PARAMETER_ERROR = 'REQUEST_PARAMETER_ERROR',\n RESPONSE_PARSING_ERROR = 'RESPONSE_PARSING_ERROR',\n UNSUPPORTED = 'UNSUPPORTED',\n NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',\n INCOMPATIBLE_ASSETS_OPERATIONS = 'INCOMPATIBLE_ASSETS_OPERATIONS',\n SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',\n DOWN_FOR_MAINTENANCE = 'DOWN_FOR_MAINTENANCE',\n MISSING_INBOUND_INFO = 'MISSING_INBOUND_INFO',\n QUOTE_FETCHING_ERROR = 'QUOTE_FETCHING_ERROR',\n AIRDROP_ERROR = 'AIRDROP_ERROR',\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n}\n\nexport enum ERROR_MODULE {\n // Controllers\n HEALTH_CONTROLLER = '1000',\n LIQUIDITY_CONTROLLER = '1001',\n PROVIDER_CONTROLLER = '1002',\n QUOTE_CONTROLLER = '1003',\n SWAP_CONTROLLER = '1004',\n UTIL_CONTROLLER = '1005',\n AIRDROP_CONTROLLER = '1006',\n // Entities\n PROVIDER = '2000',\n ASSET = '2001',\n TOKEN_LIST = '2002',\n // Quote entities\n QUOTE = '2100',\n QUOTE_TXN_DETAILS = '2101',\n // Providers\n THORCHAIN_PROVIDER = '3000',\n UNISWAPV2_ETH_PROVIDER = '3001',\n UNISWAPV3_ETH_PROVIDER = '3002',\n SUSHISWAP_ETH_PROVIDER = '3003',\n PANCAKESWAP_BSC_PROVIDER = '3004',\n PANCAKESWAP_ETH_PROVIDER = '3005',\n ONEINCH_ETH_PROVIDER = '3006',\n ONEINCH_BSC_PROVIDER = '3007',\n ONEINCH_AVAX_PROVIDER = '3008',\n ZEROX_ETH_PROVIDER = '3009',\n WOOFI_AVAX_PROVIDER = '3010',\n PANGOLIN_AVAX_PROVIDER = '3011',\n TRADERJOE_AVAX_PROVIDER = '3012',\n KYBER_ETH_PROVIDER = '3013',\n KYBER_AVAX_PROVIDER = '3014',\n WOOFI_BSC_PROVIDER = '3015',\n STARGATE_PROVIDER = '3016',\n // Utilities\n PROVIDER_UTIL = '4000',\n // Aggregator\n TXN_DETAILS = '5000',\n // AirDrop\n AIRDROP_UTIL = '6000',\n}\n\nexport enum ERROR_CODE {\n // 10xx - Generic\n INVALID_INPUT_PARAMETERS = '1000',\n UNKNOWN_PROVIDERS = '1001',\n CANNOT_FIND_INBOUND_ADDRESS = '1002',\n NO_INBOUND_ADDRESSES = '1003',\n CHAIN_HALTED_OR_UNSUPPORTED = '1004',\n MISSING_INPUT_PARAMETER = '1005',\n // 11xx - Type error\n INVALID_TYPE_GENERIC = '1100',\n INVALID_NUMBER_STRING = '1101',\n INVALID_NUMBER = '1102',\n INVALID_BOOLEAN = '1103',\n INVALID_OBJECT = '1104',\n INVALID_ARRAY = '1105',\n // 20xx - Quote request parameters\n SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2000',\n SELL_BUY_ASSETS_ARE_THE_SAME = '2001',\n MISSING_SOURCE_ADDRESS_FOR_SYNTH = '2002',\n AFF_ADDRESS_AND_BPS_OR_NEITHER = '2003',\n AFF_ADDRESS_TOO_LONG = '2004',\n AFF_BPS_INTEGER_MAX_500 = '2005',\n SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = '2006',\n DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = '2007',\n PREFERRED_PROVIDER_NOT_SUPPORTED = '2008',\n DESTINATION_ADDRESS_SMART_CONTRACT = '2009',\n BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',\n SOURCE_ADDRESS_SMART_CONTRACT = '2011',\n SWAP_AMOUNT_TOO_LOW = '2012',\n // 21xx - Quote request providers issue\n INVALID_PROVIDER = '2100',\n MISSING_CROSS_CHAIN_PROVIDER = '2101',\n MISSING_AVAX_PROVIDER = '2102',\n MISSING_BSC_PROVIDER = '2103',\n MISSING_ETH_PROVIDER = '2104',\n INVALID_PROVIDER_FOR_SWAP_OUT = '2105',\n MISSING_ARB_PROVIDER = '2106',\n // 22xx - Quote request assets issue\n INVALID_CHAIN = '2200',\n INVALID_ASSET = '2201',\n INVALID_ASSET_IDENTIFIER = '2202',\n UNSUPPORTED_CHAIN = '2204',\n UNSUPPORTED_ASSET = '2203',\n UNSUPPORTED_ASSET_FOR_SWAPOUT = '2205',\n // 23xx - Invalid addresses\n INVALID_SOURCE_ADDRESS = '2300',\n INVALID_DESTINATION_ADDRESS = '2301',\n // 30xx - Thorchain\n THORNODE_QUOTE_GENERIC_ERROR = '3000',\n NOT_ENOUGH_SYNTH_BALANCE = '3001',\n SYNTH_MINTING_CAP_REACHED = '3002',\n // 40xx - Code logic error (not the client's fault)\n INVALID_QUOTE_MODE = '4000',\n NO_QUOTES = '4001',\n // 50xx - Service unavailable\n SERVICE_UNAVAILABLE_GENERIC = '5000',\n // 51xx - Missing gas data\n MISSING_GAS_DATA_GENERIC = '5100',\n // 52xx - Missing token info\n MISSING_TOKEN_INFO_GENERIC = '5200',\n CANT_FIND_TOKEN_LIST = '5201',\n NO_PRICE = '5202',\n PRICE_IS_STALE = '5203',\n // 60xx - Airdrop\n ADDRESS_NOT_WHITELISTED = '6000',\n ADDRESS_ALREADY_CLAIMED = '6001',\n // 90xx - Unhandled\n TEMPORARY_ERROR = '9999', // use only when waiting for a PR to be merged\n}\n\nexport type ErrorInfo = {\n status: number;\n revision: string;\n type?: ERROR_TYPE;\n module: ERROR_MODULE;\n code: ERROR_CODE;\n message?: string | undefined;\n stack?: string;\n identifier?: string;\n options?: ApiErrorOptions;\n displayMessageParams?: string[];\n};\n\nexport type ApiErrorOptions = {\n shouldLog?: boolean;\n shouldTrace?: boolean;\n shouldThrow?: boolean;\n};\n","import { ERROR_CODE } from './types.ts';\n\nexport const ERROR_DISPLAY_MESSAGES: Record<string, string> = {\n [ERROR_CODE.INVALID_INPUT_PARAMETERS]: 'Invalid input parameters: {0}.',\n [ERROR_CODE.UNKNOWN_PROVIDERS]: 'Unknown providers: {0}.',\n [ERROR_CODE.CANNOT_FIND_INBOUND_ADDRESS]: 'Cannot find inbound address.',\n [ERROR_CODE.NO_INBOUND_ADDRESSES]: 'No inbound addresses.',\n [ERROR_CODE.CHAIN_HALTED_OR_UNSUPPORTED]: 'Chain {0} halted or unsupported.',\n [ERROR_CODE.MISSING_INPUT_PARAMETER]: 'Missing input parameter: {0}.',\n [ERROR_CODE.INVALID_TYPE_GENERIC]: 'Invalid type',\n [ERROR_CODE.INVALID_NUMBER_STRING]: 'Invalid number string.',\n [ERROR_CODE.INVALID_NUMBER]: 'Invalid number.',\n [ERROR_CODE.INVALID_BOOLEAN]: 'Invalid boolean.',\n [ERROR_CODE.INVALID_OBJECT]: 'Invalid object.',\n [ERROR_CODE.INVALID_ARRAY]: 'Invalid array.',\n [ERROR_CODE.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Sell amount must be a positive integer.',\n [ERROR_CODE.SELL_BUY_ASSETS_ARE_THE_SAME]: 'Sell and buy assets are the same.',\n [ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',\n [ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:\n 'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',\n [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 4 characters max.',\n [ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:\n 'affiliateBasisPoints must be an integer between 0 and 100.',\n [ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',\n [ERROR_CODE.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:\n 'Destination address {0} invalid for buy chain.',\n [ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',\n [ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',\n [ERROR_CODE.SWAP_AMOUNT_TOO_LOW]: 'Swap amount too low for this pair.',\n [ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',\n [ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',\n [ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',\n [ERROR_CODE.MISSING_CROSS_CHAIN_PROVIDER]: 'Missing cross-chain provider.',\n [ERROR_CODE.MISSING_AVAX_PROVIDER]: 'Missing AVAX provider.',\n [ERROR_CODE.MISSING_BSC_PROVIDER]: 'Missing BSC provider.',\n [ERROR_CODE.MISSING_ETH_PROVIDER]: 'Missing ETH provider.',\n [ERROR_CODE.MISSING_ARB_PROVIDER]: 'Missing ARB provider.',\n [ERROR_CODE.INVALID_PROVIDER_FOR_SWAP_OUT]: 'Invalid provider for swap out.',\n [ERROR_CODE.INVALID_CHAIN]: 'Invalid chain {0}.',\n [ERROR_CODE.INVALID_ASSET]: 'Invalid asset {0}.',\n [ERROR_CODE.UNSUPPORTED_CHAIN]: 'Unsupported chain {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET]: 'Unsupported asset {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET_FOR_SWAPOUT]: 'Unsupported asset {0} for swap out.',\n [ERROR_CODE.THORNODE_QUOTE_GENERIC_ERROR]: 'ThorNode quote generic error.',\n [ERROR_CODE.INVALID_SOURCE_ADDRESS]: 'Invalid source address {0}',\n [ERROR_CODE.INVALID_DESTINATION_ADDRESS]: 'Invalid destination address {0}',\n [ERROR_CODE.NOT_ENOUGH_SYNTH_BALANCE]:\n \"Source address doesn't have enough synth balance for this quote.\",\n [ERROR_CODE.SYNTH_MINTING_CAP_REACHED]: 'Synth minting cap reached.',\n [ERROR_CODE.INVALID_QUOTE_MODE]: 'Invalid quote mode.',\n [ERROR_CODE.NO_QUOTES]: 'No quotes to service this request.',\n [ERROR_CODE.SERVICE_UNAVAILABLE_GENERIC]: 'Service unavailable.',\n [ERROR_CODE.MISSING_GAS_DATA_GENERIC]: 'Missing gas data.',\n [ERROR_CODE.MISSING_TOKEN_INFO_GENERIC]: 'Missing token info.',\n [ERROR_CODE.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [ERROR_CODE.NO_PRICE]: 'No price for asset {0}.',\n [ERROR_CODE.PRICE_IS_STALE]: 'Price is stale for asset {0}.',\n [ERROR_CODE.ADDRESS_NOT_WHITELISTED]: 'Address {0} not whitelisted for airdrop.',\n [ERROR_CODE.ADDRESS_ALREADY_CLAIMED]: 'Address {0} already claimed the airdrop.',\n};\n\nexport const getDisplayMessage = (code: ERROR_CODE, displayMessageParams: string[]) => {\n let displayMessage = ERROR_DISPLAY_MESSAGES[code];\n\n if (!displayMessage) return '';\n\n for (let i = 0; i < displayMessageParams.length; i++) {\n displayMessage = displayMessage?.replace(`{${i}}`, displayMessageParams[i]) ?? '';\n }\n\n return displayMessage;\n};\n","import { getDisplayMessage } from './displayMessages.ts';\nimport type { ApiErrorOptions, ERROR_CODE, ERROR_MODULE, ErrorInfo } from './types.ts';\nimport { ERROR_TYPE } from './types.ts';\n\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly revision: string;\n public readonly type?: ERROR_TYPE;\n public readonly module: ERROR_MODULE;\n public readonly code: ERROR_CODE;\n public readonly message: string;\n public readonly display: string;\n public readonly stack?: string;\n public readonly options: ApiErrorOptions;\n public readonly displayMessageParams?: string[];\n\n constructor({\n status,\n revision,\n module,\n code,\n message,\n type,\n options: { shouldLog, shouldThrow, shouldTrace } = {\n shouldLog: true,\n shouldThrow: true,\n shouldTrace: true,\n },\n displayMessageParams,\n }: ErrorInfo) {\n const safeMessage = message || getDisplayMessage(code, displayMessageParams || []) || '';\n super(safeMessage);\n\n this.status = status;\n this.revision = revision || 'NO_REVISION';\n this.module = module;\n this.message = safeMessage;\n this.display = getDisplayMessage(code, displayMessageParams || []);\n this.code = code;\n this.type = type || ERROR_TYPE.UNHANDLED_ERROR;\n this.options = {\n shouldLog: shouldLog || true,\n shouldTrace: shouldTrace || true,\n shouldThrow: shouldThrow || false,\n };\n this.displayMessageParams = displayMessageParams || [];\n\n if (this.options.shouldTrace) Error.captureStackTrace(this);\n }\n\n public static fromErrorInfo(errorInfo: ErrorInfo): ApiError {\n return new ApiError(errorInfo);\n }\n\n public toErrorInfo(): ErrorInfo {\n return { ...this, identifier: this.identifier };\n }\n\n public get identifier(): string {\n return `${this.revision}-${this.type || 'NO_TYPE'}-${this.module}-${this.code}`;\n }\n\n public get displayMessage(): string {\n return getDisplayMessage(this.code, this.displayMessageParams || []);\n }\n\n public handle() {\n const message = `[${this.identifier}]: ${this.message}`;\n\n if (this.options.shouldLog) console.error(message, '\\n', this.stack || '');\n if (this.options.shouldThrow) throw Error(message, { cause: this.stack });\n\n return this.toErrorInfo();\n }\n}\n","export enum Chain {\n Arbitrum = 'ARB',\n Avalanche = 'AVAX',\n Binance = 'BNB',\n BinanceSmartChain = 'BSC',\n Bitcoin = 'BTC',\n BitcoinCash = 'BCH',\n Cosmos = 'GAIA',\n Dogecoin = 'DOGE',\n Ethereum = 'ETH',\n Kujira = 'KUJI',\n Litecoin = 'LTC',\n Maya = 'MAYA',\n Optimism = 'OP',\n Polygon = 'MATIC',\n THORChain = 'THOR',\n}\ntype ChainNameType = keyof typeof Chain;\n\nexport enum ContractAddress {\n ARB = '0x0000000000000000000000000000000000000000',\n AVAX = '0x0000000000000000000000000000000000000000',\n ETH = '0x0000000000000000000000000000000000000000',\n BSC = '0x0000000000000000000000000000000000000000',\n MATIC = '0x0000000000000000000000000000000000001010',\n OP = '0x4200000000000000000000000000000000000042',\n}\n\nexport enum DerivationPath {\n ARB = \"m/44'/60'/0'/0\",\n AVAX = \"m/44'/60'/0'/0\",\n BCH = \"m/44'/145'/0'/0\",\n BNB = \"m/44'/714'/0'/0\",\n BSC = \"m/44'/60'/0'/0\",\n BTC = \"m/84'/0'/0'/0\",\n DOGE = \"m/44'/3'/0'/0\",\n ETH = \"m/44'/60'/0'/0\",\n GAIA = \"m/44'/118'/0'/0\",\n KUJI = \"m/44'/118'/0'/0\",\n LTC = \"m/84'/2'/0'/0\",\n MATIC = \"m/44'/60'/0'/0\",\n MAYA = \"m/44'/931'/0'/0\",\n OP = \"m/44'/60'/0'/0\",\n THOR = \"m/44'/931'/0'/0\",\n}\n\nexport type DerivationPathArray = [number, number, number, number, number];\n\nexport const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {\n ARB: [44, 60, 0, 0, 0],\n AVAX: [44, 60, 0, 0, 0],\n BCH: [44, 145, 0, 0, 0],\n BNB: [44, 714, 0, 0, 0],\n BSC: [44, 60, 0, 0, 0],\n BTC: [84, 0, 0, 0, 0],\n DOGE: [44, 3, 0, 0, 0],\n ETH: [44, 60, 0, 0, 0],\n GAIA: [44, 118, 0, 0, 0],\n KUJI: [44, 118, 0, 0, 0],\n LTC: [84, 2, 0, 0, 0],\n MATIC: [44, 60, 0, 0, 0],\n MAYA: [44, 931, 0, 0, 0],\n OP: [44, 60, 0, 0, 0],\n THOR: [44, 931, 0, 0, 0],\n};\n\nexport enum BaseDecimal {\n ARB = 18,\n AVAX = 18,\n BCH = 8,\n BNB = 8,\n BSC = 18,\n BTC = 8,\n DASH = 8,\n DOGE = 8,\n ETH = 18,\n GAIA = 6,\n KUJI = 6,\n LTC = 8,\n MATIC = 18,\n MAYA = 10,\n OP = 18,\n THOR = 8,\n}\n\nexport type EVMChain =\n | Chain.Ethereum\n | Chain.Avalanche\n | Chain.BinanceSmartChain\n | Chain.Arbitrum\n | Chain.Optimism\n | Chain.Polygon;\n\nexport const EVMChainList: EVMChain[] = [\n Chain.Ethereum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Arbitrum,\n Chain.Optimism,\n Chain.Polygon,\n];\n\nexport type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dogecoin | Chain.Litecoin;\n\nexport const UTXOChainList: UTXOChain[] = [\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Dogecoin,\n Chain.Litecoin,\n];\n\nexport type CosmosChain =\n | Chain.Cosmos\n | Chain.THORChain\n | Chain.Binance\n | Chain.Maya\n | Chain.Kujira;\n\nexport const CosmosChainList: CosmosChain[] = [Chain.Cosmos, Chain.THORChain, Chain.Binance];\n\nexport const TCSupportedChainList = [\n Chain.Avalanche,\n Chain.Binance,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Litecoin,\n Chain.THORChain,\n];\n\nexport enum ChainId {\n Arbitrum = '42161',\n ArbitrumHex = '0xa4b1',\n Avalanche = '43114',\n AvalancheHex = '0xa86a',\n Binance = 'Binance-Chain-Tigris',\n BinanceSmartChain = '56',\n BinanceSmartChainHex = '0x38',\n Bitcoin = 'bitcoin',\n BitcoinCash = 'bitcoincash',\n Cosmos = 'cosmoshub-4',\n Dogecoin = 'dogecoin',\n Kujira = 'kaiyo-1',\n Ethereum = '1',\n EthereumHex = '0x1',\n Litecoin = 'litecoin',\n Maya = 'mayachain-mainnet-v1',\n MayaStagenet = 'mayachain-stagenet-v1',\n Optimism = '10',\n OptimismHex = '0xa',\n Polygon = '137',\n PolygonHex = '0x89',\n THORChain = 'thorchain-mainnet-v1',\n THORChainStagenet = 'thorchain-stagenet-v2',\n}\n\nexport enum RPCUrl {\n Arbitrum = 'https://arb1.arbitrum.io/rpc',\n Avalanche = 'https://node-router.thorswap.net/avalanche-c',\n Binance = '',\n BinanceSmartChain = 'https://bsc-dataseed.binance.org',\n Bitcoin = 'https://node-router.thorswap.net/bitcoin',\n BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',\n Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',\n Kujira = 'https://rpc-kujira.synergynodes.com/',\n Dogecoin = 'https://node-router.thorswap.net/dogecoin',\n Ethereum = 'https://node-router.thorswap.net/ethereum',\n Litecoin = 'https://node-router.thorswap.net/litecoin',\n Maya = 'https://tendermint.mayachain.info',\n MayaStagenet = 'https://stagenet.tendermint.mayachain.info',\n Optimism = 'https://mainnet.optimism.io',\n Polygon = 'https://polygon-rpc.com',\n THORChain = 'https://rpc.thorswap.net',\n THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',\n}\n\nexport enum ApiUrl {\n Cosmos = 'https://node-router.thorswap.net/cosmos/rest',\n Kujira = 'https://lcd-kujira.synergynodes.com/',\n MayanodeMainnet = 'https://mayanode.mayachain.info',\n MayanodeStagenet = 'https://stagenet.mayanode.mayachain.info',\n ThornodeMainnet = 'https://thornode.thorswap.net',\n ThornodeStagenet = 'https://stagenet-thornode.ninerealms.com',\n ThorswapApi = 'https://api.thorswap.net',\n ThorswapStatic = 'https://static.thorswap.net',\n}\n\nconst chains = Object.values(Chain) as Chain[];\nconst chainNames = Object.keys(Chain) as ChainNameType[];\n\nconst ChainToChainName = chains.reduce(\n (acc, chain) => {\n const chainName = chainNames.find((key) => Chain[key as ChainNameType] === chain);\n\n if (chainName) acc[chain] = chainName;\n\n return acc;\n },\n {} as { [key in Chain]: ChainNameType },\n);\n\nexport const ChainToChainId = chains.reduce(\n (acc, chain) => {\n acc[chain] = ChainId[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainToRPC = chains.reduce(\n (acc, chain) => {\n acc[chain] = RPCUrl[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: RPCUrl },\n);\n\nexport const ChainToHexChainId = chains.reduce(\n (acc, chain) => {\n const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;\n\n acc[chain] = ChainId[chainString];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainIdToChain: Record<ChainId, Chain> = {\n [ChainId.ArbitrumHex]: Chain.Arbitrum,\n [ChainId.Arbitrum]: Chain.Arbitrum,\n [ChainId.AvalancheHex]: Chain.Avalanche,\n [ChainId.Avalanche]: Chain.Avalanche,\n [ChainId.BinanceSmartChainHex]: Chain.BinanceSmartChain,\n [ChainId.BinanceSmartChain]: Chain.BinanceSmartChain,\n [ChainId.Binance]: Chain.Binance,\n [ChainId.BitcoinCash]: Chain.BitcoinCash,\n [ChainId.Bitcoin]: Chain.Bitcoin,\n [ChainId.Cosmos]: Chain.Cosmos,\n [ChainId.Dogecoin]: Chain.Dogecoin,\n [ChainId.EthereumHex]: Chain.Ethereum,\n [ChainId.Kujira]: Chain.Kujira,\n [ChainId.Ethereum]: Chain.Ethereum,\n [ChainId.Litecoin]: Chain.Litecoin,\n [ChainId.MayaStagenet]: Chain.Maya,\n [ChainId.Maya]: Chain.Maya,\n [ChainId.OptimismHex]: Chain.Optimism,\n [ChainId.Optimism]: Chain.Optimism,\n [ChainId.PolygonHex]: Chain.Polygon,\n [ChainId.Polygon]: Chain.Polygon,\n [ChainId.THORChainStagenet]: Chain.THORChain,\n [ChainId.THORChain]: Chain.THORChain,\n};\n\nexport const ChainToExplorerUrl: Record<Chain, string> = {\n [Chain.Arbitrum]: 'https://arbiscan.io',\n [Chain.Avalanche]: 'https://snowtrace.io',\n [Chain.BinanceSmartChain]: 'https://bscscan.com',\n [Chain.Binance]: 'https://explorer.binance.org',\n [Chain.BitcoinCash]: 'https://www.blockchair.com/bitcoin-cash',\n [Chain.Bitcoin]: 'https://blockchair.com/bitcoin',\n [Chain.Cosmos]: 'https://cosmos.bigdipper.live',\n [Chain.Dogecoin]: 'https://blockchair.com/dogecoin',\n [Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',\n [Chain.Ethereum]: 'https://etherscan.io',\n [Chain.Litecoin]: 'https://blockchair.com/litecoin',\n [Chain.Maya]: 'https://www.mayascan.org',\n [Chain.Optimism]: 'https://optimistic.etherscan.io',\n [Chain.Polygon]: 'https://polygonscan.com',\n [Chain.THORChain]: 'https://runescan.io',\n};\n","export type GetAddressAndPubKeyResponse = {\n bech32_address: string;\n compressed_pk: any;\n error_message: string;\n return_code: number;\n};\n\nexport type Signature = {\n pub_key: {\n type: string;\n value: string;\n };\n sequence: string;\n signature: string;\n};\n\nexport enum MemoType {\n BOND = 'BOND',\n DEPOSIT = '+',\n LEAVE = 'LEAVE',\n THORNAME_REGISTER = '~',\n UNBOND = 'UNBOND',\n WITHDRAW = '-',\n OPEN_LOAN = '$+',\n CLOSE_LOAN = '$-',\n}\n","export enum FeeOption {\n Average = 'average',\n Fast = 'fast',\n Fastest = 'fastest',\n}\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string; // optional memo to pass\n recipient: string;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n","export enum WalletOption {\n 'KEYSTORE' = 'KEYSTORE',\n 'KEEPKEY' = 'KEEPKEY',\n 'XDEFI' = 'XDEFI',\n 'METAMASK' = 'METAMASK',\n 'COINBASE_WEB' = 'COINBASE_WEB',\n 'TREZOR' = 'TREZOR',\n 'TRUSTWALLET_WEB' = 'TRUSTWALLET_WEB',\n 'LEDGER' = 'LEDGER',\n 'KEPLR' = 'KEPLR',\n 'OKX' = 'OKX',\n 'OKX_MOBILE' = 'OKX_MOBILE',\n 'BRAVE' = 'BRAVE',\n 'WALLETCONNECT' = 'WALLETCONNECT',\n}\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB;\n\nexport enum LedgerErrorCode {\n NoError = 0x9000,\n LockedDevice = 0x5515,\n TC_NotFound = 65535,\n}\n"],"names":["erc20ABI","TCEthereumVaultAbi","TCAvalancheDepositABI","TCBscDepositABI","QuoteMode","AGG_SWAP","SWAP_IN","SWAP_OUT","ERROR_TYPE","ERROR_MODULE","ERROR_CODE","ERROR_DISPLAY_MESSAGES","getDisplayMessage","code","displayMessageParams","displayMessage","i","ApiError","status","revision","module","message","type","shouldLog","shouldThrow","shouldTrace","safeMessage","__publicField","errorInfo","Chain","ContractAddress","DerivationPath","NetworkDerivationPath","BaseDecimal","EVMChainList","UTXOChainList","CosmosChainList","TCSupportedChainList","ChainId","RPCUrl","ApiUrl","chains","chainNames","ChainToChainName","acc","chain","chainName","key","ChainToChainId","ChainToRPC","ChainToHexChainId","chainString","ChainIdToChain","ChainToExplorerUrl","MemoType","FeeOption","WalletOption","LedgerErrorCode"],"mappings":"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"}
package/package.json CHANGED
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "type": "module",
34
34
  "types": "./dist/index.d.ts",
35
- "version": "1.0.0-rc.34",
35
+ "version": "1.0.0-rc.35",
36
36
  "scripts": {
37
37
  "build": "vite build",
38
38
  "clean": "rm -rf dist vite.config.ts.* .turbo node_modules",
@@ -18,7 +18,7 @@ export const ERROR_DISPLAY_MESSAGES: Record<string, string> = {
18
18
  [ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',
19
19
  [ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:
20
20
  'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',
21
- [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 3 characters max.',
21
+ [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 4 characters max.',
22
22
  [ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:
23
23
  'affiliateBasisPoints must be an integer between 0 and 100.',
24
24
  [ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',
@@ -26,6 +26,7 @@ export const ERROR_DISPLAY_MESSAGES: Record<string, string> = {
26
26
  'Destination address {0} invalid for buy chain.',
27
27
  [ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',
28
28
  [ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',
29
+ [ERROR_CODE.SWAP_AMOUNT_TOO_LOW]: 'Swap amount too low for this pair.',
29
30
  [ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',
30
31
  [ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',
31
32
  [ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',
@@ -83,6 +83,7 @@ export enum ERROR_CODE {
83
83
  DESTINATION_ADDRESS_SMART_CONTRACT = '2009',
84
84
  BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',
85
85
  SOURCE_ADDRESS_SMART_CONTRACT = '2011',
86
+ SWAP_AMOUNT_TOO_LOW = '2012',
86
87
  // 21xx - Quote request providers issue
87
88
  INVALID_PROVIDER = '2100',
88
89
  MISSING_CROSS_CHAIN_PROVIDER = '2101',