@swapkit/core 1.0.0-rc.71 → 1.0.0-rc.73

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../types/dist/index.es.js","../../helpers/dist/index.es.js","../src/aggregator/contracts/avaxGeneric.ts","../src/aggregator/contracts/avaxWoofi.ts","../src/aggregator/contracts/bscGeneric.ts","../src/aggregator/contracts/ethGeneric.ts","../src/aggregator/contracts/pancakeV2.ts","../src/aggregator/contracts/pangolin.ts","../src/aggregator/contracts/sushiswap.ts","../src/aggregator/contracts/traderJoe.ts","../src/aggregator/contracts/uniswapV2.ts","../src/aggregator/contracts/uniswapV2Leg.ts","../src/aggregator/contracts/uniswapV3_100.ts","../src/aggregator/contracts/uniswapV3_500.ts","../src/aggregator/contracts/uniswapV3_3000.ts","../src/aggregator/contracts/uniswapV3_10000.ts","../src/aggregator/contracts/index.ts","../src/aggregator/getSwapParams.ts","../src/client/explorerUrls.ts","../src/client/thornode.ts","../src/client/index.ts"],"sourcesContent":["var C = Object.defineProperty;\nvar g = (e, n, a) => n in e ? C(e, n, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[n] = a;\nvar s = (e, n, a) => (g(e, typeof n != \"symbol\" ? n + \"\" : n, a), a);\nconst G = [\n { inputs: [], stateMutability: \"nonpayable\", type: \"constructor\" },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"spender\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"value\", type: \"uint256\" }\n ],\n name: \"Approval\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"from\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, 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], U = [\n {\n inputs: [{ internalType: \"address\", name: \"rune\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferAllowance\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOut\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"target\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"address\", name: \"finalAsset\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOutAndCall\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, 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: !1,\n internalType: \"struct THORChain_Router.Coin[]\",\n name: \"coins\",\n type: \"tuple[]\"\n },\n { indexed: !1, 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], w = [\n { inputs: [], stateMutability: \"nonpayable\", type: \"constructor\" },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferAllowance\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOut\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"target\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"address\", name: \"finalAsset\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOutAndCall\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, 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: !1,\n internalType: \"struct AvaxRouter.Coin[]\",\n name: \"coins\",\n type: \"tuple[]\"\n },\n { indexed: !1, 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], F = [\n { inputs: [], stateMutability: \"nonpayable\", type: \"constructor\" },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferAllowance\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOut\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"target\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"address\", name: \"finalAsset\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOutAndCall\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, 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: !1,\n internalType: \"struct THORChain_Router.Coin[]\",\n name: \"coins\",\n type: \"tuple[]\"\n },\n { indexed: !1, 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];\nvar h = /* @__PURE__ */ ((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))(h || {});\nconst X = [\n \"ERC20-ERC20\",\n \"ARC20-ARC20\",\n \"BEP20-BEP20\"\n /* BSC_TO_BSC */\n], K = [\n \"ERC20-TC\",\n \"ERC20-ARC20\",\n \"ERC20-BEP20\",\n \"ARC20-TC\",\n \"ARC20-ERC20\",\n \"ARC20-BEP20\",\n \"BEP20-TC\",\n \"BEP20-ERC20\",\n \"BEP20-ARC20\"\n /* BSC_TO_AVAX */\n], k = [\n \"TC-TC\",\n \"TC-ERC20\",\n \"TC-ARC20\",\n \"TC-BEP20\"\n /* TC_SUPPORTED_TO_BSC */\n];\nvar 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 || {}), O = /* @__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))(O || {}), 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 || {});\nconst V = {\n [t.INVALID_INPUT_PARAMETERS]: \"Invalid input parameters: {0}.\",\n [t.UNKNOWN_PROVIDERS]: \"Unknown providers: {0}.\",\n [t.CANNOT_FIND_INBOUND_ADDRESS]: \"Cannot find inbound address.\",\n [t.NO_INBOUND_ADDRESSES]: \"No inbound addresses.\",\n [t.CHAIN_HALTED_OR_UNSUPPORTED]: \"Chain {0} halted or unsupported.\",\n [t.MISSING_INPUT_PARAMETER]: \"Missing input parameter: {0}.\",\n [t.INVALID_TYPE_GENERIC]: \"Invalid type\",\n [t.INVALID_NUMBER_STRING]: \"Invalid number string.\",\n [t.INVALID_NUMBER]: \"Invalid number.\",\n [t.INVALID_BOOLEAN]: \"Invalid boolean.\",\n [t.INVALID_OBJECT]: \"Invalid object.\",\n [t.INVALID_ARRAY]: \"Invalid array.\",\n [t.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: \"Sell amount must be a positive integer.\",\n [t.SELL_BUY_ASSETS_ARE_THE_SAME]: \"Sell and buy assets are the same.\",\n [t.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: \"Source address is required for synth quote.\",\n [t.AFF_ADDRESS_AND_BPS_OR_NEITHER]: \"Must provide affiliateAddress and affiliateBasisPoints params, or neither.\",\n [t.AFF_ADDRESS_TOO_LONG]: \"affiliateAddress too long: 3 characters max.\",\n [t.AFF_BPS_INTEGER_MAX_500]: \"affiliateBasisPoints must be an integer between 0 and 100.\",\n [t.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: \"Source address {0} invalid for sell chain.\",\n [t.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]: \"Destination address {0} invalid for buy chain.\",\n [t.PREFERRED_PROVIDER_NOT_SUPPORTED]: \"Preferred provider not supported.\",\n [t.DESTINATION_ADDRESS_SMART_CONTRACT]: \"Destination address is a smart contract.\",\n [t.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: \"Buy amount must be a positive integer.\",\n [t.INVALID_PROVIDER]: \"Invalid provider {0}.\",\n [t.MISSING_CROSS_CHAIN_PROVIDER]: \"Missing cross-chain provider.\",\n [t.MISSING_AVAX_PROVIDER]: \"Missing AVAX provider.\",\n [t.MISSING_BSC_PROVIDER]: \"Missing BSC provider.\",\n [t.MISSING_ETH_PROVIDER]: \"Missing ETH provider.\",\n [t.MISSING_ARB_PROVIDER]: \"Missing ARB provider.\",\n [t.INVALID_PROVIDER_FOR_SWAP_OUT]: \"Invalid provider for swap out.\",\n [t.INVALID_CHAIN]: \"Invalid chain {0}.\",\n [t.INVALID_ASSET]: \"Invalid asset {0}.\",\n [t.UNSUPPORTED_CHAIN]: \"Unsupported chain {0}.\",\n [t.UNSUPPORTED_ASSET]: \"Unsupported asset {0}.\",\n [t.UNSUPPORTED_ASSET_FOR_SWAPOUT]: \"Unsupported asset {0} for swap out.\",\n [t.THORNODE_QUOTE_GENERIC_ERROR]: \"ThorNode quote generic error.\",\n [t.INVALID_SOURCE_ADDRESS]: \"Invalid source address {0}\",\n [t.INVALID_DESTINATION_ADDRESS]: \"Invalid destination address {0}\",\n [t.NOT_ENOUGH_SYNTH_BALANCE]: \"Source address doesn't have enough synth balance for this quote.\",\n [t.SYNTH_MINTING_CAP_REACHED]: \"Synth minting cap reached.\",\n [t.INVALID_QUOTE_MODE]: \"Invalid quote mode.\",\n [t.NO_QUOTES]: \"No quotes to service this request.\",\n [t.SERVICE_UNAVAILABLE_GENERIC]: \"Service unavailable.\",\n [t.MISSING_GAS_DATA_GENERIC]: \"Missing gas data.\",\n [t.MISSING_TOKEN_INFO_GENERIC]: \"Missing token info.\",\n [t.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [t.NO_PRICE]: \"No price for asset {0}.\",\n [t.PRICE_IS_STALE]: \"Price is stale for asset {0}.\",\n [t.ADDRESS_NOT_WHITELISTED]: \"Address {0} not whitelisted for airdrop.\",\n [t.ADDRESS_ALREADY_CLAIMED]: \"Address {0} already claimed the airdrop.\"\n}, u = (e, n) => {\n let a = V[e];\n for (let r = 0; r < n.length; r++)\n a = a.replace(`{${r}}`, n[r]);\n return n.length === 0 ? a.replace(\"{0}\", \"\") : a;\n};\nclass A extends Error {\n constructor({\n status: a,\n revision: r,\n module: S,\n code: d,\n message: _,\n type: N,\n options: { shouldLog: E, shouldThrow: c, shouldTrace: f } = {\n shouldLog: !0,\n shouldThrow: !0,\n shouldTrace: !0\n },\n displayMessageParams: y\n }) {\n const l = _ || u(d, y || []) || \"\";\n super(l);\n s(this, \"status\");\n s(this, \"revision\");\n s(this, \"type\");\n s(this, \"module\");\n s(this, \"code\");\n s(this, \"message\");\n s(this, \"display\");\n s(this, \"stack\");\n s(this, \"options\");\n s(this, \"displayMessageParams\");\n this.status = a, 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 = {\n shouldLog: E || !0,\n shouldTrace: f || !0,\n shouldThrow: c || !1\n }, this.displayMessageParams = y || [], this.options.shouldTrace && Error.captureStackTrace(this);\n }\n static fromErrorInfo(a) {\n return new A(a);\n }\n toErrorInfo() {\n return { ...this, identifier: this.identifier };\n }\n get identifier() {\n return `${this.revision}-${this.type || \"NO_TYPE\"}-${this.module}-${this.code}`;\n }\n get displayMessage() {\n return u(this.code, this.displayMessageParams || []);\n }\n handle() {\n const a = `[${this.identifier}]: ${this.message}`;\n if (this.options.shouldLog && console.error(a, `\n`, this.stack || \"\"), this.options.shouldThrow)\n throw Error(a, { cause: this.stack });\n return this.toErrorInfo();\n }\n}\nvar 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 || {});\nconst W = {\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};\nvar 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 || {});\nconst Y = [\n \"ETH\",\n \"AVAX\",\n \"BSC\",\n \"ARB\",\n \"OP\",\n \"MATIC\"\n /* Polygon */\n], j = [\n \"BTC\",\n \"BCH\",\n \"DOGE\",\n \"LTC\"\n /* Litecoin */\n], J = [\n \"GAIA\",\n \"THOR\",\n \"BNB\"\n /* Binance */\n], $ = [\n \"AVAX\",\n \"BNB\",\n \"BSC\",\n \"BTC\",\n \"BCH\",\n \"GAIA\",\n \"DOGE\",\n \"ETH\",\n \"LTC\",\n \"THOR\"\n /* THORChain */\n];\nvar T = /* @__PURE__ */ ((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))(T || {}), I = /* @__PURE__ */ ((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))(I || {}), x = /* @__PURE__ */ ((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))(x || {});\nconst p = Object.values(i), H = Object.keys(i), o = p.reduce(\n (e, n) => {\n const a = H.find((r) => i[r] === n);\n return a && (e[n] = a), e;\n },\n {}\n), q = p.reduce(\n (e, n) => (e[n] = T[o[n]], e),\n {}\n), Z = p.reduce(\n (e, n) => (e[n] = I[o[n]], e),\n {}\n), z = p.reduce(\n (e, n) => {\n const a = `${o[n]}Hex`;\n return e[n] = T[a], e;\n },\n {}\n), Q = {\n \"0xa4b1\": \"ARB\",\n 42161: \"ARB\",\n \"0xa86a\": \"AVAX\",\n 43114: \"AVAX\",\n \"0x38\": \"BSC\",\n 56: \"BSC\",\n \"Binance-Chain-Tigris\": \"BNB\",\n bitcoincash: \"BCH\",\n bitcoin: \"BTC\",\n \"cosmoshub-4\": \"GAIA\",\n dogecoin: \"DOGE\",\n \"0x1\": \"ETH\",\n \"kaiyo-1\": \"KUJI\",\n 1: \"ETH\",\n litecoin: \"LTC\",\n \"mayachain-stagenet-v1\": \"MAYA\",\n \"mayachain-mainnet-v1\": \"MAYA\",\n \"0xa\": \"OP\",\n 10: \"OP\",\n \"0x89\": \"MATIC\",\n 137: \"MATIC\",\n \"thorchain-stagenet-v2\": \"THOR\",\n \"thorchain-mainnet-v1\": \"THOR\"\n /* THORChain */\n}, ee = {\n ARB: \"https://arbiscan.io\",\n AVAX: \"https://snowtrace.io\",\n BSC: \"https://bscscan.com\",\n BNB: \"https://explorer.binance.org\",\n BCH: \"https://www.blockchair.com/bitcoin-cash\",\n BTC: \"https://blockchair.com/bitcoin\",\n GAIA: \"https://cosmos.bigdipper.live\",\n DOGE: \"https://blockchair.com/dogecoin\",\n KUJI: \"https://finder.kujira.network/kaiyo-1\",\n ETH: \"https://etherscan.io\",\n LTC: \"https://blockchair.com/litecoin\",\n MAYA: \"https://www.mayascan.org\",\n OP: \"https://optimistic.etherscan.io\",\n MATIC: \"https://polygonscan.com\",\n THOR: \"https://runescan.io\"\n};\nvar L = /* @__PURE__ */ ((e) => (e[e.NoError = 36864] = \"NoError\", e))(L || {}), 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 || {}), R = /* @__PURE__ */ ((e) => (e.KEYSTORE = \"KEYSTORE\", e.XDEFI = \"XDEFI\", e.METAMASK = \"METAMASK\", e.COINBASE_WEB = \"COINBASE_WEB\", e.TREZOR = \"TREZOR\", e.TRUSTWALLET_WEB = \"TRUSTWALLET_WEB\", e.LEDGER = \"LEDGER\", e.KEPLR = \"KEPLR\", e.OKX = \"OKX\", e.OKX_MOBILE = \"OKX_MOBILE\", e.BRAVE = \"BRAVE\", e.WALLETCONNECT = \"WALLETCONNECT\", e))(R || {});\nexport {\n X as AGG_SWAP,\n A as ApiError,\n x as ApiUrl,\n b as BaseDecimal,\n i as Chain,\n T as ChainId,\n Q as ChainIdToChain,\n q as ChainToChainId,\n ee as ChainToExplorerUrl,\n z as ChainToHexChainId,\n Z as ChainToRPC,\n P as ContractAddress,\n J as CosmosChainList,\n B as DerivationPath,\n t as ERROR_CODE,\n O as ERROR_MODULE,\n m as ERROR_TYPE,\n Y as EVMChainList,\n L as ErrorCode,\n D as FeeOption,\n v as MemoType,\n W as NetworkDerivationPath,\n h as QuoteMode,\n I as RPCUrl,\n K as SWAP_IN,\n k as SWAP_OUT,\n w as TCAvalancheDepositABI,\n F as TCBscDepositABI,\n U as TCEthereumVaultAbi,\n $ as TCSupportedChainList,\n j as UTXOChainList,\n R as WalletOption,\n G as erc20ABI\n};\n//# sourceMappingURL=index.es.js.map\n","var bt = Object.defineProperty;\nvar yt = (s, t, e) => t in s ? bt(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;\nvar f = (s, t, e) => (yt(s, typeof t != \"symbol\" ? t + \"\" : t, e), e), wt = (s, t, e) => {\n if (!t.has(s))\n throw TypeError(\"Cannot \" + e);\n};\nvar v = (s, t, e) => {\n if (t.has(s))\n throw TypeError(\"Cannot add the same private member more than once\");\n t instanceof WeakSet ? t.add(s) : t.set(s, e);\n};\nvar m = (s, t, e) => (wt(s, t, \"access private method\"), e);\nimport { FeeOption as U, BaseDecimal as d, Chain as o, EVMChainList as At, ChainToRPC as $t, MemoType as _ } from \"@swapkit/types\";\nconst vt = \"0x313ce567\", nt = async ({ chain: s, to: t }) => {\n try {\n const { result: e } = await Xt.post($t[s], {\n headers: {\n accept: \"*/*\",\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache\"\n },\n body: JSON.stringify({\n id: 44,\n jsonrpc: \"2.0\",\n method: \"eth_call\",\n params: [{ to: t.toLowerCase(), data: vt }, \"latest\"]\n })\n });\n return parseInt(BigInt(e).toString());\n } catch (e) {\n return console.error(e), d[s];\n }\n}, Tt = async (s) => {\n if (s === o.Ethereum)\n return d.ETH;\n const [, t] = s.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? nt({ chain: o.Ethereum, to: t }) : d.ETH;\n}, Ct = async (s) => {\n const [, t] = s.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? nt({ chain: o.Avalanche, to: t.toLowerCase() }) : d.AVAX;\n}, Rt = async (s) => s === o.BinanceSmartChain ? d.BSC : d.BSC, St = async ({ chain: s, symbol: t }) => {\n switch (s) {\n case o.Ethereum:\n return Tt(t);\n case o.Avalanche:\n return Ct(t);\n case o.BinanceSmartChain:\n return Rt(t);\n default:\n return d[s];\n }\n}, ne = {\n [U.Average]: 1.2,\n [U.Fast]: 1.5,\n [U.Fastest]: 2\n}, it = ({ chain: s, symbol: t }) => {\n switch (s) {\n case o.Bitcoin:\n case o.BitcoinCash:\n case o.Litecoin:\n case o.Dogecoin:\n case o.Binance:\n case o.Ethereum:\n case o.Avalanche:\n return t === s;\n case o.Arbitrum:\n case o.Optimism:\n return t === \"ETH\";\n case o.Maya:\n return t === \"CACAO\";\n case o.Kujira:\n return t === \"KUJI\";\n case o.Cosmos:\n return t === \"ATOM\";\n case o.Polygon:\n return t === \"MATIC\";\n case o.BinanceSmartChain:\n return t === \"BNB\";\n case o.THORChain:\n return t === \"RUNE\";\n }\n}, It = (s) => {\n switch (s) {\n case \"ETH.THOR\":\n return { identifier: \"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044\", decimal: 18 };\n case \"ETH.vTHOR\":\n return { identifier: \"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d\", decimal: 18 };\n case o.Cosmos:\n return { identifier: \"GAIA.ATOM\", decimal: d[s] };\n case o.THORChain:\n return { identifier: \"THOR.RUNE\", decimal: d[s] };\n case o.BinanceSmartChain:\n return { identifier: \"BSC.BNB\", decimal: d[s] };\n case o.Maya:\n return { identifier: \"MAYA.CACAO\", decimal: d.MAYA };\n case \"MAYA.MAYA\":\n return { identifier: \"MAYA.MAYA\", decimal: 4 };\n case o.Kujira:\n case o.Arbitrum:\n case o.Optimism:\n case o.BitcoinCash:\n case o.Litecoin:\n case o.Dogecoin:\n case o.Binance:\n case o.Avalanche:\n case o.Polygon:\n case o.Bitcoin:\n case o.Ethereum:\n return { identifier: `${s}.${s}`, decimal: d[s] };\n }\n}, Ot = ({ chain: s, symbol: t }) => {\n if (t.includes(\"/\"))\n return \"Synth\";\n switch (s) {\n case o.Bitcoin:\n case o.BitcoinCash:\n case o.Dogecoin:\n case o.Litecoin:\n case o.Maya:\n case o.THORChain:\n return \"Native\";\n case o.Cosmos:\n return t === \"ATOM\" ? \"Native\" : o.Cosmos;\n case o.Kujira:\n return t === o.Kujira ? \"Native\" : o.Kujira;\n case o.Binance:\n return t === o.Binance ? \"Native\" : \"BEP2\";\n case o.BinanceSmartChain:\n return t === o.Binance ? \"Native\" : \"BEP20\";\n case o.Ethereum:\n return t === o.Ethereum ? \"Native\" : \"ERC20\";\n case o.Avalanche:\n return t === o.Avalanche ? \"Native\" : o.Avalanche;\n case o.Polygon:\n return t === o.Polygon ? \"Native\" : \"POLYGON\";\n case o.Arbitrum:\n return [o.Ethereum, o.Arbitrum].includes(t) ? \"Native\" : \"ARBITRUM\";\n case o.Optimism:\n return [o.Ethereum, o.Optimism].includes(t) ? \"Native\" : \"OPTIMISM\";\n }\n}, ie = (s) => {\n var c;\n const [t, ...e] = s.split(\".\"), r = s.includes(\"/\"), n = e.join(\".\"), i = (c = n == null ? void 0 : n.split(\"-\")) == null ? void 0 : c[0];\n return { chain: t, symbol: n, ticker: i, synth: r };\n}, Et = new RegExp(\n /(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/,\n \"gmi\"\n), Bt = (s) => {\n const [t, e] = s.split(\".\");\n if (!At.includes(t))\n return !0;\n const [, r] = e.split(\"-\");\n return it({ chain: t, symbol: e }) || !!r;\n}, oe = (s) => s.filter((t) => {\n const e = `${t.chain}.${t.symbol}`;\n return !Et.test(e) && Bt(e) && t.value !== \"0\";\n});\nfunction Mt({\n liquidityUnits: s,\n poolUnits: t,\n runeDepth: e\n}) {\n const r = p(s), n = p(t), i = p(e), c = r.mul(i), a = n.mul(n).mul(2), u = n.mul(r).mul(2), l = r.mul(r), h = n.mul(n).mul(n);\n return c.mul(a.sub(u).add(l)).div(h);\n}\nfunction xt({\n liquidityUnits: s,\n poolUnits: t,\n assetDepth: e\n}) {\n const r = p(s), n = p(t), i = p(e), c = r.mul(i), a = n.mul(n).mul(2), u = n.mul(r).mul(2), l = r.mul(r), h = c.mul(a.sub(u).add(l)), $ = n.mul(n).mul(n);\n return h.div($);\n}\nfunction ae({\n percent: s,\n runeDepth: t,\n liquidityUnits: e,\n poolUnits: r\n}) {\n return Mt({ runeDepth: t, liquidityUnits: e, poolUnits: r }).mul(s);\n}\nfunction ce({\n percent: s,\n assetDepth: t,\n liquidityUnits: e,\n poolUnits: r\n}) {\n return xt({ assetDepth: t, liquidityUnits: e, poolUnits: r }).mul(s);\n}\nfunction p(s) {\n return g.fromBigInt(BigInt(s), d.THOR);\n}\nfunction qt({\n liquidityUnits: s,\n poolUnits: t,\n runeDepth: e,\n assetDepth: r\n}) {\n return {\n assetAmount: p(r).mul(s).div(t),\n runeAmount: p(e).mul(s).div(t)\n };\n}\nfunction ue({\n liquidityUnits: s,\n poolUnits: t,\n runeDepth: e,\n assetDepth: r,\n percent: n\n}) {\n return Object.fromEntries(\n Object.entries(qt({ liquidityUnits: s, poolUnits: t, runeDepth: e, assetDepth: r })).map(\n ([i, c]) => [i, c.mul(n)]\n )\n );\n}\nfunction le({\n runeDepth: s,\n poolUnits: t,\n assetDepth: e,\n liquidityUnits: r,\n runeAmount: n,\n assetAmount: i\n}) {\n const c = new g({ value: s, decimal: 8 }), a = new g({ value: e, decimal: 8 }), u = new g({ value: t, decimal: 8 }), l = new g({ value: n, decimal: 8 }), h = new g({ value: i, decimal: 8 }), $ = l.mul(a), H = h.mul(c), mt = l.mul(h), pt = c.mul(a), ft = u.mul($.add(H.add(mt.mul(2)))), _t = $.add(H.add(pt.mul(2))), Q = ft.div(_t), D = p(r).add(Q);\n if (Q.getBaseValue(\"number\") === 0)\n return D.div(u).getBaseValue(\"number\");\n const gt = u.add(D);\n return D.div(gt).getBaseValue(\"number\");\n}\nfunction he({\n runeAmount: s,\n assetAmount: t,\n runeDepth: e,\n assetDepth: r\n}) {\n if (s === \"0\" || t === \"0\" || e === \"0\" || r === \"0\")\n return 0;\n const n = p(e), i = p(r), c = p(t), a = p(s), u = c.mul(n).sub(i.mul(a)), l = i.mul(a).add(n.mul(i));\n return Math.abs(u.div(l).getBaseValue(\"number\"));\n}\nconst de = (s, t) => {\n switch (s) {\n case _.LEAVE:\n case _.BOND: {\n const { address: e } = t;\n return `${s}:${e}`;\n }\n case _.UNBOND: {\n const { address: e, unbondAmount: r } = t;\n return `${s}:${e}:${r * 10 ** 8}`;\n }\n case _.THORNAME_REGISTER: {\n const { name: e, chain: r, address: n, owner: i } = t;\n return `${s}:${e}:${r}:${n}${i ? `:${i}` : \"\"}`;\n }\n case _.DEPOSIT: {\n const { chain: e, symbol: r, address: n, singleSide: i } = t;\n return i ? `${s}:${e}/${r}::t:0` : `${s}:${((a, u) => {\n switch (a) {\n case o.Litecoin:\n return \"l\";\n case o.Dogecoin:\n return \"d\";\n case o.BitcoinCash:\n return \"c\";\n default:\n return `${a}.${u}`;\n }\n })(e, r)}:${n || \"\"}:t:0`;\n }\n case _.WITHDRAW: {\n const { chain: e, ticker: r, symbol: n, basisPoints: i, targetAssetString: c, singleSide: a } = t, u = e === \"ETH\" && r !== \"ETH\" ? `${r}-${n.slice(-3)}` : n, l = !a && c ? `:${c}` : \"\";\n return `${s}:${e}${a ? \"/\" : \".\"}${u}:${i}${l}`;\n }\n case _.OPEN_LOAN:\n case _.CLOSE_LOAN: {\n const { asset: e, address: r } = t;\n return `${s}:${e}:${r}`;\n }\n default:\n return \"\";\n }\n};\nfunction me(s) {\n if (s < 0)\n throw new Error(\"Invalid number of year\");\n return 10 + s;\n}\nfunction pe(s) {\n if (s.length > 30)\n return !1;\n const t = /^[a-zA-Z0-9+_-]+$/g;\n return !!s.match(t);\n}\nfunction fe([s, t, e, r, n]) {\n return `${s}'/${t}'/${e}'/${r}${typeof n != \"number\" ? \"\" : `/${n}`}`;\n}\nclass X extends Error {\n constructor(t, e, r) {\n const n = t.status || t.status === 0 ? t.status : \"\", i = t.statusText || \"\", c = `${n} ${i}`.trim(), a = c ? `status code ${c}` : \"an unknown error\";\n super(`Request failed with ${a}`), Object.defineProperty(this, \"response\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"request\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"options\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), this.name = \"HTTPError\", this.response = t, this.request = e, this.options = r;\n }\n}\nclass ot extends Error {\n constructor(t) {\n super(\"Request timed out\"), Object.defineProperty(this, \"request\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), this.name = \"TimeoutError\", this.request = t;\n }\n}\nconst q = (s) => s !== null && typeof s == \"object\", M = (...s) => {\n for (const t of s)\n if ((!q(t) || Array.isArray(t)) && t !== void 0)\n throw new TypeError(\"The `options` argument must be an object\");\n return J({}, ...s);\n}, at = (s = {}, t = {}) => {\n const e = new globalThis.Headers(s), r = t instanceof globalThis.Headers, n = new globalThis.Headers(t);\n for (const [i, c] of n.entries())\n r && c === \"undefined\" || c === void 0 ? e.delete(i) : e.set(i, c);\n return e;\n}, J = (...s) => {\n let t = {}, e = {};\n for (const r of s)\n if (Array.isArray(r))\n Array.isArray(t) || (t = []), t = [...t, ...r];\n else if (q(r)) {\n for (let [n, i] of Object.entries(r))\n q(i) && n in t && (i = J(t[n], i)), t = { ...t, [n]: i };\n q(r.headers) && (e = at(e, r.headers), t.headers = e);\n }\n return t;\n}, Vt = (() => {\n let s = !1, t = !1;\n const e = typeof globalThis.ReadableStream == \"function\", r = typeof globalThis.Request == \"function\";\n return e && r && (t = new globalThis.Request(\"https://empty.invalid\", {\n body: new globalThis.ReadableStream(),\n method: \"POST\",\n // @ts-expect-error - Types are outdated.\n get duplex() {\n return s = !0, \"half\";\n }\n }).headers.has(\"Content-Type\")), s && !t;\n})(), Pt = typeof globalThis.AbortController == \"function\", kt = typeof globalThis.ReadableStream == \"function\", Nt = typeof globalThis.FormData == \"function\", ct = [\"get\", \"post\", \"put\", \"patch\", \"head\", \"delete\"], jt = {\n json: \"application/json\",\n text: \"text/*\",\n formData: \"multipart/form-data\",\n arrayBuffer: \"*/*\",\n blob: \"*/*\"\n}, L = 2147483647, ut = Symbol(\"stop\"), Ht = {\n json: !0,\n parseJson: !0,\n searchParams: !0,\n prefixUrl: !0,\n retry: !0,\n timeout: !0,\n hooks: !0,\n throwHttpErrors: !0,\n onDownloadProgress: !0,\n fetch: !0\n}, Dt = {\n method: !0,\n headers: !0,\n body: !0,\n mode: !0,\n credentials: !0,\n cache: !0,\n redirect: !0,\n referrer: !0,\n referrerPolicy: !0,\n integrity: !0,\n keepalive: !0,\n signal: !0,\n window: !0,\n dispatcher: !0,\n duplex: !0\n}, Ut = (s) => ct.includes(s) ? s.toUpperCase() : s, Lt = [\"get\", \"put\", \"head\", \"delete\", \"options\", \"trace\"], Ft = [408, 413, 429, 500, 502, 503, 504], lt = [413, 429, 503], Z = {\n limit: 2,\n methods: Lt,\n statusCodes: Ft,\n afterStatusCodes: lt,\n maxRetryAfter: Number.POSITIVE_INFINITY,\n backoffLimit: Number.POSITIVE_INFINITY,\n delay: (s) => 0.3 * 2 ** (s - 1) * 1e3\n}, Wt = (s = {}) => {\n if (typeof s == \"number\")\n return {\n ...Z,\n limit: s\n };\n if (s.methods && !Array.isArray(s.methods))\n throw new Error(\"retry.methods must be an array\");\n if (s.statusCodes && !Array.isArray(s.statusCodes))\n throw new Error(\"retry.statusCodes must be an array\");\n return {\n ...Z,\n ...s,\n afterStatusCodes: lt\n };\n};\nasync function Gt(s, t, e, r) {\n return new Promise((n, i) => {\n const c = setTimeout(() => {\n e && e.abort(), i(new ot(s));\n }, r.timeout);\n r.fetch(s, t).then(n).catch(i).then(() => {\n clearTimeout(c);\n });\n });\n}\nasync function Yt(s, { signal: t }) {\n return new Promise((e, r) => {\n t && (t.throwIfAborted(), t.addEventListener(\"abort\", n, { once: !0 }));\n function n() {\n clearTimeout(i), r(t.reason);\n }\n const i = setTimeout(() => {\n t == null || t.removeEventListener(\"abort\", n), e();\n }, s);\n });\n}\nconst zt = (s, t) => {\n const e = {};\n for (const r in t)\n !(r in Dt) && !(r in Ht) && !(r in s) && (e[r] = t[r]);\n return e;\n};\nclass P {\n static create(t, e) {\n const r = new P(t, e), n = async () => {\n if (typeof r._options.timeout == \"number\" && r._options.timeout > L)\n throw new RangeError(`The \\`timeout\\` option cannot be greater than ${L}`);\n await Promise.resolve();\n let a = await r._fetch();\n for (const u of r._options.hooks.afterResponse) {\n const l = await u(r.request, r._options, r._decorateResponse(a.clone()));\n l instanceof globalThis.Response && (a = l);\n }\n if (r._decorateResponse(a), !a.ok && r._options.throwHttpErrors) {\n let u = new X(a, r.request, r._options);\n for (const l of r._options.hooks.beforeError)\n u = await l(u);\n throw u;\n }\n if (r._options.onDownloadProgress) {\n if (typeof r._options.onDownloadProgress != \"function\")\n throw new TypeError(\"The `onDownloadProgress` option must be a function\");\n if (!kt)\n throw new Error(\"Streams are not supported in your environment. `ReadableStream` is missing.\");\n return r._stream(a.clone(), r._options.onDownloadProgress);\n }\n return a;\n }, c = r._options.retry.methods.includes(r.request.method.toLowerCase()) ? r._retry(n) : n();\n for (const [a, u] of Object.entries(jt))\n c[a] = async () => {\n r.request.headers.set(\"accept\", r.request.headers.get(\"accept\") || u);\n const h = (await c).clone();\n if (a === \"json\") {\n if (h.status === 204 || (await h.clone().arrayBuffer()).byteLength === 0)\n return \"\";\n if (e.parseJson)\n return e.parseJson(await h.text());\n }\n return h[a]();\n };\n return c;\n }\n // eslint-disable-next-line complexity\n constructor(t, e = {}) {\n if (Object.defineProperty(this, \"request\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"abortController\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"_retryCount\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: 0\n }), Object.defineProperty(this, \"_input\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"_options\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), this._input = t, this._options = {\n // TODO: credentials can be removed when the spec change is implemented in all browsers. Context: https://www.chromestatus.com/feature/4539473312350208\n credentials: this._input.credentials || \"same-origin\",\n ...e,\n headers: at(this._input.headers, e.headers),\n hooks: J({\n beforeRequest: [],\n beforeRetry: [],\n beforeError: [],\n afterResponse: []\n }, e.hooks),\n method: Ut(e.method ?? this._input.method),\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n prefixUrl: String(e.prefixUrl || \"\"),\n retry: Wt(e.retry),\n throwHttpErrors: e.throwHttpErrors !== !1,\n timeout: e.timeout ?? 1e4,\n fetch: e.fetch ?? globalThis.fetch.bind(globalThis)\n }, typeof this._input != \"string\" && !(this._input instanceof URL || this._input instanceof globalThis.Request))\n throw new TypeError(\"`input` must be a string, URL, or Request\");\n if (this._options.prefixUrl && typeof this._input == \"string\") {\n if (this._input.startsWith(\"/\"))\n throw new Error(\"`input` must not begin with a slash when using `prefixUrl`\");\n this._options.prefixUrl.endsWith(\"/\") || (this._options.prefixUrl += \"/\"), this._input = this._options.prefixUrl + this._input;\n }\n if (Pt) {\n if (this.abortController = new globalThis.AbortController(), this._options.signal) {\n const r = this._options.signal;\n this._options.signal.addEventListener(\"abort\", () => {\n this.abortController.abort(r.reason);\n });\n }\n this._options.signal = this.abortController.signal;\n }\n if (Vt && (this._options.duplex = \"half\"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {\n const n = \"?\" + (typeof this._options.searchParams == \"string\" ? this._options.searchParams.replace(/^\\?/, \"\") : new URLSearchParams(this._options.searchParams).toString()), i = this.request.url.replace(/(?:\\?.*?)?(?=#|$)/, n);\n (Nt && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers[\"content-type\"]) && this.request.headers.delete(\"content-type\"), this.request = new globalThis.Request(new globalThis.Request(i, { ...this.request }), this._options);\n }\n this._options.json !== void 0 && (this._options.body = JSON.stringify(this._options.json), this.request.headers.set(\"content-type\", this._options.headers.get(\"content-type\") ?? \"application/json\"), this.request = new globalThis.Request(this.request, { body: this._options.body }));\n }\n _calculateRetryDelay(t) {\n if (this._retryCount++, this._retryCount < this._options.retry.limit && !(t instanceof ot)) {\n if (t instanceof X) {\n if (!this._options.retry.statusCodes.includes(t.response.status))\n return 0;\n const r = t.response.headers.get(\"Retry-After\");\n if (r && this._options.retry.afterStatusCodes.includes(t.response.status)) {\n let n = Number(r);\n return Number.isNaN(n) ? n = Date.parse(r) - Date.now() : n *= 1e3, this._options.retry.maxRetryAfter !== void 0 && n > this._options.retry.maxRetryAfter ? 0 : n;\n }\n if (t.response.status === 413)\n return 0;\n }\n const e = this._options.retry.delay(this._retryCount);\n return Math.min(this._options.retry.backoffLimit, e);\n }\n return 0;\n }\n _decorateResponse(t) {\n return this._options.parseJson && (t.json = async () => this._options.parseJson(await t.text())), t;\n }\n async _retry(t) {\n try {\n return await t();\n } catch (e) {\n const r = Math.min(this._calculateRetryDelay(e), L);\n if (r !== 0 && this._retryCount > 0) {\n await Yt(r, { signal: this._options.signal });\n for (const n of this._options.hooks.beforeRetry)\n if (await n({\n request: this.request,\n options: this._options,\n error: e,\n retryCount: this._retryCount\n }) === ut)\n return;\n return this._retry(t);\n }\n throw e;\n }\n }\n async _fetch() {\n for (const e of this._options.hooks.beforeRequest) {\n const r = await e(this.request, this._options);\n if (r instanceof Request) {\n this.request = r;\n break;\n }\n if (r instanceof Response)\n return r;\n }\n const t = zt(this.request, this._options);\n return this._options.timeout === !1 ? this._options.fetch(this.request.clone(), t) : Gt(this.request.clone(), t, this.abortController, this._options);\n }\n /* istanbul ignore next */\n _stream(t, e) {\n const r = Number(t.headers.get(\"content-length\")) || 0;\n let n = 0;\n return t.status === 204 ? (e && e({ percent: 1, totalBytes: r, transferredBytes: n }, new Uint8Array()), new globalThis.Response(null, {\n status: t.status,\n statusText: t.statusText,\n headers: t.headers\n })) : new globalThis.Response(new globalThis.ReadableStream({\n async start(i) {\n const c = t.body.getReader();\n e && e({ percent: 0, transferredBytes: 0, totalBytes: r }, new Uint8Array());\n async function a() {\n const { done: u, value: l } = await c.read();\n if (u) {\n i.close();\n return;\n }\n if (e) {\n n += l.byteLength;\n const h = r === 0 ? 0 : n / r;\n e({ percent: h, transferredBytes: n, totalBytes: r }, l);\n }\n i.enqueue(l), await a();\n }\n await a();\n }\n }), {\n status: t.status,\n statusText: t.statusText,\n headers: t.headers\n });\n }\n}\n/*! MIT License © Sindre Sorhus */\nconst W = (s) => {\n const t = (e, r) => P.create(e, M(s, r));\n for (const e of ct)\n t[e] = (r, n) => P.create(r, M(s, n, { method: e }));\n return t.create = (e) => W(M(e)), t.extend = (e) => W(M(s, e)), t.stop = ut, t;\n}, Jt = W(), Kt = Jt, Qt = typeof window < \"u\" ? {} : { referrer: \"https://sk.thorswap.net\", referer: \"https://sk.thorswap.net\" }, tt = Kt.create({ headers: Qt }), Xt = {\n get: (s, t) => tt.get(s, t).json(),\n post: (s, t) => tt.post(s, t).json()\n}, et = [...Object.values(o), \"TERRA\"];\nfunction Zt(s = \"\") {\n const t = s.toUpperCase(), [e] = t.split(\".\");\n if (et.includes(e))\n return !0;\n const [r] = t.split(\"/\");\n if (et.includes(r))\n return !0;\n throw new Error(\n `Invalid identifier: ${s}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`\n );\n}\nconst O = 8, y = (s) => 10n ** BigInt(s), C = (s) => Math.log10(parseFloat(s.toString()));\nfunction k({\n value: s,\n bigIntDecimal: t = O,\n decimal: e = O\n}) {\n if (e === 0)\n return s.toString();\n const r = s < 0n;\n let n = s.toString().substring(r ? 1 : 0);\n const i = e - (n.length - 1);\n i > 0 && (n = \"0\".repeat(i) + n);\n const c = n.length - e;\n let a = n.slice(-e);\n return parseInt(a[t]) >= 5 ? a = `${a.substring(0, t - 1)}${(parseInt(a[t - 1]) + 1).toString()}` : a = a.substring(0, t), `${r ? \"-\" : \"\"}${n.slice(0, c)}.${a}`.replace(\n /\\.?0*$/,\n \"\"\n );\n}\nvar w, R, b, T, j, ht, E, G, B, Y;\nconst K = class K {\n constructor(t) {\n v(this, w);\n v(this, b);\n v(this, j);\n v(this, E);\n v(this, B);\n f(this, \"decimalMultiplier\", 10n ** 8n);\n f(this, \"bigIntValue\", 0n);\n f(this, \"decimal\");\n const e = z(t), r = typeof t == \"object\";\n this.decimal = r ? t.decimal : void 0, this.decimalMultiplier = r && \"decimalMultiplier\" in t ? t.decimalMultiplier : y(Math.max(rt(x(e)), this.decimal || 0)), m(this, j, ht).call(this, e);\n }\n static fromBigInt(t, e) {\n return new K({\n decimal: e,\n value: k({ value: t, bigIntDecimal: e, decimal: e })\n });\n }\n static shiftDecimals({\n value: t,\n from: e,\n to: r\n }) {\n return this.fromBigInt(\n t.getBaseValue(\"bigint\") * y(r) / y(e),\n r\n );\n }\n set(t) {\n return new this.constructor({ decimal: this.decimal, value: t, identifier: this.toString() });\n }\n add(...t) {\n return m(this, w, R).call(this, \"add\", ...t);\n }\n sub(...t) {\n return m(this, w, R).call(this, \"sub\", ...t);\n }\n mul(...t) {\n return m(this, w, R).call(this, \"mul\", ...t);\n }\n div(...t) {\n return m(this, w, R).call(this, \"div\", ...t);\n }\n gt(t) {\n return m(this, b, T).call(this, \"gt\", t);\n }\n gte(t) {\n return m(this, b, T).call(this, \"gte\", t);\n }\n lt(t) {\n return m(this, b, T).call(this, \"lt\", t);\n }\n lte(t) {\n return m(this, b, T).call(this, \"lte\", t);\n }\n eqValue(t) {\n return m(this, b, T).call(this, \"eqValue\", t);\n }\n // @ts-expect-error False positive\n getValue(t) {\n const e = this.formatBigIntToSafeValue(\n this.bigIntValue,\n this.decimal || C(this.decimalMultiplier)\n );\n switch (t) {\n case \"number\":\n return Number(e);\n case \"string\":\n return e;\n case \"bigint\":\n return this.bigIntValue * 10n ** BigInt(this.decimal || 8n) / this.decimalMultiplier;\n }\n }\n // @ts-expect-error\n getBaseValue(t) {\n const e = this.decimalMultiplier / y(this.decimal || d.THOR), r = this.bigIntValue / e;\n switch (t) {\n case \"number\":\n return Number(r);\n case \"string\":\n return r.toString();\n case \"bigint\":\n return r;\n }\n }\n getBigIntValue(t, e) {\n if (!e && typeof t == \"object\")\n return t.bigIntValue;\n const r = z(t), n = x(r);\n return n === \"0\" || n === \"undefined\" ? 0n : m(this, B, Y).call(this, n, e);\n }\n toSignificant(t = 6) {\n const [e, r] = this.getValue(\"string\").split(\".\"), n = e || \"\", i = r || \"\";\n if ((parseInt(n) ? n.length + i.length : i.length) <= t)\n return this.getValue(\"string\");\n if (n.length >= t)\n return n.slice(0, t).padEnd(n.length, \"0\");\n if (parseInt(n))\n return `${n}.${i.slice(0, t - n.length)}`.padEnd(\n t - n.length,\n \"0\"\n );\n const a = parseInt(i), u = `${a}`.slice(0, t);\n return `0.${u.padStart(\n i.length - `${a}`.length + u.length,\n \"0\"\n )}`;\n }\n toFixed(t = 6) {\n const [e, r] = this.getValue(\"string\").split(\".\"), n = e || \"\", i = r || \"\";\n if (parseInt(n))\n return `${n}.${i.slice(0, t)}`.padEnd(t, \"0\");\n const c = parseInt(i), a = `${c}`.slice(0, t);\n return `0.${a.padStart(\n i.length - `${c}`.length + a.length,\n \"0\"\n )}`;\n }\n toAbbreviation(t = 2) {\n const e = this.getValue(\"number\"), r = [\"\", \"K\", \"M\", \"B\", \"T\", \"Q\", \"Qi\", \"S\"], n = Math.floor(Math.log10(Math.abs(e)) / 3), i = r[n];\n if (!i)\n return this.getValue(\"string\");\n const c = 10 ** (n * 3);\n return `${(e / c).toFixed(t)}${i}`;\n }\n toCurrency(t = \"$\", {\n currencyPosition: e = \"start\",\n decimal: r = 2,\n decimalSeparator: n = \".\",\n thousandSeparator: i = \",\"\n } = {}) {\n const c = this.getValue(\"number\"), [a, u = \"\"] = c.toFixed(6).split(\".\"), l = a.replace(/\\B(?=(\\d{3})+(?!\\d))/g, i), h = !a && !u ? \"0.00\" : a === \"0\" ? `${parseFloat(`0.${u}`)}`.replace(\".\", n) : `${l}${parseInt(u) ? `${n}${u.slice(0, r)}` : \"\"}`;\n return `${e === \"start\" ? t : \"\"}${h}${e === \"end\" ? t : \"\"}`;\n }\n formatBigIntToSafeValue(t, e) {\n const r = e || this.decimal || O, n = Math.max(\n r,\n C(this.decimalMultiplier)\n ), i = t < 0n, c = t.toString().substring(i ? 1 : 0), a = n - (c.length - 1), u = a > 0 ? \"0\".repeat(a) + c : c, l = u.length - n;\n let h = u.slice(-n);\n return parseInt(h[r]) >= 5 ? h = `${h.substring(0, r - 1)}${(parseInt(h[r - 1]) + 1).toString()}` : h = h.substring(0, r), `${i ? \"-\" : \"\"}${u.slice(\n 0,\n l\n )}.${h}`.replace(/\\.?0*$/, \"\");\n }\n};\nw = new WeakSet(), R = function(t, ...e) {\n const r = m(this, E, G).call(this, this, ...e), n = Math.max(r, C(this.decimalMultiplier)), i = y(n), c = e.reduce(\n (u, l) => {\n const h = this.getBigIntValue(l, n);\n switch (t) {\n case \"add\":\n return u + h;\n case \"sub\":\n return u - h;\n case \"mul\":\n return u * h / i;\n case \"div\": {\n if (h === 0n)\n throw new RangeError(\"Division by zero\");\n return u * i / h;\n }\n default:\n return u;\n }\n },\n //normalize is to precision multiplier base\n this.bigIntValue * i / this.decimalMultiplier\n ), a = k({\n bigIntDecimal: n,\n decimal: n,\n value: c\n });\n return new this.constructor({\n decimalMultiplier: y(n),\n decimal: this.decimal,\n value: a,\n identifier: this.toString()\n });\n}, b = new WeakSet(), T = function(t, ...e) {\n const r = m(this, E, G).call(this, this, ...e), n = this.getBigIntValue(e[0], r), i = this.getBigIntValue(this, r);\n switch (t) {\n case \"gt\":\n return i > n;\n case \"gte\":\n return i >= n;\n case \"lt\":\n return i < n;\n case \"lte\":\n return i <= n;\n case \"eqValue\":\n return i === n;\n }\n}, j = new WeakSet(), ht = function(t) {\n const e = x(t) || \"0\";\n this.bigIntValue = m(this, B, Y).call(this, e);\n}, E = new WeakSet(), G = function(...t) {\n const e = t.map((r) => typeof r == \"object\" ? r.decimal || C(r.decimalMultiplier) : rt(x(r))).filter(Boolean);\n return Math.max(...e, O);\n}, B = new WeakSet(), Y = function(t, e) {\n const r = e ? y(e) : this.decimalMultiplier, n = C(r), [i = \"\", c = \"\"] = t.split(\".\");\n return BigInt(`${i}${c.padEnd(n, \"0\")}`);\n};\nlet N = K;\nconst te = Intl.NumberFormat(\"fullwide\", {\n useGrouping: !1,\n maximumFractionDigits: 20\n});\nfunction x(s) {\n const e = `${typeof s == \"number\" ? te.format(s) : z(s)}`.replaceAll(\",\", \".\").split(\".\");\n return e.length > 1 ? `${e.slice(0, -1).join(\"\")}.${e.at(-1)}` : e[0];\n}\nfunction rt(s) {\n var e;\n const t = ((e = s.split(\".\")[1]) == null ? void 0 : e.length) || 0;\n return Math.max(t, O);\n}\nfunction z(s) {\n return typeof s == \"object\" ? \"getValue\" in s ? s.getValue(\"string\") : s.value : s;\n}\nconst S = /* @__PURE__ */ new Map();\nclass A extends N {\n constructor({\n value: e,\n decimal: r,\n tax: n,\n chain: i,\n symbol: c,\n identifier: a\n }) {\n super(typeof e == \"object\" ? e : { decimal: r, value: e });\n f(this, \"address\");\n f(this, \"chain\");\n f(this, \"isGasAsset\", !1);\n f(this, \"isSynthetic\", !1);\n f(this, \"symbol\");\n f(this, \"tax\");\n f(this, \"ticker\");\n f(this, \"type\");\n const u = V(a || `${i}.${c}`);\n this.type = Ot(u), this.tax = n, this.chain = u.chain, this.ticker = u.ticker, this.symbol = u.symbol, this.address = u.address, this.isSynthetic = u.isSynthetic, this.isGasAsset = u.isGasAsset;\n }\n toString() {\n return this.isSynthetic ? this.symbol : `${this.chain}.${this.symbol}`;\n }\n toUrl() {\n return this.isSynthetic ? `${this.chain}.${this.symbol.replace(\"/\", \".\")}` : this.toString();\n }\n eq({ chain: e, symbol: r }) {\n return this.chain === e && this.symbol === r;\n }\n // THOR.RUNE\n // THOR.ETH.ETH\n // ETH.THOR-0x1234567890\n static fromUrl(e, r = 0) {\n const [n, i, c] = e.split(\".\");\n if (!n || !i)\n throw new Error(\"Invalid asset url\");\n const a = n === o.THORChain && c ? `${n}.${i}/${c}` : e;\n return F(a, r);\n }\n static fromString(e, r = 0) {\n return F(e, r);\n }\n static fromIdentifier(e, r = 0) {\n return F(e, r);\n }\n static fromStringSync(e, r = 0) {\n const { chain: n, isSynthetic: i } = V(e), c = S.get(e.toUpperCase());\n if (i)\n return st(e, r);\n c || console.error(\n `Asset ${e} is not loaded. Use AssetValue.loadStaticAssets() to load it`\n );\n const { tax: a, decimal: u, identifier: l } = c || {\n decimal: d[n],\n identifier: e\n };\n return new A({\n tax: a,\n value: I(r, u),\n identifier: i ? e : l,\n decimal: i ? 8 : u\n });\n }\n static fromIdentifierSync(e, r = 0) {\n const { chain: n, isSynthetic: i } = V(e), c = S.get(e);\n if (i)\n return st(e, r);\n c || console.error(\n `Asset ${e} is not loaded. - Loading with base Chain. Use AssetValue.loadStaticAssets() to load it`\n );\n const { tax: a, decimal: u, identifier: l } = c || {\n decimal: d[n],\n identifier: e\n };\n return new A({ tax: a, decimal: u, identifier: l, value: I(r, u) });\n }\n static fromChainOrSignature(e, r = 0) {\n const { decimal: n, identifier: i } = It(e);\n return new A({ value: I(r, n), decimal: n, identifier: i });\n }\n static loadStaticAssets() {\n return new Promise(\n async (e, r) => {\n try {\n const n = await import(\"@swapkit/tokens\");\n Object.values(n).forEach((i) => {\n var c;\n (c = i == null ? void 0 : i.tokens) == null || c.forEach(({ identifier: a, chain: u, ...l }) => {\n S.set(a.toUpperCase(), {\n identifier: a,\n decimal: \"decimals\" in l ? l.decimals : d[u]\n });\n });\n }), e({ ok: !0 });\n } catch (n) {\n console.error(n), r({\n ok: !1,\n error: n,\n message: \"Couldn't load static assets. Ensure you have installed @swapkit/tokens package\"\n });\n }\n }\n );\n }\n}\nfunction _e(s) {\n const t = A.fromChainOrSignature(s);\n switch (s) {\n case o.Bitcoin:\n case o.Litecoin:\n case o.BitcoinCash:\n return t.set(10001e-8);\n case o.Dogecoin:\n return t.set(1.00000001);\n case o.Avalanche:\n case o.Ethereum:\n return t.set(1e-8);\n case o.THORChain:\n case o.Maya:\n return t.set(0);\n default:\n return t.set(1e-8);\n }\n}\nasync function F(s, t = 0) {\n Zt(s);\n const e = S.get(s.toUpperCase()), r = (e == null ? void 0 : e.decimal) || await St(V(s));\n return e || S.set(s.toUpperCase(), { identifier: s, decimal: r }), new A({ decimal: r, value: I(t, r), identifier: s });\n}\nfunction st(s, t = 0) {\n const [e, r] = s.split(\"/\");\n return new A({\n decimal: 8,\n value: I(t, 8),\n identifier: `${o.THORChain}.${e}/${r}`\n });\n}\nfunction I(s, t) {\n return typeof s == \"bigint\" ? k({ value: s, bigIntDecimal: t, decimal: t }) : s;\n}\nfunction V(s) {\n const t = s.slice(0, 14).includes(\"/\"), [e, r] = s.split(\".\").pop().split(\"/\"), n = s.includes(\".\") && !t ? s : `${o.THORChain}.${r}`, [i, c] = n.split(\".\"), [a, u] = (t ? r : c).split(\"-\");\n return {\n address: u == null ? void 0 : u.toLowerCase(),\n chain: i,\n isGasAsset: it({ chain: i, symbol: c }),\n isSynthetic: t,\n symbol: (t ? `${e}/` : \"\") + (u ? `${a}-${(u == null ? void 0 : u.toLowerCase()) ?? \"\"}` : c),\n ticker: a\n };\n}\nconst ee = {\n /**\n * Core\n */\n core_wallet_connection_not_found: 10001,\n core_estimated_max_spendable_chain_not_supported: 10002,\n core_extend_error: 10003,\n core_inbound_data_not_found: 10004,\n core_approve_asset_address_or_from_not_found: 10005,\n core_chain_halted: 10099,\n /**\n * Core - Wallet Connection\n */\n core_wallet_xdefi_not_installed: 10101,\n core_wallet_evmwallet_not_installed: 10102,\n core_wallet_walletconnect_not_installed: 10103,\n core_wallet_keystore_not_installed: 10104,\n core_wallet_ledger_not_installed: 10105,\n core_wallet_trezor_not_installed: 10106,\n core_wallet_keplr_not_installed: 10107,\n core_wallet_okx_not_installed: 10108,\n /**\n * Core - Swap\n */\n core_swap_invalid_params: 10200,\n core_swap_route_not_complete: 10201,\n core_swap_asset_not_recognized: 10202,\n core_swap_contract_not_found: 10203,\n core_swap_route_transaction_not_found: 10204,\n core_swap_contract_not_supported: 10205,\n core_swap_transaction_error: 10206,\n core_swap_quote_mode_not_supported: 10207,\n /**\n * Core - Transaction\n */\n core_transaction_deposit_error: 10301,\n core_transaction_create_liquidity_rune_error: 10302,\n core_transaction_create_liquidity_asset_error: 10303,\n core_transaction_create_liquidity_invalid_params: 10304,\n core_transaction_add_liquidity_invalid_params: 10305,\n core_transaction_add_liquidity_no_rune_address: 10306,\n core_transaction_add_liquidity_rune_error: 10307,\n core_transaction_add_liquidity_asset_error: 10308,\n core_transaction_withdraw_error: 10309,\n core_transaction_deposit_to_pool_error: 10310,\n core_transaction_deposit_insufficient_funds_error: 10311,\n core_transaction_deposit_gas_error: 10312,\n core_transaction_invalid_sender_address: 10313,\n core_transaction_deposit_server_error: 10313,\n /**\n * Wallets\n */\n wallet_ledger_connection_error: 20001,\n /**\n * Helpers\n */\n helpers_number_different_decimals: 99101\n};\nclass dt extends Error {\n constructor(t, e) {\n console.error(e, { stack: e == null ? void 0 : e.stack, message: e == null ? void 0 : e.message }), super(t, { cause: { code: ee[t], message: t } }), Object.setPrototypeOf(this, dt.prototype);\n }\n}\nclass g extends N {\n eq(t) {\n return this.eqValue(t);\n }\n static fromBigInt(t, e) {\n return new g({\n decimal: e,\n value: k({ value: t, bigIntDecimal: e, decimal: e })\n });\n }\n}\nexport {\n A as AssetValue,\n N as BigIntArithmetics,\n Xt as RequestClient,\n dt as SwapKitError,\n g as SwapKitNumber,\n ie as assetFromString,\n fe as derivationPathToString,\n oe as filterAssets,\n k as formatBigIntToSafeValue,\n ne as gasFeeMultiplier,\n Ot as getAssetType,\n xt as getAsymmetricAssetShare,\n ce as getAsymmetricAssetWithdrawAmount,\n Mt as getAsymmetricRuneShare,\n ae as getAsymmetricRuneWithdrawAmount,\n It as getCommonAssetInfo,\n St as getDecimal,\n le as getEstimatedPoolShare,\n he as getLiquiditySlippage,\n de as getMemoFor,\n _e as getMinAmountByChain,\n qt as getSymmetricPoolShare,\n ue as getSymmetricWithdraw,\n me as getTHORNameCost,\n it as isGasAsset,\n pe as validateTHORName\n};\n//# sourceMappingURL=index.es.js.map\n","export const avaxGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const avaxWoofi = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n ],\n name: 'SwapOut',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IWoofi', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const bscGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'swapRouter', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const ethGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const pancakeV2 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_wbnb', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n ],\n name: 'SwapOut',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IPancakeRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'wbnb',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const pangolin = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2AVAX', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const sushiswap = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const traderJoe = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2AVAX', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV2 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV2Leg = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'address', name: '_legToken', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'legToken',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_100 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_500 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_3000 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_10000 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","import { avaxGeneric } from './avaxGeneric.ts';\nimport { avaxWoofi } from './avaxWoofi.ts';\nimport { bscGeneric } from './bscGeneric.ts';\nimport { ethGeneric } from './ethGeneric.ts';\nimport { pancakeV2 } from './pancakeV2.ts';\nimport { pangolin } from './pangolin.ts';\nimport { sushiswap } from './sushiswap.ts';\nimport { traderJoe } from './traderJoe.ts';\nimport { uniswapV2 } from './uniswapV2.ts';\nimport { uniswapV2Leg } from './uniswapV2Leg.ts';\nimport { uniswapV3_100 } from './uniswapV3_100.ts';\nimport { uniswapV3_500 } from './uniswapV3_500.ts';\nimport { uniswapV3_3000 } from './uniswapV3_3000.ts';\nimport { uniswapV3_10000 } from './uniswapV3_10000.ts';\n\ntype AbiTypes =\n | typeof avaxGeneric\n | typeof avaxWoofi\n | typeof bscGeneric\n | typeof ethGeneric\n | typeof sushiswap\n | typeof uniswapV2\n | typeof pancakeV2\n | typeof uniswapV2Leg\n | typeof uniswapV3_100\n | typeof uniswapV3_10000\n | typeof uniswapV3_3000\n | typeof uniswapV3_500;\n\nexport enum AGG_CONTRACT_ADDRESS {\n // AVAX\n PANGOLIN = '0x942c6dA485FD6cEf255853ef83a149d43A73F18a',\n AVAX_GENERIC = '0x7C38b8B2efF28511ECc14a621e263857Fb5771d3',\n AVAX_WOOFI = '0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a',\n AVAX_TRADER_JOE = '0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212',\n\n // BSC\n BSC_GENERIC = '0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c',\n BSC_PANCAKE_V2 = '0x30912B38618D3D37De3191A4FFE982C65a9aEC2E',\n\n // ETH\n ETH_GENERIC = '0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2',\n UNISWAP_V2 = '0x86904Eb2b3c743400D03f929F2246EfA80B91215',\n SUSHISWAP = '0xbf365e79aA44A2164DA135100C57FDB6635ae870',\n UNISWAP_V3_100 = '0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8',\n UNISWAP_V3_500 = '0xe4ddca21881bac219af7f217703db0475d2a9f02',\n UNISWAP_V3_3000 = '0x11733abf0cdb43298f7e949c930188451a9a9ef2',\n UNISWAP_V3_10000 = '0xb33874810e5395eb49d8bd7e912631db115d5a03',\n UNISWAP_V2_LEG = '0x3660dE6C56cFD31998397652941ECe42118375DA',\n}\n\nexport const lowercasedGenericAbiMappings = {\n [AGG_CONTRACT_ADDRESS.AVAX_GENERIC.toLowerCase()]: avaxGeneric,\n [AGG_CONTRACT_ADDRESS.BSC_GENERIC.toLowerCase()]: bscGeneric,\n [AGG_CONTRACT_ADDRESS.ETH_GENERIC.toLowerCase()]: ethGeneric,\n};\n\nexport const lowercasedContractAbiMapping = {\n ...lowercasedGenericAbiMappings,\n // AVAX\n [AGG_CONTRACT_ADDRESS.PANGOLIN.toLowerCase()]: pangolin,\n [AGG_CONTRACT_ADDRESS.AVAX_WOOFI.toLowerCase()]: avaxWoofi,\n [AGG_CONTRACT_ADDRESS.AVAX_TRADER_JOE.toLowerCase()]: traderJoe,\n // BSC\n [AGG_CONTRACT_ADDRESS.BSC_PANCAKE_V2.toLowerCase()]: pancakeV2,\n // ETH\n [AGG_CONTRACT_ADDRESS.SUSHISWAP.toLowerCase()]: sushiswap,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V2.toLowerCase()]: uniswapV2,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V2_LEG.toLowerCase()]: uniswapV2Leg,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_100.toLowerCase()]: uniswapV3_100,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_500.toLowerCase()]: uniswapV3_500,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_3000.toLowerCase()]: uniswapV3_3000,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_10000.toLowerCase()]: uniswapV3_10000,\n} as Record<string, AbiTypes>;\n","import type { QuoteRoute } from '@swapkit/api';\n\nimport type { AGG_CONTRACT_ADDRESS } from './contracts/index.ts';\nimport { lowercasedGenericAbiMappings } from './contracts/index.ts';\n\ntype SwapInParams = {\n calldata: QuoteRoute['calldata'];\n recipient: string;\n streamSwap?: boolean;\n contractAddress: AGG_CONTRACT_ADDRESS;\n toChecksumAddress: (address: string) => string;\n};\n\nexport const getSwapInParams = ({\n streamSwap,\n contractAddress,\n recipient,\n toChecksumAddress,\n calldata: {\n amount,\n amountOutMin = '',\n data = '',\n deadline,\n memo,\n router,\n memoStreamingSwap,\n tcMemo,\n tcRouter,\n tcVault,\n vault,\n token,\n },\n}: SwapInParams) => {\n const isGeneric = !!lowercasedGenericAbiMappings[contractAddress.toLowerCase()];\n\n if (isGeneric && !router) {\n throw new Error('Router is required on calldata for swapIn with GenericContract');\n }\n\n /**\n * Data structure for contract calls\n * GENERIC: tcRouter, tcVault, tcMemo, token, amount, router, data, deadline\n * ETH_UNISWAP: tcRouter, tcVault, tcMemo, token, amount, amountOutMin, deadline\n * AVAX_PANGOLIN: tcRouter, tcVault, tcMemo, token, amount, amountOutMin, deadline\n * AVAX_WOOFI: router, vault, memo, token, amount, amountOutMin, deadline\n */\n\n const baseMemo = tcMemo || memo;\n const transactionMemo = streamSwap ? memoStreamingSwap || baseMemo : baseMemo;\n\n if (!tcVault && !vault) throw new Error('TC Vault is required on calldata');\n if (!tcRouter && !router) throw new Error('TC Router is required on calldata');\n if (!transactionMemo) throw new Error('TC Memo is required on calldata');\n if (!token) throw new Error('Token is required on calldata');\n\n const baseParams = [\n // v2 contracts don't have tcVault, tcRouter, tcMemo but vault, router, memo\n toChecksumAddress((tcRouter || router) as string),\n toChecksumAddress((tcVault || vault) as string),\n transactionMemo.replace('{recipientAddress}', recipient),\n toChecksumAddress(token),\n amount,\n ];\n\n const contractParams = isGeneric\n ? [toChecksumAddress(router as string), data, deadline]\n : [amountOutMin, deadline];\n\n return [...baseParams, ...contractParams];\n};\n","import { Chain, ChainToExplorerUrl } from '@swapkit/types';\n\nexport const getExplorerTxUrl = ({ chain, txHash }: { txHash: string; chain: Chain }) => {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Binance:\n case Chain.Maya:\n case Chain.Kujira:\n case Chain.THORChain:\n return `${baseUrl}/tx/${txHash.startsWith('0x') ? txHash.slice(2) : txHash}`;\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon:\n return `${baseUrl}/tx/${txHash.startsWith('0x') ? txHash : `0x${txHash}`}`;\n\n case Chain.Cosmos:\n return `${baseUrl}/transactions/${txHash}`;\n\n case Chain.Litecoin:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n return `${baseUrl}/transaction/${txHash.toLowerCase()}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n\nexport const getExplorerAddressUrl = ({ chain, address }: { address: string; chain: Chain }) => {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Binance:\n case Chain.BinanceSmartChain:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Ethereum:\n case Chain.Kujira:\n case Chain.Litecoin:\n case Chain.Maya:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.THORChain:\n return `${baseUrl}/address/${address}`;\n\n case Chain.Cosmos:\n return `${baseUrl}/account/${address}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n","import { RequestClient } from '@swapkit/helpers';\nimport type { Chain } from '@swapkit/types';\nimport { ApiUrl } from '@swapkit/types';\n\ntype InboundAddressData = {\n address: string;\n chain: Chain;\n chain_lp_actions_paused: boolean;\n chain_trading_paused: boolean;\n dust_threshold: string;\n gas_rate: string;\n gas_rate_units: string;\n global_trading_paused: boolean;\n halted: boolean;\n outbound_fee: string;\n outbound_tx_size: string;\n pub_key: string;\n router: string;\n}[];\n\nexport const getInboundData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<InboundAddressData>(`${baseUrl}/thorchain/inbound_addresses`);\n};\n\nexport const getMimirData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<Record<string, number>>(`${baseUrl}/thorchain/mimir`);\n};\n","import type { Keys, ThornameRegisterParam } from '@swapkit/helpers';\nimport {\n AssetValue,\n gasFeeMultiplier,\n getMemoFor,\n getMinAmountByChain,\n SwapKitError,\n SwapKitNumber,\n} from '@swapkit/helpers';\nimport type { CosmosLikeToolbox } from '@swapkit/toolbox-cosmos';\nimport type { AVAXToolbox, BSCToolbox, ETHToolbox, EVMToolbox } from '@swapkit/toolbox-evm';\nimport type { UTXOToolbox } from '@swapkit/toolbox-utxo';\nimport type {\n AddChainWalletParams,\n EVMChain,\n EVMWalletOptions,\n ExtendParams,\n WalletOption,\n} from '@swapkit/types';\nimport {\n AGG_SWAP,\n Chain,\n ChainToChainId,\n FeeOption,\n MemoType,\n SWAP_IN,\n SWAP_OUT,\n TCAvalancheDepositABI,\n TCBscDepositABI,\n TCEthereumVaultAbi,\n} from '@swapkit/types';\n\nimport type { AGG_CONTRACT_ADDRESS } from '../aggregator/contracts/index.ts';\nimport { lowercasedContractAbiMapping } from '../aggregator/contracts/index.ts';\nimport { getSwapInParams } from '../aggregator/getSwapParams.ts';\n\nimport { getExplorerAddressUrl, getExplorerTxUrl } from './explorerUrls.ts';\nimport { getInboundData, getMimirData } from './thornode.ts';\nimport type {\n CoreTxParams,\n EVMWallet,\n SwapParams,\n ThorchainWallet,\n Wallet,\n WalletMethods,\n} from './types.ts';\n\nconst getEmptyWalletStructure = () =>\n (Object.values(Chain) as Chain[]).reduce(\n (acc, chain) => {\n acc[chain] = null;\n return acc;\n },\n {} as Record<Chain, null>,\n );\n\nconst validateAddressType = async ({ chain, address }: { chain: Chain; address?: string }) => {\n if (!address) return false;\n\n switch (chain) {\n case Chain.Bitcoin:\n // filter out taproot addresses\n return !address.startsWith('bc1p');\n default:\n return true;\n }\n};\n\nexport class SwapKitCore<T = ''> {\n public connectedChains: Wallet = getEmptyWalletStructure();\n public connectedWallets: WalletMethods = getEmptyWalletStructure();\n public readonly stagenet: boolean = false;\n\n constructor({ stagenet }: { stagenet?: boolean } | undefined = {}) {\n this.stagenet = !!stagenet;\n }\n\n getAddress = (chain: Chain) => this.connectedChains[chain]?.address || '';\n getExplorerTxUrl = (chain: Chain, txHash: string) => getExplorerTxUrl({ chain, txHash });\n getWallet = <T extends Chain>(chain: Chain) => this.connectedWallets[chain] as WalletMethods[T];\n getExplorerAddressUrl = (chain: Chain, address: string) =>\n getExplorerAddressUrl({ chain, address });\n getBalance = async (chain: Chain, potentialScamFilter?: boolean) => {\n const wallet = await this.getWalletByChain(chain, potentialScamFilter);\n\n return wallet?.balance || [];\n };\n\n swap = async ({ streamSwap, recipient, route, feeOptionKey }: SwapParams) => {\n const { quoteMode } = route.meta;\n const evmChain = quoteMode.startsWith('ERC20-')\n ? Chain.Ethereum\n : quoteMode.startsWith('ARC20-')\n ? Chain.Avalanche\n : Chain.BinanceSmartChain;\n\n if (!route.complete) throw new SwapKitError('core_swap_route_not_complete');\n\n try {\n if (AGG_SWAP.includes(quoteMode)) {\n const walletMethods = this.connectedWallets[evmChain];\n if (!walletMethods?.sendTransaction) {\n throw new SwapKitError('core_wallet_connection_not_found');\n }\n\n const transaction = streamSwap ? route?.streamingSwap?.transaction : route?.transaction;\n if (!transaction) throw new SwapKitError('core_swap_route_transaction_not_found');\n\n const { data, from, to, value } = route.transaction;\n\n const params = {\n data,\n from,\n to: to.toLowerCase(),\n chainId: BigInt(ChainToChainId[evmChain]),\n value: value ? BigInt(value) : 0n,\n };\n\n return walletMethods.sendTransaction(params, feeOptionKey) as Promise<string>;\n }\n\n if (SWAP_OUT.includes(quoteMode)) {\n if (!route.calldata.fromAsset) throw new SwapKitError('core_swap_asset_not_recognized');\n const asset = await AssetValue.fromString(route.calldata.fromAsset);\n if (!asset) throw new SwapKitError('core_swap_asset_not_recognized');\n\n const { address: recipient } = await this.#getInboundDataByChain(asset.chain);\n const {\n contract: router,\n calldata: { expiration, amountIn, memo, memoStreamingSwap },\n } = route;\n\n const assetValue = asset.add(SwapKitNumber.fromBigInt(BigInt(amountIn), asset.decimal));\n const swapMemo = (streamSwap ? memoStreamingSwap || memo : memo) as string;\n\n return this.deposit({\n expiration,\n assetValue,\n memo: swapMemo,\n feeOptionKey,\n router,\n recipient,\n });\n }\n\n if (SWAP_IN.includes(quoteMode)) {\n const { calldata, contract: contractAddress } = route;\n if (!contractAddress) throw new SwapKitError('core_swap_contract_not_found');\n\n const walletMethods = this.connectedWallets[evmChain];\n const from = this.getAddress(evmChain);\n if (!walletMethods?.sendTransaction || !from) {\n throw new SwapKitError('core_wallet_connection_not_found');\n }\n\n const { getProvider, toChecksumAddress } = await import('@swapkit/toolbox-evm');\n const provider = getProvider(evmChain);\n const abi = lowercasedContractAbiMapping[contractAddress.toLowerCase()];\n\n if (!abi) throw new SwapKitError('core_swap_contract_not_supported', { contractAddress });\n\n const contract = await walletMethods.createContract?.(contractAddress, abi, provider);\n\n const tx = await contract.getFunction('swapIn').populateTransaction(\n ...getSwapInParams({\n streamSwap,\n toChecksumAddress,\n contractAddress: contractAddress as AGG_CONTRACT_ADDRESS,\n recipient,\n calldata,\n }),\n { from },\n );\n\n return walletMethods.sendTransaction(tx, feeOptionKey) as Promise<string>;\n }\n\n throw new SwapKitError('core_swap_quote_mode_not_supported', { quoteMode });\n } catch (error) {\n throw new SwapKitError('core_swap_transaction_error', error);\n }\n };\n\n getWalletByChain = async (chain: Chain, potentialScamFilter?: boolean) => {\n const address = this.getAddress(chain);\n if (!address) return null;\n const defaultBalance = [AssetValue.fromChainOrSignature(chain)];\n const walletType = this.connectedChains[chain]?.walletType as WalletOption;\n\n try {\n const balance = await this.getWallet(chain)?.getBalance(address, potentialScamFilter);\n\n this.connectedChains[chain] = {\n address,\n balance: balance?.length ? balance : defaultBalance,\n walletType,\n };\n\n return { ...this.connectedChains[chain] };\n } catch (error) {\n console.error(error);\n\n return { address, balance: defaultBalance, walletType };\n }\n };\n\n approveAssetValue = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve({ assetValue, type: 'approve', contractAddress });\n\n isAssetValueApproved = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve<boolean>({ assetValue, contractAddress, type: 'checkOnly' });\n\n validateAddress = ({ address, chain }: { address: string; chain: Chain }) =>\n this.getWallet(chain)?.validateAddress?.(address);\n\n transfer = async (params: CoreTxParams & { router?: string }) => {\n const walletInstance = this.connectedWallets[params.assetValue.chain];\n if (!walletInstance) throw new SwapKitError('core_wallet_connection_not_found');\n\n try {\n return await walletInstance.transfer(this.#prepareTxParams(params));\n } catch (error) {\n throw new SwapKitError('core_swap_transaction_error', error);\n }\n };\n\n deposit = async ({\n assetValue,\n recipient,\n router,\n ...rest\n }: CoreTxParams & { router?: string }) => {\n const { chain, symbol, ticker } = assetValue;\n const walletInstance = this.connectedWallets[chain];\n if (!(await validateAddressType({ address: await walletInstance?.getAddress(), chain })))\n throw new SwapKitError('core_transaction_invalid_sender_address');\n if (!walletInstance) throw new SwapKitError('core_wallet_connection_not_found');\n\n const params = this.#prepareTxParams({ assetValue, recipient, router, ...rest });\n\n try {\n switch (chain) {\n case Chain.THORChain: {\n const wallet = walletInstance as ThorchainWallet;\n return await (recipient === '' ? wallet.deposit(params) : wallet.transfer(params));\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Avalanche: {\n const { getChecksumAddressFromAsset } = await import('@swapkit/toolbox-evm');\n\n const abi =\n chain === Chain.Avalanche\n ? TCAvalancheDepositABI\n : chain === Chain.BinanceSmartChain\n ? TCBscDepositABI\n : TCEthereumVaultAbi;\n\n const response = await (\n walletInstance as EVMWallet<typeof AVAXToolbox | typeof ETHToolbox | typeof BSCToolbox>\n ).call({\n abi,\n contractAddress:\n router || ((await this.#getInboundDataByChain(chain as EVMChain)).router as string),\n funcName: 'depositWithExpiry',\n funcParams: [\n recipient,\n getChecksumAddressFromAsset({ chain, symbol, ticker }, chain),\n assetValue.getBaseValue('string'),\n params.memo,\n rest.expiration || parseInt(`${(new Date().getTime() + 15 * 60 * 1000) / 1000}`),\n ],\n txOverrides: {\n from: params.from,\n value: assetValue.isGasAsset ? assetValue.getBaseValue('bigint') : undefined,\n },\n });\n\n return response as string;\n }\n\n default: {\n return await walletInstance.transfer(params);\n }\n }\n } catch (error: any) {\n const errorMessage = (error?.message || error?.toString()).toLowerCase();\n const isInsufficientFunds = errorMessage?.includes('insufficient funds');\n const isGas = errorMessage?.includes('gas');\n const isServer = errorMessage?.includes('server');\n const errorKey: Keys = isInsufficientFunds\n ? 'core_transaction_deposit_insufficient_funds_error'\n : isGas\n ? 'core_transaction_deposit_gas_error'\n : isServer\n ? 'core_transaction_deposit_server_error'\n : 'core_transaction_deposit_error';\n\n throw new SwapKitError(errorKey, error);\n }\n };\n\n /**\n * TC related Methods\n */\n createLiquidity = async ({\n runeAssetValue,\n assetValue,\n }: {\n runeAssetValue: AssetValue;\n assetValue: AssetValue;\n }) => {\n if (runeAssetValue.lte(0) || assetValue.lte(0)) {\n throw new SwapKitError('core_transaction_create_liquidity_invalid_params');\n }\n\n let runeTx = '';\n let assetTx = '';\n\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n ...assetValue,\n address: this.getAddress(assetValue.chain),\n }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_create_liquidity_rune_error', error);\n }\n\n try {\n assetTx = await this.#depositToPool({\n assetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n ...assetValue,\n address: this.getAddress(Chain.THORChain),\n }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_create_liquidity_asset_error', error);\n }\n\n return { runeTx, assetTx };\n };\n\n addLiquidity = async ({\n runeAssetValue,\n assetValue,\n runeAddr,\n assetAddr,\n isPendingSymmAsset,\n mode = 'sym',\n }: {\n runeAssetValue: AssetValue;\n assetValue: AssetValue;\n isPendingSymmAsset?: boolean;\n runeAddr?: string;\n assetAddr?: string;\n mode?: 'sym' | 'rune' | 'asset';\n }) => {\n const { chain, symbol } = assetValue;\n const isSym = mode === 'sym';\n const runeTransfer = runeAssetValue?.gt(0) && (isSym || mode === 'rune');\n const assetTransfer = assetValue?.gt(0) && (isSym || mode === 'asset');\n const includeRuneAddress = isPendingSymmAsset || runeTransfer;\n const runeAddress = includeRuneAddress ? runeAddr || this.getAddress(Chain.THORChain) : '';\n const assetAddress = isSym || mode === 'asset' ? assetAddr || this.getAddress(chain) : '';\n\n if (!runeTransfer && !assetTransfer) {\n throw new SwapKitError('core_transaction_add_liquidity_invalid_params');\n }\n if (includeRuneAddress && !runeAddress) {\n throw new SwapKitError('core_transaction_add_liquidity_no_rune_address');\n }\n\n let runeTx, assetTx;\n\n if (runeTransfer && runeAssetValue) {\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, { chain, symbol, address: assetAddress }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_add_liquidity_rune_error', error);\n }\n }\n\n if (assetTransfer && assetValue) {\n try {\n assetTx = await this.#depositToPool({\n assetValue,\n memo: getMemoFor(MemoType.DEPOSIT, { chain, symbol, address: runeAddress }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_add_liquidity_asset_error', error);\n }\n }\n\n return { runeTx, assetTx };\n };\n\n addLiquidityPart = ({\n assetValue,\n poolAddress,\n address,\n symmetric,\n }: {\n assetValue: AssetValue;\n address?: string;\n poolAddress: string;\n symmetric: boolean;\n }) => {\n if (symmetric && !address) {\n throw new SwapKitError('core_transaction_add_liquidity_invalid_params');\n }\n const memo = getMemoFor(MemoType.DEPOSIT, {\n chain: poolAddress.split('.')[0] as Chain,\n symbol: poolAddress.split('.')[1],\n address: symmetric ? address : '',\n });\n\n return this.#depositToPool({ assetValue, memo });\n };\n\n withdraw = async ({\n memo,\n assetValue,\n percent,\n from,\n to,\n }: {\n memo?: string;\n assetValue: AssetValue;\n percent: number;\n from: 'sym' | 'rune' | 'asset';\n to: 'sym' | 'rune' | 'asset';\n }) => {\n const targetAsset =\n to === 'rune'\n ? AssetValue.fromChainOrSignature(Chain.THORChain)\n : (from === 'sym' && to === 'sym') || from === 'rune' || from === 'asset'\n ? undefined\n : assetValue;\n\n const value = getMinAmountByChain(from === 'asset' ? assetValue.chain : Chain.THORChain);\n const memoString =\n memo ||\n getMemoFor(MemoType.WITHDRAW, {\n symbol: assetValue.symbol,\n chain: assetValue.chain,\n ticker: assetValue.ticker,\n basisPoints: Math.min(10000, Math.round(percent * 100)),\n targetAssetString: targetAsset?.toString(),\n singleSide: false,\n });\n\n return this.#depositToPool({ assetValue: value, memo: memoString });\n };\n\n savings = async ({\n assetValue,\n memo,\n percent,\n type,\n }: { assetValue: AssetValue; memo?: string } & (\n | { type: 'add'; percent?: undefined }\n | { type: 'withdraw'; percent: number }\n )) => {\n const memoType = type === 'add' ? MemoType.DEPOSIT : MemoType.WITHDRAW;\n const memoString =\n memo ||\n getMemoFor(memoType, {\n ticker: assetValue.ticker,\n symbol: assetValue.symbol,\n chain: assetValue.chain,\n singleSide: true,\n basisPoints: percent ? Math.min(10000, Math.round(percent * 100)) : undefined,\n });\n\n const value =\n memoType === MemoType.DEPOSIT ? assetValue : getMinAmountByChain(assetValue.chain);\n\n return this.#depositToPool({ memo: memoString, assetValue: value });\n };\n\n loan = ({\n assetValue,\n memo,\n minAmount,\n type,\n }: {\n assetValue: AssetValue;\n memo?: string;\n minAmount: AssetValue;\n type: 'open' | 'close';\n }) =>\n this.#depositToPool({\n assetValue,\n memo:\n memo ||\n getMemoFor(type === 'open' ? MemoType.OPEN_LOAN : MemoType.CLOSE_LOAN, {\n asset: assetValue.toString(),\n minAmount: minAmount.toString(),\n address: this.getAddress(assetValue.chain),\n }),\n });\n\n nodeAction = ({\n type,\n assetValue,\n address,\n }: { address: string } & (\n | { type: 'bond' | 'unbond'; assetValue: AssetValue }\n | { type: 'leave'; assetValue?: undefined }\n )) => {\n const memoType =\n type === 'bond' ? MemoType.BOND : type === 'unbond' ? MemoType.UNBOND : MemoType.LEAVE;\n const memo = getMemoFor(memoType, {\n address,\n unbondAmount: type === 'unbond' ? assetValue.getBaseValue('number') : undefined,\n });\n\n return this.#thorchainTransfer({\n memo,\n assetValue: type === 'bond' ? assetValue : getMinAmountByChain(Chain.THORChain),\n });\n };\n\n registerThorname = ({\n assetValue,\n ...param\n }: ThornameRegisterParam & { assetValue: AssetValue }) =>\n this.#thorchainTransfer({ assetValue, memo: getMemoFor(MemoType.THORNAME_REGISTER, param) });\n\n extend = ({ wallets, config, apis = {}, rpcUrls = {} }: ExtendParams<T>) => {\n try {\n wallets.forEach((wallet) => {\n // @ts-expect-error - this is fine as we are extending the class\n this[wallet.connectMethodName] = wallet.connect({\n addChain: this.#addConnectedChain,\n config: config || {},\n apis,\n rpcUrls,\n });\n });\n } catch (error) {\n throw new SwapKitError('core_extend_error', error);\n }\n };\n\n estimateMaxSendableAmount = async ({\n chain,\n params,\n }: {\n chain: Chain;\n params: { from: string; recipient: string; assetValue: AssetValue };\n }) => {\n const walletMethods = this.getWallet<typeof chain>(chain);\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { estimateMaxSendableAmount } = await import('@swapkit/toolbox-evm');\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as EVMToolbox,\n });\n }\n\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin:\n return (walletMethods as UTXOToolbox).estimateMaxSendableAmount(params);\n\n case Chain.Binance:\n case Chain.THORChain:\n case Chain.Cosmos: {\n const { estimateMaxSendableAmount } = await import('@swapkit/toolbox-cosmos');\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as CosmosLikeToolbox,\n });\n }\n\n default:\n throw new SwapKitError('core_estimated_max_spendable_chain_not_supported');\n }\n };\n\n /**\n * Wallet connection methods\n */\n connectXDEFI = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError('core_wallet_xdefi_not_installed');\n };\n connectEVMWallet = async (_chains: Chain[] | Chain, _wallet: EVMWalletOptions): Promise<void> => {\n throw new SwapKitError('core_wallet_evmwallet_not_installed');\n };\n connectWalletconnect = async (_chains: Chain[], _options?: any): Promise<void> => {\n throw new SwapKitError('core_wallet_walletconnect_not_installed');\n };\n connectKeystore = async (_chains: Chain[], _phrase: string): Promise<void> => {\n throw new SwapKitError('core_wallet_keystore_not_installed');\n };\n connectLedger = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError('core_wallet_ledger_not_installed');\n };\n connectTrezor = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError('core_wallet_trezor_not_installed');\n };\n connectKeplr = async (_chain: Chain): Promise<void> => {\n throw new SwapKitError('core_wallet_keplr_not_installed');\n };\n connectOkx = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError('core_wallet_okx_not_installed');\n };\n disconnectChain = (chain: Chain) => {\n this.connectedChains[chain] = null;\n this.connectedWallets[chain] = null;\n };\n\n #getInboundDataByChain = async (chain: Chain) => {\n if (chain === Chain.THORChain) {\n return {\n gas_rate: '0',\n router: '0',\n address: '',\n halted: false,\n chain: Chain.THORChain,\n };\n }\n const inboundData = await getInboundData(this.stagenet);\n const chainAddressData = inboundData.find((item) => item.chain === chain);\n\n if (!chainAddressData) throw new SwapKitError('core_inbound_data_not_found');\n if (chainAddressData?.halted) throw new SwapKitError('core_chain_halted');\n\n return chainAddressData;\n };\n\n #addConnectedChain = ({ chain, wallet, walletMethods }: AddChainWalletParams) => {\n this.connectedChains[chain] = wallet;\n this.connectedWallets[chain] = walletMethods;\n };\n\n #approve = async <T = string>({\n assetValue,\n type = 'checkOnly',\n contractAddress,\n }: {\n assetValue: AssetValue;\n type?: 'checkOnly' | 'approve';\n contractAddress?: string;\n }) => {\n const { address, chain, isGasAsset, isSynthetic } = assetValue;\n const isEVMChain = [Chain.Ethereum, Chain.Avalanche, Chain.BinanceSmartChain].includes(chain);\n const isNativeEVM = isEVMChain && isGasAsset;\n\n if (isNativeEVM || !isEVMChain || isSynthetic) return true;\n\n const walletMethods = this.connectedWallets[chain as EVMChain];\n const walletAction = type === 'checkOnly' ? walletMethods?.isApproved : walletMethods?.approve;\n\n if (!walletAction) throw new SwapKitError('core_wallet_connection_not_found');\n\n const from = this.getAddress(chain);\n\n if (!address || !from) throw new SwapKitError('core_approve_asset_address_or_from_not_found');\n\n const spenderAddress =\n contractAddress || ((await this.#getInboundDataByChain(chain)).router as string);\n\n return walletAction({\n amount: assetValue.getBaseValue('bigint'),\n assetAddress: address,\n from,\n spenderAddress,\n }) as Promise<T>;\n };\n\n #depositToPool = async ({\n assetValue,\n memo,\n feeOptionKey = FeeOption.Fast,\n }: {\n assetValue: AssetValue;\n memo: string;\n feeOptionKey?: FeeOption;\n }) => {\n const {\n gas_rate,\n router,\n address: poolAddress,\n } = await this.#getInboundDataByChain(assetValue.chain);\n const feeRate = (parseInt(gas_rate) || 0) * gasFeeMultiplier[feeOptionKey];\n\n return this.deposit({\n assetValue,\n recipient: poolAddress,\n memo,\n router,\n feeRate,\n });\n };\n\n #thorchainTransfer = async ({ memo, assetValue }: { assetValue: AssetValue; memo: string }) => {\n const mimir = await getMimirData(this.stagenet);\n\n // check if trading is halted or not\n if (mimir['HALTCHAINGLOBAL'] >= 1 || mimir['HALTTHORCHAIN'] >= 1) {\n throw new SwapKitError('core_chain_halted');\n }\n\n return this.deposit({ assetValue, recipient: '', memo });\n };\n\n #prepareTxParams = ({ assetValue, ...restTxParams }: CoreTxParams & { router?: string }) => ({\n ...restTxParams,\n memo: restTxParams.memo || '',\n from: this.getAddress(assetValue.chain),\n assetValue,\n });\n}\n"],"names":["C","g","n","a","s","G","U","w","F","h","X","K","k","m","O","t","V","u","r","A","S","d","_","N","E","c","f","y","l","P","B","W","b","Y","j","J","$","T","I","x","p","H","o","q","Z","z","Q","ee","L","v","D","R","bt","yt","e","wt","vt","nt","Xt","$t","Tt","Ct","Rt","St","ne","it","It","Ot","ie","i","Et","Bt","At","oe","Mt","xt","ae","ce","qt","ue","le","mt","pt","ft","_t","gt","he","de","me","pe","fe","ot","M","at","Vt","Pt","kt","Nt","ct","jt","ut","Ht","Dt","Ut","Lt","Ft","lt","Wt","Gt","Yt","zt","Jt","Kt","Qt","tt","et","Zt","ht","rt","te","st","_e","dt","avaxGeneric","avaxWoofi","bscGeneric","ethGeneric","pancakeV2","pangolin","sushiswap","traderJoe","uniswapV2","uniswapV2Leg","uniswapV3_100","uniswapV3_500","uniswapV3_3000","uniswapV3_10000","lowercasedGenericAbiMappings","lowercasedContractAbiMapping","getSwapInParams","streamSwap","contractAddress","recipient","toChecksumAddress","amount","amountOutMin","data","deadline","memo","router","memoStreamingSwap","tcMemo","tcRouter","tcVault","vault","token","isGeneric","baseMemo","transactionMemo","baseParams","contractParams","getExplorerTxUrl","chain","txHash","baseUrl","ChainToExplorerUrl","Chain","getExplorerAddressUrl","address","getInboundData","stagenet","ApiUrl","RequestClient","getMimirData","getEmptyWalletStructure","acc","validateAddressType","SwapKitCore","__publicField","_a","potentialScamFilter","wallet","route","feeOptionKey","quoteMode","evmChain","SwapKitError","AGG_SWAP","walletMethods","from","to","value","params","ChainToChainId","SWAP_OUT","asset","AssetValue","__privateGet","_getInboundDataByChain","expiration","amountIn","assetValue","SwapKitNumber","swapMemo","SWAP_IN","calldata","getProvider","provider","abi","tx","_b","error","defaultBalance","walletType","balance","_approve","walletInstance","_prepareTxParams","rest","symbol","ticker","getChecksumAddressFromAsset","TCAvalancheDepositABI","TCBscDepositABI","TCEthereumVaultAbi","errorMessage","isInsufficientFunds","isGas","isServer","errorKey","runeAssetValue","runeTx","assetTx","_depositToPool","getMemoFor","MemoType","runeAddr","assetAddr","isPendingSymmAsset","mode","isSym","runeTransfer","assetTransfer","includeRuneAddress","runeAddress","assetAddress","poolAddress","symmetric","percent","targetAsset","getMinAmountByChain","memoString","type","memoType","minAmount","_thorchainTransfer","param","wallets","config","apis","rpcUrls","_addConnectedChain","estimateMaxSendableAmount","_chains","_wallet","_options","_phrase","_derivationPath","_chain","__privateAdd","chainAddressData","item","isGasAsset","isSynthetic","isEVMChain","walletAction","spenderAddress","FeeOption","gas_rate","feeRate","gasFeeMultiplier","mimir","restTxParams"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../types/dist/index.es.js","../../helpers/dist/index.es.js","../src/aggregator/contracts/avaxGeneric.ts","../src/aggregator/contracts/avaxWoofi.ts","../src/aggregator/contracts/bscGeneric.ts","../src/aggregator/contracts/ethGeneric.ts","../src/aggregator/contracts/pancakeV2.ts","../src/aggregator/contracts/pangolin.ts","../src/aggregator/contracts/sushiswap.ts","../src/aggregator/contracts/traderJoe.ts","../src/aggregator/contracts/uniswapV2.ts","../src/aggregator/contracts/uniswapV2Leg.ts","../src/aggregator/contracts/uniswapV3_100.ts","../src/aggregator/contracts/uniswapV3_500.ts","../src/aggregator/contracts/uniswapV3_3000.ts","../src/aggregator/contracts/uniswapV3_10000.ts","../src/aggregator/contracts/index.ts","../src/aggregator/getSwapParams.ts","../src/client/explorerUrls.ts","../src/client/thornode.ts","../src/client/index.ts"],"sourcesContent":["var C = Object.defineProperty;\nvar g = (e, n, a) => n in e ? C(e, n, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[n] = a;\nvar s = (e, n, a) => (g(e, typeof n != \"symbol\" ? n + \"\" : n, a), a);\nconst G = [\n { inputs: [], stateMutability: \"nonpayable\", type: \"constructor\" },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"owner\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"spender\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"value\", type: \"uint256\" }\n ],\n name: \"Approval\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"from\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, 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], U = [\n {\n inputs: [{ internalType: \"address\", name: \"rune\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferAllowance\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOut\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"target\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"address\", name: \"finalAsset\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOutAndCall\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, 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: !1,\n internalType: \"struct THORChain_Router.Coin[]\",\n name: \"coins\",\n type: \"tuple[]\"\n },\n { indexed: !1, 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], w = [\n { inputs: [], stateMutability: \"nonpayable\", type: \"constructor\" },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferAllowance\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOut\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"target\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"address\", name: \"finalAsset\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOutAndCall\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, 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: !1,\n internalType: \"struct AvaxRouter.Coin[]\",\n name: \"coins\",\n type: \"tuple[]\"\n },\n { indexed: !1, 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], F = [\n { inputs: [], stateMutability: \"nonpayable\", type: \"constructor\" },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferAllowance\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOut\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"target\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"address\", name: \"finalAsset\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOutAndCall\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, 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: !1,\n internalType: \"struct THORChain_Router.Coin[]\",\n name: \"coins\",\n type: \"tuple[]\"\n },\n { indexed: !1, 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];\nvar h = /* @__PURE__ */ ((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))(h || {});\nconst X = [\n \"ERC20-ERC20\",\n \"ARC20-ARC20\",\n \"BEP20-BEP20\"\n /* BSC_TO_BSC */\n], K = [\n \"ERC20-TC\",\n \"ERC20-ARC20\",\n \"ERC20-BEP20\",\n \"ARC20-TC\",\n \"ARC20-ERC20\",\n \"ARC20-BEP20\",\n \"BEP20-TC\",\n \"BEP20-ERC20\",\n \"BEP20-ARC20\"\n /* BSC_TO_AVAX */\n], k = [\n \"TC-TC\",\n \"TC-ERC20\",\n \"TC-ARC20\",\n \"TC-BEP20\"\n /* TC_SUPPORTED_TO_BSC */\n];\nvar 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 || {}), O = /* @__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))(O || {}), 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 || {});\nconst V = {\n [t.INVALID_INPUT_PARAMETERS]: \"Invalid input parameters: {0}.\",\n [t.UNKNOWN_PROVIDERS]: \"Unknown providers: {0}.\",\n [t.CANNOT_FIND_INBOUND_ADDRESS]: \"Cannot find inbound address.\",\n [t.NO_INBOUND_ADDRESSES]: \"No inbound addresses.\",\n [t.CHAIN_HALTED_OR_UNSUPPORTED]: \"Chain {0} halted or unsupported.\",\n [t.MISSING_INPUT_PARAMETER]: \"Missing input parameter: {0}.\",\n [t.INVALID_TYPE_GENERIC]: \"Invalid type\",\n [t.INVALID_NUMBER_STRING]: \"Invalid number string.\",\n [t.INVALID_NUMBER]: \"Invalid number.\",\n [t.INVALID_BOOLEAN]: \"Invalid boolean.\",\n [t.INVALID_OBJECT]: \"Invalid object.\",\n [t.INVALID_ARRAY]: \"Invalid array.\",\n [t.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: \"Sell amount must be a positive integer.\",\n [t.SELL_BUY_ASSETS_ARE_THE_SAME]: \"Sell and buy assets are the same.\",\n [t.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: \"Source address is required for synth quote.\",\n [t.AFF_ADDRESS_AND_BPS_OR_NEITHER]: \"Must provide affiliateAddress and affiliateBasisPoints params, or neither.\",\n [t.AFF_ADDRESS_TOO_LONG]: \"affiliateAddress too long: 3 characters max.\",\n [t.AFF_BPS_INTEGER_MAX_500]: \"affiliateBasisPoints must be an integer between 0 and 100.\",\n [t.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: \"Source address {0} invalid for sell chain.\",\n [t.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]: \"Destination address {0} invalid for buy chain.\",\n [t.PREFERRED_PROVIDER_NOT_SUPPORTED]: \"Preferred provider not supported.\",\n [t.DESTINATION_ADDRESS_SMART_CONTRACT]: \"Destination address is a smart contract.\",\n [t.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: \"Buy amount must be a positive integer.\",\n [t.INVALID_PROVIDER]: \"Invalid provider {0}.\",\n [t.MISSING_CROSS_CHAIN_PROVIDER]: \"Missing cross-chain provider.\",\n [t.MISSING_AVAX_PROVIDER]: \"Missing AVAX provider.\",\n [t.MISSING_BSC_PROVIDER]: \"Missing BSC provider.\",\n [t.MISSING_ETH_PROVIDER]: \"Missing ETH provider.\",\n [t.MISSING_ARB_PROVIDER]: \"Missing ARB provider.\",\n [t.INVALID_PROVIDER_FOR_SWAP_OUT]: \"Invalid provider for swap out.\",\n [t.INVALID_CHAIN]: \"Invalid chain {0}.\",\n [t.INVALID_ASSET]: \"Invalid asset {0}.\",\n [t.UNSUPPORTED_CHAIN]: \"Unsupported chain {0}.\",\n [t.UNSUPPORTED_ASSET]: \"Unsupported asset {0}.\",\n [t.UNSUPPORTED_ASSET_FOR_SWAPOUT]: \"Unsupported asset {0} for swap out.\",\n [t.THORNODE_QUOTE_GENERIC_ERROR]: \"ThorNode quote generic error.\",\n [t.INVALID_SOURCE_ADDRESS]: \"Invalid source address {0}\",\n [t.INVALID_DESTINATION_ADDRESS]: \"Invalid destination address {0}\",\n [t.NOT_ENOUGH_SYNTH_BALANCE]: \"Source address doesn't have enough synth balance for this quote.\",\n [t.SYNTH_MINTING_CAP_REACHED]: \"Synth minting cap reached.\",\n [t.INVALID_QUOTE_MODE]: \"Invalid quote mode.\",\n [t.NO_QUOTES]: \"No quotes to service this request.\",\n [t.SERVICE_UNAVAILABLE_GENERIC]: \"Service unavailable.\",\n [t.MISSING_GAS_DATA_GENERIC]: \"Missing gas data.\",\n [t.MISSING_TOKEN_INFO_GENERIC]: \"Missing token info.\",\n [t.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [t.NO_PRICE]: \"No price for asset {0}.\",\n [t.PRICE_IS_STALE]: \"Price is stale for asset {0}.\",\n [t.ADDRESS_NOT_WHITELISTED]: \"Address {0} not whitelisted for airdrop.\",\n [t.ADDRESS_ALREADY_CLAIMED]: \"Address {0} already claimed the airdrop.\"\n}, u = (e, n) => {\n let a = V[e];\n for (let r = 0; r < n.length; r++)\n a = a.replace(`{${r}}`, n[r]);\n return n.length === 0 ? a.replace(\"{0}\", \"\") : a;\n};\nclass A extends Error {\n constructor({\n status: a,\n revision: r,\n module: S,\n code: d,\n message: _,\n type: N,\n options: { shouldLog: E, shouldThrow: c, shouldTrace: f } = {\n shouldLog: !0,\n shouldThrow: !0,\n shouldTrace: !0\n },\n displayMessageParams: y\n }) {\n const l = _ || u(d, y || []) || \"\";\n super(l);\n s(this, \"status\");\n s(this, \"revision\");\n s(this, \"type\");\n s(this, \"module\");\n s(this, \"code\");\n s(this, \"message\");\n s(this, \"display\");\n s(this, \"stack\");\n s(this, \"options\");\n s(this, \"displayMessageParams\");\n this.status = a, 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 = {\n shouldLog: E || !0,\n shouldTrace: f || !0,\n shouldThrow: c || !1\n }, this.displayMessageParams = y || [], this.options.shouldTrace && Error.captureStackTrace(this);\n }\n static fromErrorInfo(a) {\n return new A(a);\n }\n toErrorInfo() {\n return { ...this, identifier: this.identifier };\n }\n get identifier() {\n return `${this.revision}-${this.type || \"NO_TYPE\"}-${this.module}-${this.code}`;\n }\n get displayMessage() {\n return u(this.code, this.displayMessageParams || []);\n }\n handle() {\n const a = `[${this.identifier}]: ${this.message}`;\n if (this.options.shouldLog && console.error(a, `\n`, this.stack || \"\"), this.options.shouldThrow)\n throw Error(a, { cause: this.stack });\n return this.toErrorInfo();\n }\n}\nvar 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 || {});\nconst W = {\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};\nvar 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 || {});\nconst Y = [\n \"ETH\",\n \"AVAX\",\n \"BSC\",\n \"ARB\",\n \"OP\",\n \"MATIC\"\n /* Polygon */\n], j = [\n \"BTC\",\n \"BCH\",\n \"DOGE\",\n \"LTC\"\n /* Litecoin */\n], J = [\n \"GAIA\",\n \"THOR\",\n \"BNB\"\n /* Binance */\n], $ = [\n \"AVAX\",\n \"BNB\",\n \"BSC\",\n \"BTC\",\n \"BCH\",\n \"GAIA\",\n \"DOGE\",\n \"ETH\",\n \"LTC\",\n \"THOR\"\n /* THORChain */\n];\nvar T = /* @__PURE__ */ ((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))(T || {}), I = /* @__PURE__ */ ((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))(I || {}), x = /* @__PURE__ */ ((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))(x || {});\nconst p = Object.values(i), H = Object.keys(i), o = p.reduce(\n (e, n) => {\n const a = H.find((r) => i[r] === n);\n return a && (e[n] = a), e;\n },\n {}\n), q = p.reduce(\n (e, n) => (e[n] = T[o[n]], e),\n {}\n), Z = p.reduce(\n (e, n) => (e[n] = I[o[n]], e),\n {}\n), z = p.reduce(\n (e, n) => {\n const a = `${o[n]}Hex`;\n return e[n] = T[a], e;\n },\n {}\n), Q = {\n \"0xa4b1\": \"ARB\",\n 42161: \"ARB\",\n \"0xa86a\": \"AVAX\",\n 43114: \"AVAX\",\n \"0x38\": \"BSC\",\n 56: \"BSC\",\n \"Binance-Chain-Tigris\": \"BNB\",\n bitcoincash: \"BCH\",\n bitcoin: \"BTC\",\n \"cosmoshub-4\": \"GAIA\",\n dogecoin: \"DOGE\",\n \"0x1\": \"ETH\",\n \"kaiyo-1\": \"KUJI\",\n 1: \"ETH\",\n litecoin: \"LTC\",\n \"mayachain-stagenet-v1\": \"MAYA\",\n \"mayachain-mainnet-v1\": \"MAYA\",\n \"0xa\": \"OP\",\n 10: \"OP\",\n \"0x89\": \"MATIC\",\n 137: \"MATIC\",\n \"thorchain-stagenet-v2\": \"THOR\",\n \"thorchain-mainnet-v1\": \"THOR\"\n /* THORChain */\n}, ee = {\n ARB: \"https://arbiscan.io\",\n AVAX: \"https://snowtrace.io\",\n BSC: \"https://bscscan.com\",\n BNB: \"https://explorer.binance.org\",\n BCH: \"https://www.blockchair.com/bitcoin-cash\",\n BTC: \"https://blockchair.com/bitcoin\",\n GAIA: \"https://cosmos.bigdipper.live\",\n DOGE: \"https://blockchair.com/dogecoin\",\n KUJI: \"https://finder.kujira.network/kaiyo-1\",\n ETH: \"https://etherscan.io\",\n LTC: \"https://blockchair.com/litecoin\",\n MAYA: \"https://www.mayascan.org\",\n OP: \"https://optimistic.etherscan.io\",\n MATIC: \"https://polygonscan.com\",\n THOR: \"https://runescan.io\"\n};\nvar L = /* @__PURE__ */ ((e) => (e[e.NoError = 36864] = \"NoError\", e))(L || {}), 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 || {}), R = /* @__PURE__ */ ((e) => (e.KEYSTORE = \"KEYSTORE\", e.XDEFI = \"XDEFI\", e.METAMASK = \"METAMASK\", e.COINBASE_WEB = \"COINBASE_WEB\", e.TREZOR = \"TREZOR\", e.TRUSTWALLET_WEB = \"TRUSTWALLET_WEB\", e.LEDGER = \"LEDGER\", e.KEPLR = \"KEPLR\", e.OKX = \"OKX\", e.OKX_MOBILE = \"OKX_MOBILE\", e.BRAVE = \"BRAVE\", e.WALLETCONNECT = \"WALLETCONNECT\", e))(R || {});\nexport {\n X as AGG_SWAP,\n A as ApiError,\n x as ApiUrl,\n b as BaseDecimal,\n i as Chain,\n T as ChainId,\n Q as ChainIdToChain,\n q as ChainToChainId,\n ee as ChainToExplorerUrl,\n z as ChainToHexChainId,\n Z as ChainToRPC,\n P as ContractAddress,\n J as CosmosChainList,\n B as DerivationPath,\n t as ERROR_CODE,\n O as ERROR_MODULE,\n m as ERROR_TYPE,\n Y as EVMChainList,\n L as ErrorCode,\n D as FeeOption,\n v as MemoType,\n W as NetworkDerivationPath,\n h as QuoteMode,\n I as RPCUrl,\n K as SWAP_IN,\n k as SWAP_OUT,\n w as TCAvalancheDepositABI,\n F as TCBscDepositABI,\n U as TCEthereumVaultAbi,\n $ as TCSupportedChainList,\n j as UTXOChainList,\n R as WalletOption,\n G as erc20ABI\n};\n//# sourceMappingURL=index.es.js.map\n","var bt = Object.defineProperty;\nvar yt = (s, t, e) => t in s ? bt(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;\nvar f = (s, t, e) => (yt(s, typeof t != \"symbol\" ? t + \"\" : t, e), e), wt = (s, t, e) => {\n if (!t.has(s))\n throw TypeError(\"Cannot \" + e);\n};\nvar v = (s, t, e) => {\n if (t.has(s))\n throw TypeError(\"Cannot add the same private member more than once\");\n t instanceof WeakSet ? t.add(s) : t.set(s, e);\n};\nvar m = (s, t, e) => (wt(s, t, \"access private method\"), e);\nimport { FeeOption as U, BaseDecimal as d, Chain as o, EVMChainList as At, ChainToRPC as $t, MemoType as _ } from \"@swapkit/types\";\nconst vt = \"0x313ce567\", nt = async ({ chain: s, to: t }) => {\n try {\n const { result: e } = await Xt.post($t[s], {\n headers: {\n accept: \"*/*\",\n \"content-type\": \"application/json\",\n \"cache-control\": \"no-cache\"\n },\n body: JSON.stringify({\n id: 44,\n jsonrpc: \"2.0\",\n method: \"eth_call\",\n params: [{ to: t.toLowerCase(), data: vt }, \"latest\"]\n })\n });\n return parseInt(BigInt(e).toString());\n } catch (e) {\n return console.error(e), d[s];\n }\n}, Tt = async (s) => {\n if (s === o.Ethereum)\n return d.ETH;\n const [, t] = s.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? nt({ chain: o.Ethereum, to: t }) : d.ETH;\n}, Ct = async (s) => {\n const [, t] = s.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? nt({ chain: o.Avalanche, to: t.toLowerCase() }) : d.AVAX;\n}, Rt = async (s) => s === o.BinanceSmartChain ? d.BSC : d.BSC, St = async ({ chain: s, symbol: t }) => {\n switch (s) {\n case o.Ethereum:\n return Tt(t);\n case o.Avalanche:\n return Ct(t);\n case o.BinanceSmartChain:\n return Rt(t);\n default:\n return d[s];\n }\n}, ne = {\n [U.Average]: 1.2,\n [U.Fast]: 1.5,\n [U.Fastest]: 2\n}, it = ({ chain: s, symbol: t }) => {\n switch (s) {\n case o.Bitcoin:\n case o.BitcoinCash:\n case o.Litecoin:\n case o.Dogecoin:\n case o.Binance:\n case o.Ethereum:\n case o.Avalanche:\n return t === s;\n case o.Arbitrum:\n case o.Optimism:\n return t === \"ETH\";\n case o.Maya:\n return t === \"CACAO\";\n case o.Kujira:\n return t === \"KUJI\";\n case o.Cosmos:\n return t === \"ATOM\";\n case o.Polygon:\n return t === \"MATIC\";\n case o.BinanceSmartChain:\n return t === \"BNB\";\n case o.THORChain:\n return t === \"RUNE\";\n }\n}, It = (s) => {\n switch (s) {\n case \"ETH.THOR\":\n return { identifier: \"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044\", decimal: 18 };\n case \"ETH.vTHOR\":\n return { identifier: \"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d\", decimal: 18 };\n case o.Cosmos:\n return { identifier: \"GAIA.ATOM\", decimal: d[s] };\n case o.THORChain:\n return { identifier: \"THOR.RUNE\", decimal: d[s] };\n case o.BinanceSmartChain:\n return { identifier: \"BSC.BNB\", decimal: d[s] };\n case o.Maya:\n return { identifier: \"MAYA.CACAO\", decimal: d.MAYA };\n case \"MAYA.MAYA\":\n return { identifier: \"MAYA.MAYA\", decimal: 4 };\n case o.Kujira:\n case o.Arbitrum:\n case o.Optimism:\n case o.BitcoinCash:\n case o.Litecoin:\n case o.Dogecoin:\n case o.Binance:\n case o.Avalanche:\n case o.Polygon:\n case o.Bitcoin:\n case o.Ethereum:\n return { identifier: `${s}.${s}`, decimal: d[s] };\n }\n}, Ot = ({ chain: s, symbol: t }) => {\n if (t.includes(\"/\"))\n return \"Synth\";\n switch (s) {\n case o.Bitcoin:\n case o.BitcoinCash:\n case o.Dogecoin:\n case o.Litecoin:\n case o.Maya:\n case o.THORChain:\n return \"Native\";\n case o.Cosmos:\n return t === \"ATOM\" ? \"Native\" : o.Cosmos;\n case o.Kujira:\n return t === o.Kujira ? \"Native\" : o.Kujira;\n case o.Binance:\n return t === o.Binance ? \"Native\" : \"BEP2\";\n case o.BinanceSmartChain:\n return t === o.Binance ? \"Native\" : \"BEP20\";\n case o.Ethereum:\n return t === o.Ethereum ? \"Native\" : \"ERC20\";\n case o.Avalanche:\n return t === o.Avalanche ? \"Native\" : o.Avalanche;\n case o.Polygon:\n return t === o.Polygon ? \"Native\" : \"POLYGON\";\n case o.Arbitrum:\n return [o.Ethereum, o.Arbitrum].includes(t) ? \"Native\" : \"ARBITRUM\";\n case o.Optimism:\n return [o.Ethereum, o.Optimism].includes(t) ? \"Native\" : \"OPTIMISM\";\n }\n}, ie = (s) => {\n var c;\n const [t, ...e] = s.split(\".\"), r = s.includes(\"/\"), n = e.join(\".\"), i = (c = n == null ? void 0 : n.split(\"-\")) == null ? void 0 : c[0];\n return { chain: t, symbol: n, ticker: i, synth: r };\n}, Et = new RegExp(\n /(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/,\n \"gmi\"\n), Bt = (s) => {\n const [t, e] = s.split(\".\");\n if (!At.includes(t))\n return !0;\n const [, r] = e.split(\"-\");\n return it({ chain: t, symbol: e }) || !!r;\n}, oe = (s) => s.filter((t) => {\n const e = `${t.chain}.${t.symbol}`;\n return !Et.test(e) && Bt(e) && t.value !== \"0\";\n});\nfunction Mt({\n liquidityUnits: s,\n poolUnits: t,\n runeDepth: e\n}) {\n const r = p(s), n = p(t), i = p(e), c = r.mul(i), a = n.mul(n).mul(2), u = n.mul(r).mul(2), l = r.mul(r), h = n.mul(n).mul(n);\n return c.mul(a.sub(u).add(l)).div(h);\n}\nfunction xt({\n liquidityUnits: s,\n poolUnits: t,\n assetDepth: e\n}) {\n const r = p(s), n = p(t), i = p(e), c = r.mul(i), a = n.mul(n).mul(2), u = n.mul(r).mul(2), l = r.mul(r), h = c.mul(a.sub(u).add(l)), $ = n.mul(n).mul(n);\n return h.div($);\n}\nfunction ae({\n percent: s,\n runeDepth: t,\n liquidityUnits: e,\n poolUnits: r\n}) {\n return Mt({ runeDepth: t, liquidityUnits: e, poolUnits: r }).mul(s);\n}\nfunction ce({\n percent: s,\n assetDepth: t,\n liquidityUnits: e,\n poolUnits: r\n}) {\n return xt({ assetDepth: t, liquidityUnits: e, poolUnits: r }).mul(s);\n}\nfunction p(s) {\n return g.fromBigInt(BigInt(s), d.THOR);\n}\nfunction qt({\n liquidityUnits: s,\n poolUnits: t,\n runeDepth: e,\n assetDepth: r\n}) {\n return {\n assetAmount: p(r).mul(s).div(t),\n runeAmount: p(e).mul(s).div(t)\n };\n}\nfunction ue({\n liquidityUnits: s,\n poolUnits: t,\n runeDepth: e,\n assetDepth: r,\n percent: n\n}) {\n return Object.fromEntries(\n Object.entries(qt({ liquidityUnits: s, poolUnits: t, runeDepth: e, assetDepth: r })).map(\n ([i, c]) => [i, c.mul(n)]\n )\n );\n}\nfunction le({\n runeDepth: s,\n poolUnits: t,\n assetDepth: e,\n liquidityUnits: r,\n runeAmount: n,\n assetAmount: i\n}) {\n const c = new g({ value: s, decimal: 8 }), a = new g({ value: e, decimal: 8 }), u = new g({ value: t, decimal: 8 }), l = new g({ value: n, decimal: 8 }), h = new g({ value: i, decimal: 8 }), $ = l.mul(a), H = h.mul(c), mt = l.mul(h), pt = c.mul(a), ft = u.mul($.add(H.add(mt.mul(2)))), _t = $.add(H.add(pt.mul(2))), Q = ft.div(_t), D = p(r).add(Q);\n if (Q.getBaseValue(\"number\") === 0)\n return D.div(u).getBaseValue(\"number\");\n const gt = u.add(D);\n return D.div(gt).getBaseValue(\"number\");\n}\nfunction he({\n runeAmount: s,\n assetAmount: t,\n runeDepth: e,\n assetDepth: r\n}) {\n if (s === \"0\" || t === \"0\" || e === \"0\" || r === \"0\")\n return 0;\n const n = p(e), i = p(r), c = p(t), a = p(s), u = c.mul(n).sub(i.mul(a)), l = i.mul(a).add(n.mul(i));\n return Math.abs(u.div(l).getBaseValue(\"number\"));\n}\nconst de = (s, t) => {\n switch (s) {\n case _.LEAVE:\n case _.BOND: {\n const { address: e } = t;\n return `${s}:${e}`;\n }\n case _.UNBOND: {\n const { address: e, unbondAmount: r } = t;\n return `${s}:${e}:${r * 10 ** 8}`;\n }\n case _.THORNAME_REGISTER: {\n const { name: e, chain: r, address: n, owner: i } = t;\n return `${s}:${e}:${r}:${n}${i ? `:${i}` : \"\"}`;\n }\n case _.DEPOSIT: {\n const { chain: e, symbol: r, address: n, singleSide: i } = t;\n return i ? `${s}:${e}/${r}::t:0` : `${s}:${((a, u) => {\n switch (a) {\n case o.Litecoin:\n return \"l\";\n case o.Dogecoin:\n return \"d\";\n case o.BitcoinCash:\n return \"c\";\n default:\n return `${a}.${u}`;\n }\n })(e, r)}:${n || \"\"}:t:0`;\n }\n case _.WITHDRAW: {\n const { chain: e, ticker: r, symbol: n, basisPoints: i, targetAssetString: c, singleSide: a } = t, u = e === \"ETH\" && r !== \"ETH\" ? `${r}-${n.slice(-3)}` : n, l = !a && c ? `:${c}` : \"\";\n return `${s}:${e}${a ? \"/\" : \".\"}${u}:${i}${l}`;\n }\n case _.OPEN_LOAN:\n case _.CLOSE_LOAN: {\n const { asset: e, address: r } = t;\n return `${s}:${e}:${r}`;\n }\n default:\n return \"\";\n }\n};\nfunction me(s) {\n if (s < 0)\n throw new Error(\"Invalid number of year\");\n return 10 + s;\n}\nfunction pe(s) {\n if (s.length > 30)\n return !1;\n const t = /^[a-zA-Z0-9+_-]+$/g;\n return !!s.match(t);\n}\nfunction fe([s, t, e, r, n]) {\n return `${s}'/${t}'/${e}'/${r}${typeof n != \"number\" ? \"\" : `/${n}`}`;\n}\nclass X extends Error {\n constructor(t, e, r) {\n const n = t.status || t.status === 0 ? t.status : \"\", i = t.statusText || \"\", c = `${n} ${i}`.trim(), a = c ? `status code ${c}` : \"an unknown error\";\n super(`Request failed with ${a}`), Object.defineProperty(this, \"response\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"request\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"options\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), this.name = \"HTTPError\", this.response = t, this.request = e, this.options = r;\n }\n}\nclass ot extends Error {\n constructor(t) {\n super(\"Request timed out\"), Object.defineProperty(this, \"request\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), this.name = \"TimeoutError\", this.request = t;\n }\n}\nconst q = (s) => s !== null && typeof s == \"object\", M = (...s) => {\n for (const t of s)\n if ((!q(t) || Array.isArray(t)) && t !== void 0)\n throw new TypeError(\"The `options` argument must be an object\");\n return J({}, ...s);\n}, at = (s = {}, t = {}) => {\n const e = new globalThis.Headers(s), r = t instanceof globalThis.Headers, n = new globalThis.Headers(t);\n for (const [i, c] of n.entries())\n r && c === \"undefined\" || c === void 0 ? e.delete(i) : e.set(i, c);\n return e;\n}, J = (...s) => {\n let t = {}, e = {};\n for (const r of s)\n if (Array.isArray(r))\n Array.isArray(t) || (t = []), t = [...t, ...r];\n else if (q(r)) {\n for (let [n, i] of Object.entries(r))\n q(i) && n in t && (i = J(t[n], i)), t = { ...t, [n]: i };\n q(r.headers) && (e = at(e, r.headers), t.headers = e);\n }\n return t;\n}, Pt = (() => {\n let s = !1, t = !1;\n const e = typeof globalThis.ReadableStream == \"function\", r = typeof globalThis.Request == \"function\";\n return e && r && (t = new globalThis.Request(\"https://empty.invalid\", {\n body: new globalThis.ReadableStream(),\n method: \"POST\",\n // @ts-expect-error - Types are outdated.\n get duplex() {\n return s = !0, \"half\";\n }\n }).headers.has(\"Content-Type\")), s && !t;\n})(), Vt = typeof globalThis.AbortController == \"function\", kt = typeof globalThis.ReadableStream == \"function\", jt = typeof globalThis.FormData == \"function\", ct = [\"get\", \"post\", \"put\", \"patch\", \"head\", \"delete\"], Nt = {\n json: \"application/json\",\n text: \"text/*\",\n formData: \"multipart/form-data\",\n arrayBuffer: \"*/*\",\n blob: \"*/*\"\n}, L = 2147483647, ut = Symbol(\"stop\"), Ht = {\n json: !0,\n parseJson: !0,\n searchParams: !0,\n prefixUrl: !0,\n retry: !0,\n timeout: !0,\n hooks: !0,\n throwHttpErrors: !0,\n onDownloadProgress: !0,\n fetch: !0\n}, Dt = {\n method: !0,\n headers: !0,\n body: !0,\n mode: !0,\n credentials: !0,\n cache: !0,\n redirect: !0,\n referrer: !0,\n referrerPolicy: !0,\n integrity: !0,\n keepalive: !0,\n signal: !0,\n window: !0,\n dispatcher: !0,\n duplex: !0\n}, Ut = (s) => ct.includes(s) ? s.toUpperCase() : s, Lt = [\"get\", \"put\", \"head\", \"delete\", \"options\", \"trace\"], Ft = [408, 413, 429, 500, 502, 503, 504], lt = [413, 429, 503], Z = {\n limit: 2,\n methods: Lt,\n statusCodes: Ft,\n afterStatusCodes: lt,\n maxRetryAfter: Number.POSITIVE_INFINITY,\n backoffLimit: Number.POSITIVE_INFINITY,\n delay: (s) => 0.3 * 2 ** (s - 1) * 1e3\n}, Wt = (s = {}) => {\n if (typeof s == \"number\")\n return {\n ...Z,\n limit: s\n };\n if (s.methods && !Array.isArray(s.methods))\n throw new Error(\"retry.methods must be an array\");\n if (s.statusCodes && !Array.isArray(s.statusCodes))\n throw new Error(\"retry.statusCodes must be an array\");\n return {\n ...Z,\n ...s,\n afterStatusCodes: lt\n };\n};\nasync function Gt(s, t, e, r) {\n return new Promise((n, i) => {\n const c = setTimeout(() => {\n e && e.abort(), i(new ot(s));\n }, r.timeout);\n r.fetch(s, t).then(n).catch(i).then(() => {\n clearTimeout(c);\n });\n });\n}\nasync function Yt(s, { signal: t }) {\n return new Promise((e, r) => {\n t && (t.throwIfAborted(), t.addEventListener(\"abort\", n, { once: !0 }));\n function n() {\n clearTimeout(i), r(t.reason);\n }\n const i = setTimeout(() => {\n t == null || t.removeEventListener(\"abort\", n), e();\n }, s);\n });\n}\nconst zt = (s, t) => {\n const e = {};\n for (const r in t)\n !(r in Dt) && !(r in Ht) && !(r in s) && (e[r] = t[r]);\n return e;\n};\nclass V {\n static create(t, e) {\n const r = new V(t, e), n = async () => {\n if (typeof r._options.timeout == \"number\" && r._options.timeout > L)\n throw new RangeError(`The \\`timeout\\` option cannot be greater than ${L}`);\n await Promise.resolve();\n let a = await r._fetch();\n for (const u of r._options.hooks.afterResponse) {\n const l = await u(r.request, r._options, r._decorateResponse(a.clone()));\n l instanceof globalThis.Response && (a = l);\n }\n if (r._decorateResponse(a), !a.ok && r._options.throwHttpErrors) {\n let u = new X(a, r.request, r._options);\n for (const l of r._options.hooks.beforeError)\n u = await l(u);\n throw u;\n }\n if (r._options.onDownloadProgress) {\n if (typeof r._options.onDownloadProgress != \"function\")\n throw new TypeError(\"The `onDownloadProgress` option must be a function\");\n if (!kt)\n throw new Error(\"Streams are not supported in your environment. `ReadableStream` is missing.\");\n return r._stream(a.clone(), r._options.onDownloadProgress);\n }\n return a;\n }, c = r._options.retry.methods.includes(r.request.method.toLowerCase()) ? r._retry(n) : n();\n for (const [a, u] of Object.entries(Nt))\n c[a] = async () => {\n r.request.headers.set(\"accept\", r.request.headers.get(\"accept\") || u);\n const h = (await c).clone();\n if (a === \"json\") {\n if (h.status === 204 || (await h.clone().arrayBuffer()).byteLength === 0)\n return \"\";\n if (e.parseJson)\n return e.parseJson(await h.text());\n }\n return h[a]();\n };\n return c;\n }\n // eslint-disable-next-line complexity\n constructor(t, e = {}) {\n if (Object.defineProperty(this, \"request\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"abortController\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"_retryCount\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: 0\n }), Object.defineProperty(this, \"_input\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), Object.defineProperty(this, \"_options\", {\n enumerable: !0,\n configurable: !0,\n writable: !0,\n value: void 0\n }), this._input = t, this._options = {\n // TODO: credentials can be removed when the spec change is implemented in all browsers. Context: https://www.chromestatus.com/feature/4539473312350208\n credentials: this._input.credentials || \"same-origin\",\n ...e,\n headers: at(this._input.headers, e.headers),\n hooks: J({\n beforeRequest: [],\n beforeRetry: [],\n beforeError: [],\n afterResponse: []\n }, e.hooks),\n method: Ut(e.method ?? this._input.method),\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n prefixUrl: String(e.prefixUrl || \"\"),\n retry: Wt(e.retry),\n throwHttpErrors: e.throwHttpErrors !== !1,\n timeout: e.timeout ?? 1e4,\n fetch: e.fetch ?? globalThis.fetch.bind(globalThis)\n }, typeof this._input != \"string\" && !(this._input instanceof URL || this._input instanceof globalThis.Request))\n throw new TypeError(\"`input` must be a string, URL, or Request\");\n if (this._options.prefixUrl && typeof this._input == \"string\") {\n if (this._input.startsWith(\"/\"))\n throw new Error(\"`input` must not begin with a slash when using `prefixUrl`\");\n this._options.prefixUrl.endsWith(\"/\") || (this._options.prefixUrl += \"/\"), this._input = this._options.prefixUrl + this._input;\n }\n if (Vt) {\n if (this.abortController = new globalThis.AbortController(), this._options.signal) {\n const r = this._options.signal;\n this._options.signal.addEventListener(\"abort\", () => {\n this.abortController.abort(r.reason);\n });\n }\n this._options.signal = this.abortController.signal;\n }\n if (Pt && (this._options.duplex = \"half\"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {\n const n = \"?\" + (typeof this._options.searchParams == \"string\" ? this._options.searchParams.replace(/^\\?/, \"\") : new URLSearchParams(this._options.searchParams).toString()), i = this.request.url.replace(/(?:\\?.*?)?(?=#|$)/, n);\n (jt && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers[\"content-type\"]) && this.request.headers.delete(\"content-type\"), this.request = new globalThis.Request(new globalThis.Request(i, { ...this.request }), this._options);\n }\n this._options.json !== void 0 && (this._options.body = JSON.stringify(this._options.json), this.request.headers.set(\"content-type\", this._options.headers.get(\"content-type\") ?? \"application/json\"), this.request = new globalThis.Request(this.request, { body: this._options.body }));\n }\n _calculateRetryDelay(t) {\n if (this._retryCount++, this._retryCount < this._options.retry.limit && !(t instanceof ot)) {\n if (t instanceof X) {\n if (!this._options.retry.statusCodes.includes(t.response.status))\n return 0;\n const r = t.response.headers.get(\"Retry-After\");\n if (r && this._options.retry.afterStatusCodes.includes(t.response.status)) {\n let n = Number(r);\n return Number.isNaN(n) ? n = Date.parse(r) - Date.now() : n *= 1e3, this._options.retry.maxRetryAfter !== void 0 && n > this._options.retry.maxRetryAfter ? 0 : n;\n }\n if (t.response.status === 413)\n return 0;\n }\n const e = this._options.retry.delay(this._retryCount);\n return Math.min(this._options.retry.backoffLimit, e);\n }\n return 0;\n }\n _decorateResponse(t) {\n return this._options.parseJson && (t.json = async () => this._options.parseJson(await t.text())), t;\n }\n async _retry(t) {\n try {\n return await t();\n } catch (e) {\n const r = Math.min(this._calculateRetryDelay(e), L);\n if (r !== 0 && this._retryCount > 0) {\n await Yt(r, { signal: this._options.signal });\n for (const n of this._options.hooks.beforeRetry)\n if (await n({\n request: this.request,\n options: this._options,\n error: e,\n retryCount: this._retryCount\n }) === ut)\n return;\n return this._retry(t);\n }\n throw e;\n }\n }\n async _fetch() {\n for (const e of this._options.hooks.beforeRequest) {\n const r = await e(this.request, this._options);\n if (r instanceof Request) {\n this.request = r;\n break;\n }\n if (r instanceof Response)\n return r;\n }\n const t = zt(this.request, this._options);\n return this._options.timeout === !1 ? this._options.fetch(this.request.clone(), t) : Gt(this.request.clone(), t, this.abortController, this._options);\n }\n /* istanbul ignore next */\n _stream(t, e) {\n const r = Number(t.headers.get(\"content-length\")) || 0;\n let n = 0;\n return t.status === 204 ? (e && e({ percent: 1, totalBytes: r, transferredBytes: n }, new Uint8Array()), new globalThis.Response(null, {\n status: t.status,\n statusText: t.statusText,\n headers: t.headers\n })) : new globalThis.Response(new globalThis.ReadableStream({\n async start(i) {\n const c = t.body.getReader();\n e && e({ percent: 0, transferredBytes: 0, totalBytes: r }, new Uint8Array());\n async function a() {\n const { done: u, value: l } = await c.read();\n if (u) {\n i.close();\n return;\n }\n if (e) {\n n += l.byteLength;\n const h = r === 0 ? 0 : n / r;\n e({ percent: h, transferredBytes: n, totalBytes: r }, l);\n }\n i.enqueue(l), await a();\n }\n await a();\n }\n }), {\n status: t.status,\n statusText: t.statusText,\n headers: t.headers\n });\n }\n}\n/*! MIT License © Sindre Sorhus */\nconst W = (s) => {\n const t = (e, r) => V.create(e, M(s, r));\n for (const e of ct)\n t[e] = (r, n) => V.create(r, M(s, n, { method: e }));\n return t.create = (e) => W(M(e)), t.extend = (e) => W(M(s, e)), t.stop = ut, t;\n}, Jt = W(), Kt = Jt, Qt = typeof window < \"u\" ? {} : { referrer: \"https://sk.thorswap.net\", referer: \"https://sk.thorswap.net\" }, tt = Kt.create({ headers: Qt }), Xt = {\n get: (s, t) => tt.get(s, t).json(),\n post: (s, t) => tt.post(s, t).json()\n}, et = [...Object.values(o), \"TERRA\"];\nfunction Zt(s = \"\") {\n const t = s.toUpperCase(), [e] = t.split(\".\");\n if (et.includes(e))\n return !0;\n const [r] = t.split(\"/\");\n if (et.includes(r))\n return !0;\n throw new Error(\n `Invalid identifier: ${s}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`\n );\n}\nconst O = 8, y = (s) => 10n ** BigInt(s), C = (s) => Math.log10(parseFloat(s.toString()));\nfunction k({\n value: s,\n bigIntDecimal: t = O,\n decimal: e = O\n}) {\n if (e === 0)\n return s.toString();\n const r = s < 0n;\n let n = s.toString().substring(r ? 1 : 0);\n const i = e - (n.length - 1);\n i > 0 && (n = \"0\".repeat(i) + n);\n const c = n.length - e;\n let a = n.slice(-e);\n return parseInt(a[t]) >= 5 ? a = `${a.substring(0, t - 1)}${(parseInt(a[t - 1]) + 1).toString()}` : a = a.substring(0, t), `${r ? \"-\" : \"\"}${n.slice(0, c)}.${a}`.replace(\n /\\.?0*$/,\n \"\"\n );\n}\nvar w, R, b, T, N, ht, E, G, B, Y;\nconst K = class K {\n constructor(t) {\n v(this, w);\n v(this, b);\n v(this, N);\n v(this, E);\n v(this, B);\n f(this, \"decimalMultiplier\", 10n ** 8n);\n f(this, \"bigIntValue\", 0n);\n f(this, \"decimal\");\n const e = z(t), r = typeof t == \"object\";\n this.decimal = r ? t.decimal : void 0, this.decimalMultiplier = r && \"decimalMultiplier\" in t ? t.decimalMultiplier : y(Math.max(rt(x(e)), this.decimal || 0)), m(this, N, ht).call(this, e);\n }\n static fromBigInt(t, e) {\n return new K({\n decimal: e,\n value: k({ value: t, bigIntDecimal: e, decimal: e })\n });\n }\n static shiftDecimals({\n value: t,\n from: e,\n to: r\n }) {\n return this.fromBigInt(\n t.getBaseValue(\"bigint\") * y(r) / y(e),\n r\n );\n }\n set(t) {\n return new this.constructor({ decimal: this.decimal, value: t, identifier: this.toString() });\n }\n add(...t) {\n return m(this, w, R).call(this, \"add\", ...t);\n }\n sub(...t) {\n return m(this, w, R).call(this, \"sub\", ...t);\n }\n mul(...t) {\n return m(this, w, R).call(this, \"mul\", ...t);\n }\n div(...t) {\n return m(this, w, R).call(this, \"div\", ...t);\n }\n gt(t) {\n return m(this, b, T).call(this, \"gt\", t);\n }\n gte(t) {\n return m(this, b, T).call(this, \"gte\", t);\n }\n lt(t) {\n return m(this, b, T).call(this, \"lt\", t);\n }\n lte(t) {\n return m(this, b, T).call(this, \"lte\", t);\n }\n eqValue(t) {\n return m(this, b, T).call(this, \"eqValue\", t);\n }\n // @ts-expect-error False positive\n getValue(t) {\n const e = this.formatBigIntToSafeValue(\n this.bigIntValue,\n this.decimal || C(this.decimalMultiplier)\n );\n switch (t) {\n case \"number\":\n return Number(e);\n case \"string\":\n return e;\n case \"bigint\":\n return this.bigIntValue * 10n ** BigInt(this.decimal || 8n) / this.decimalMultiplier;\n }\n }\n // @ts-expect-error\n getBaseValue(t) {\n const e = this.decimalMultiplier / y(this.decimal || d.THOR), r = this.bigIntValue / e;\n switch (t) {\n case \"number\":\n return Number(r);\n case \"string\":\n return r.toString();\n case \"bigint\":\n return r;\n }\n }\n getBigIntValue(t, e) {\n if (!e && typeof t == \"object\")\n return t.bigIntValue;\n const r = z(t), n = x(r);\n return n === \"0\" || n === \"undefined\" ? 0n : m(this, B, Y).call(this, n, e);\n }\n toSignificant(t = 6) {\n const [e, r] = this.getValue(\"string\").split(\".\"), n = e || \"\", i = r || \"\";\n if ((parseInt(n) ? n.length + i.length : i.length) <= t)\n return this.getValue(\"string\");\n if (n.length >= t)\n return n.slice(0, t).padEnd(n.length, \"0\");\n if (parseInt(n))\n return `${n}.${i.slice(0, t - n.length)}`.padEnd(\n t - n.length,\n \"0\"\n );\n const a = parseInt(i), u = `${a}`.slice(0, t);\n return `0.${u.padStart(\n i.length - `${a}`.length + u.length,\n \"0\"\n )}`;\n }\n toFixed(t = 6) {\n const [e, r] = this.getValue(\"string\").split(\".\"), n = e || \"\", i = r || \"\";\n if (parseInt(n))\n return `${n}.${i.slice(0, t)}`.padEnd(t, \"0\");\n const c = parseInt(i), a = `${c}`.slice(0, t);\n return `0.${a.padStart(\n i.length - `${c}`.length + a.length,\n \"0\"\n )}`;\n }\n toAbbreviation(t = 2) {\n const e = this.getValue(\"number\"), r = [\"\", \"K\", \"M\", \"B\", \"T\", \"Q\", \"Qi\", \"S\"], n = Math.floor(Math.log10(Math.abs(e)) / 3), i = r[n];\n if (!i)\n return this.getValue(\"string\");\n const c = 10 ** (n * 3);\n return `${(e / c).toFixed(t)}${i}`;\n }\n toCurrency(t = \"$\", {\n currencyPosition: e = \"start\",\n decimal: r = 2,\n decimalSeparator: n = \".\",\n thousandSeparator: i = \",\"\n } = {}) {\n const c = this.getValue(\"number\"), [a, u = \"\"] = c.toFixed(6).split(\".\"), l = a.replace(/\\B(?=(\\d{3})+(?!\\d))/g, i), h = !a && !u ? \"0.00\" : a === \"0\" ? `${parseFloat(`0.${u}`)}`.replace(\".\", n) : `${l}${parseInt(u) ? `${n}${u.slice(0, r)}` : \"\"}`;\n return `${e === \"start\" ? t : \"\"}${h}${e === \"end\" ? t : \"\"}`;\n }\n formatBigIntToSafeValue(t, e) {\n const r = e || this.decimal || O, n = Math.max(\n r,\n C(this.decimalMultiplier)\n ), i = t < 0n, c = t.toString().substring(i ? 1 : 0), a = n - (c.length - 1), u = a > 0 ? \"0\".repeat(a) + c : c, l = u.length - n;\n let h = u.slice(-n);\n return parseInt(h[r]) >= 5 ? h = `${h.substring(0, r - 1)}${(parseInt(h[r - 1]) + 1).toString()}` : h = h.substring(0, r), `${i ? \"-\" : \"\"}${u.slice(\n 0,\n l\n )}.${h}`.replace(/\\.?0*$/, \"\");\n }\n};\nw = new WeakSet(), R = function(t, ...e) {\n const r = m(this, E, G).call(this, this, ...e), n = Math.max(r, C(this.decimalMultiplier)), i = y(n), c = e.reduce(\n (u, l) => {\n const h = this.getBigIntValue(l, n);\n switch (t) {\n case \"add\":\n return u + h;\n case \"sub\":\n return u - h;\n case \"mul\":\n return u * h / i;\n case \"div\": {\n if (h === 0n)\n throw new RangeError(\"Division by zero\");\n return u * i / h;\n }\n default:\n return u;\n }\n },\n //normalize is to precision multiplier base\n this.bigIntValue * i / this.decimalMultiplier\n ), a = k({\n bigIntDecimal: n,\n decimal: n,\n value: c\n });\n return new this.constructor({\n decimalMultiplier: y(n),\n decimal: this.decimal,\n value: a,\n identifier: this.toString()\n });\n}, b = new WeakSet(), T = function(t, ...e) {\n const r = m(this, E, G).call(this, this, ...e), n = this.getBigIntValue(e[0], r), i = this.getBigIntValue(this, r);\n switch (t) {\n case \"gt\":\n return i > n;\n case \"gte\":\n return i >= n;\n case \"lt\":\n return i < n;\n case \"lte\":\n return i <= n;\n case \"eqValue\":\n return i === n;\n }\n}, N = new WeakSet(), ht = function(t) {\n const e = x(t) || \"0\";\n this.bigIntValue = m(this, B, Y).call(this, e);\n}, E = new WeakSet(), G = function(...t) {\n const e = t.map((r) => typeof r == \"object\" ? r.decimal || C(r.decimalMultiplier) : rt(x(r))).filter(Boolean);\n return Math.max(...e, O);\n}, B = new WeakSet(), Y = function(t, e) {\n const r = e ? y(e) : this.decimalMultiplier, n = C(r), [i = \"\", c = \"\"] = t.split(\".\");\n return BigInt(`${i}${c.padEnd(n, \"0\")}`);\n};\nlet j = K;\nconst te = Intl.NumberFormat(\"fullwide\", {\n useGrouping: !1,\n maximumFractionDigits: 20\n});\nfunction x(s) {\n const e = `${typeof s == \"number\" ? te.format(s) : z(s)}`.replaceAll(\",\", \".\").split(\".\");\n return e.length > 1 ? `${e.slice(0, -1).join(\"\")}.${e.at(-1)}` : e[0];\n}\nfunction rt(s) {\n var e;\n const t = ((e = s.split(\".\")[1]) == null ? void 0 : e.length) || 0;\n return Math.max(t, O);\n}\nfunction z(s) {\n return typeof s == \"object\" ? \"getValue\" in s ? s.getValue(\"string\") : s.value : s;\n}\nconst S = /* @__PURE__ */ new Map();\nclass A extends j {\n constructor({\n value: e,\n decimal: r,\n tax: n,\n chain: i,\n symbol: c,\n identifier: a\n }) {\n super(typeof e == \"object\" ? e : { decimal: r, value: e });\n f(this, \"address\");\n f(this, \"chain\");\n f(this, \"isGasAsset\", !1);\n f(this, \"isSynthetic\", !1);\n f(this, \"symbol\");\n f(this, \"tax\");\n f(this, \"ticker\");\n f(this, \"type\");\n const u = P(a || `${i}.${c}`);\n this.type = Ot(u), this.tax = n, this.chain = u.chain, this.ticker = u.ticker, this.symbol = u.symbol, this.address = u.address, this.isSynthetic = u.isSynthetic, this.isGasAsset = u.isGasAsset;\n }\n toString() {\n return this.isSynthetic ? this.symbol : `${this.chain}.${this.symbol}`;\n }\n toUrl() {\n return this.isSynthetic ? `${this.chain}.${this.symbol.replace(\"/\", \".\")}` : this.toString();\n }\n eq({ chain: e, symbol: r }) {\n return this.chain === e && this.symbol === r;\n }\n // THOR.RUNE\n // THOR.ETH.ETH\n // ETH.THOR-0x1234567890\n static fromUrl(e, r = 0) {\n const [n, i, c] = e.split(\".\");\n if (!n || !i)\n throw new Error(\"Invalid asset url\");\n const a = n === o.THORChain && c ? `${n}.${i}/${c}` : e;\n return F(a, r);\n }\n static fromString(e, r = 0) {\n return F(e, r);\n }\n static fromIdentifier(e, r = 0) {\n return F(e, r);\n }\n static fromStringSync(e, r = 0) {\n const { chain: n, isSynthetic: i } = P(e), c = S.get(e.toUpperCase());\n if (i)\n return st(e, r);\n const { tax: a, decimal: u, identifier: l } = c || {\n decimal: d[n],\n identifier: e\n };\n return new A({\n tax: a,\n value: I(r, u),\n identifier: i ? e : l,\n decimal: i ? 8 : u\n });\n }\n static fromIdentifierSync(e, r = 0) {\n const { chain: n, isSynthetic: i } = P(e), c = S.get(e);\n if (i)\n return st(e, r);\n const { tax: a, decimal: u, identifier: l } = c || {\n decimal: d[n],\n identifier: e\n };\n return new A({ tax: a, decimal: u, identifier: l, value: I(r, u) });\n }\n static fromChainOrSignature(e, r = 0) {\n const { decimal: n, identifier: i } = It(e);\n return new A({ value: I(r, n), decimal: n, identifier: i });\n }\n static loadStaticAssets() {\n return new Promise(\n async (e, r) => {\n try {\n const n = await import(\"@swapkit/tokens\");\n Object.values(n).forEach((i) => {\n var c;\n (c = i == null ? void 0 : i.tokens) == null || c.forEach(({ identifier: a, chain: u, ...l }) => {\n S.set(a.toUpperCase(), {\n identifier: a,\n decimal: \"decimals\" in l ? l.decimals : d[u]\n });\n });\n }), e({ ok: !0 });\n } catch (n) {\n console.error(n), r({\n ok: !1,\n error: n,\n message: \"Couldn't load static assets. Ensure you have installed @swapkit/tokens package\"\n });\n }\n }\n );\n }\n}\nfunction _e(s) {\n const t = A.fromChainOrSignature(s);\n switch (s) {\n case o.Bitcoin:\n case o.Litecoin:\n case o.BitcoinCash:\n return t.set(10001e-8);\n case o.Dogecoin:\n return t.set(1.00000001);\n case o.Avalanche:\n case o.Ethereum:\n return t.set(1e-8);\n case o.THORChain:\n case o.Maya:\n return t.set(0);\n default:\n return t.set(1e-8);\n }\n}\nasync function F(s, t = 0) {\n Zt(s);\n const e = S.get(s.toUpperCase()), r = (e == null ? void 0 : e.decimal) || await St(P(s));\n return e || S.set(s.toUpperCase(), { identifier: s, decimal: r }), new A({ decimal: r, value: I(t, r), identifier: s });\n}\nfunction st(s, t = 0) {\n const [e, r] = s.split(\".\")[0].toUpperCase() === o.THORChain ? s.split(\".\").slice(1).join().split(\"/\") : s.split(\"/\");\n if (!e || !r)\n throw new Error(\"Invalid asset identifier\");\n return new A({\n decimal: 8,\n value: I(t, 8),\n identifier: `${o.THORChain}.${e}/${r}`\n });\n}\nfunction I(s, t) {\n return typeof s == \"bigint\" ? k({ value: s, bigIntDecimal: t, decimal: t }) : s;\n}\nfunction P(s) {\n const t = s.slice(0, 14).includes(\"/\"), [e, r] = s.split(\".\")[0].toUpperCase() === o.THORChain ? s.split(\".\").slice(1).join().split(\"/\") : s.split(\"/\");\n if (t && (!e || !r))\n throw new Error(\"Invalid asset identifier\");\n const n = s.includes(\".\") && !t ? s : `${o.THORChain}.${r}`, [i, c] = n.split(\".\"), [a, u] = (t ? r : c).split(\"-\");\n return {\n address: u == null ? void 0 : u.toLowerCase(),\n chain: i,\n isGasAsset: it({ chain: i, symbol: c }),\n isSynthetic: t,\n symbol: (t ? `${e}/` : \"\") + (u ? `${a}-${(u == null ? void 0 : u.toLowerCase()) ?? \"\"}` : c),\n ticker: a\n };\n}\nconst ee = {\n /**\n * Core\n */\n core_wallet_connection_not_found: 10001,\n core_estimated_max_spendable_chain_not_supported: 10002,\n core_extend_error: 10003,\n core_inbound_data_not_found: 10004,\n core_approve_asset_address_or_from_not_found: 10005,\n core_chain_halted: 10099,\n /**\n * Core - Wallet Connection\n */\n core_wallet_xdefi_not_installed: 10101,\n core_wallet_evmwallet_not_installed: 10102,\n core_wallet_walletconnect_not_installed: 10103,\n core_wallet_keystore_not_installed: 10104,\n core_wallet_ledger_not_installed: 10105,\n core_wallet_trezor_not_installed: 10106,\n core_wallet_keplr_not_installed: 10107,\n core_wallet_okx_not_installed: 10108,\n /**\n * Core - Swap\n */\n core_swap_invalid_params: 10200,\n core_swap_route_not_complete: 10201,\n core_swap_asset_not_recognized: 10202,\n core_swap_contract_not_found: 10203,\n core_swap_route_transaction_not_found: 10204,\n core_swap_contract_not_supported: 10205,\n core_swap_transaction_error: 10206,\n core_swap_quote_mode_not_supported: 10207,\n /**\n * Core - Transaction\n */\n core_transaction_deposit_error: 10301,\n core_transaction_create_liquidity_rune_error: 10302,\n core_transaction_create_liquidity_asset_error: 10303,\n core_transaction_create_liquidity_invalid_params: 10304,\n core_transaction_add_liquidity_invalid_params: 10305,\n core_transaction_add_liquidity_no_rune_address: 10306,\n core_transaction_add_liquidity_rune_error: 10307,\n core_transaction_add_liquidity_asset_error: 10308,\n core_transaction_withdraw_error: 10309,\n core_transaction_deposit_to_pool_error: 10310,\n core_transaction_deposit_insufficient_funds_error: 10311,\n core_transaction_deposit_gas_error: 10312,\n core_transaction_invalid_sender_address: 10313,\n core_transaction_deposit_server_error: 10313,\n /**\n * Wallets\n */\n wallet_ledger_connection_error: 20001,\n /**\n * Helpers\n */\n helpers_number_different_decimals: 99101\n};\nclass dt extends Error {\n constructor(t, e) {\n console.error(e, { stack: e == null ? void 0 : e.stack, message: e == null ? void 0 : e.message }), super(t, { cause: { code: ee[t], message: t } }), Object.setPrototypeOf(this, dt.prototype);\n }\n}\nclass g extends j {\n eq(t) {\n return this.eqValue(t);\n }\n static fromBigInt(t, e) {\n return new g({\n decimal: e,\n value: k({ value: t, bigIntDecimal: e, decimal: e })\n });\n }\n}\nexport {\n A as AssetValue,\n j as BigIntArithmetics,\n Xt as RequestClient,\n dt as SwapKitError,\n g as SwapKitNumber,\n ie as assetFromString,\n fe as derivationPathToString,\n oe as filterAssets,\n k as formatBigIntToSafeValue,\n ne as gasFeeMultiplier,\n Ot as getAssetType,\n xt as getAsymmetricAssetShare,\n ce as getAsymmetricAssetWithdrawAmount,\n Mt as getAsymmetricRuneShare,\n ae as getAsymmetricRuneWithdrawAmount,\n It as getCommonAssetInfo,\n St as getDecimal,\n le as getEstimatedPoolShare,\n he as getLiquiditySlippage,\n de as getMemoFor,\n _e as getMinAmountByChain,\n qt as getSymmetricPoolShare,\n ue as getSymmetricWithdraw,\n me as getTHORNameCost,\n it as isGasAsset,\n pe as validateTHORName\n};\n//# sourceMappingURL=index.es.js.map\n","export const avaxGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const avaxWoofi = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n ],\n name: 'SwapOut',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IWoofi', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const bscGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'swapRouter', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const ethGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const pancakeV2 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_wbnb', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n ],\n name: 'SwapOut',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IPancakeRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'wbnb',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const pangolin = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2AVAX', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const sushiswap = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const traderJoe = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2AVAX', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV2 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV2Leg = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'address', name: '_legToken', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'legToken',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_100 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_500 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_3000 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const uniswapV3_10000 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n { internalType: 'uint24', name: '_poolFee', type: 'uint24' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolFee',\n outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","import { avaxGeneric } from './avaxGeneric.ts';\nimport { avaxWoofi } from './avaxWoofi.ts';\nimport { bscGeneric } from './bscGeneric.ts';\nimport { ethGeneric } from './ethGeneric.ts';\nimport { pancakeV2 } from './pancakeV2.ts';\nimport { pangolin } from './pangolin.ts';\nimport { sushiswap } from './sushiswap.ts';\nimport { traderJoe } from './traderJoe.ts';\nimport { uniswapV2 } from './uniswapV2.ts';\nimport { uniswapV2Leg } from './uniswapV2Leg.ts';\nimport { uniswapV3_100 } from './uniswapV3_100.ts';\nimport { uniswapV3_500 } from './uniswapV3_500.ts';\nimport { uniswapV3_3000 } from './uniswapV3_3000.ts';\nimport { uniswapV3_10000 } from './uniswapV3_10000.ts';\n\ntype AbiTypes =\n | typeof avaxGeneric\n | typeof avaxWoofi\n | typeof bscGeneric\n | typeof ethGeneric\n | typeof sushiswap\n | typeof uniswapV2\n | typeof pancakeV2\n | typeof uniswapV2Leg\n | typeof uniswapV3_100\n | typeof uniswapV3_10000\n | typeof uniswapV3_3000\n | typeof uniswapV3_500;\n\nexport enum AGG_CONTRACT_ADDRESS {\n // AVAX\n PANGOLIN = '0x942c6dA485FD6cEf255853ef83a149d43A73F18a',\n AVAX_GENERIC = '0x7C38b8B2efF28511ECc14a621e263857Fb5771d3',\n AVAX_WOOFI = '0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a',\n AVAX_TRADER_JOE = '0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212',\n\n // BSC\n BSC_GENERIC = '0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c',\n BSC_PANCAKE_V2 = '0x30912B38618D3D37De3191A4FFE982C65a9aEC2E',\n\n // ETH\n ETH_GENERIC = '0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2',\n UNISWAP_V2 = '0x86904Eb2b3c743400D03f929F2246EfA80B91215',\n SUSHISWAP = '0xbf365e79aA44A2164DA135100C57FDB6635ae870',\n UNISWAP_V3_100 = '0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8',\n UNISWAP_V3_500 = '0xe4ddca21881bac219af7f217703db0475d2a9f02',\n UNISWAP_V3_3000 = '0x11733abf0cdb43298f7e949c930188451a9a9ef2',\n UNISWAP_V3_10000 = '0xb33874810e5395eb49d8bd7e912631db115d5a03',\n UNISWAP_V2_LEG = '0x3660dE6C56cFD31998397652941ECe42118375DA',\n}\n\nexport const lowercasedGenericAbiMappings = {\n [AGG_CONTRACT_ADDRESS.AVAX_GENERIC.toLowerCase()]: avaxGeneric,\n [AGG_CONTRACT_ADDRESS.BSC_GENERIC.toLowerCase()]: bscGeneric,\n [AGG_CONTRACT_ADDRESS.ETH_GENERIC.toLowerCase()]: ethGeneric,\n};\n\nexport const lowercasedContractAbiMapping = {\n ...lowercasedGenericAbiMappings,\n // AVAX\n [AGG_CONTRACT_ADDRESS.PANGOLIN.toLowerCase()]: pangolin,\n [AGG_CONTRACT_ADDRESS.AVAX_WOOFI.toLowerCase()]: avaxWoofi,\n [AGG_CONTRACT_ADDRESS.AVAX_TRADER_JOE.toLowerCase()]: traderJoe,\n // BSC\n [AGG_CONTRACT_ADDRESS.BSC_PANCAKE_V2.toLowerCase()]: pancakeV2,\n // ETH\n [AGG_CONTRACT_ADDRESS.SUSHISWAP.toLowerCase()]: sushiswap,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V2.toLowerCase()]: uniswapV2,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V2_LEG.toLowerCase()]: uniswapV2Leg,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_100.toLowerCase()]: uniswapV3_100,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_500.toLowerCase()]: uniswapV3_500,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_3000.toLowerCase()]: uniswapV3_3000,\n [AGG_CONTRACT_ADDRESS.UNISWAP_V3_10000.toLowerCase()]: uniswapV3_10000,\n} as Record<string, AbiTypes>;\n","import type { QuoteRoute } from '@swapkit/api';\n\nimport type { AGG_CONTRACT_ADDRESS } from './contracts/index.ts';\nimport { lowercasedGenericAbiMappings } from './contracts/index.ts';\n\ntype SwapInParams = {\n calldata: QuoteRoute['calldata'];\n recipient: string;\n streamSwap?: boolean;\n contractAddress: AGG_CONTRACT_ADDRESS;\n toChecksumAddress: (address: string) => string;\n};\n\nexport const getSwapInParams = ({\n streamSwap,\n contractAddress,\n recipient,\n toChecksumAddress,\n calldata: {\n amount,\n amountOutMin = '',\n data = '',\n deadline,\n memo,\n router,\n memoStreamingSwap,\n tcMemo,\n tcRouter,\n tcVault,\n vault,\n token,\n },\n}: SwapInParams) => {\n const isGeneric = !!lowercasedGenericAbiMappings[contractAddress.toLowerCase()];\n\n if (isGeneric && !router) {\n throw new Error('Router is required on calldata for swapIn with GenericContract');\n }\n\n /**\n * Data structure for contract calls\n * GENERIC: tcRouter, tcVault, tcMemo, token, amount, router, data, deadline\n * ETH_UNISWAP: tcRouter, tcVault, tcMemo, token, amount, amountOutMin, deadline\n * AVAX_PANGOLIN: tcRouter, tcVault, tcMemo, token, amount, amountOutMin, deadline\n * AVAX_WOOFI: router, vault, memo, token, amount, amountOutMin, deadline\n */\n\n const baseMemo = tcMemo || memo;\n const transactionMemo = streamSwap ? memoStreamingSwap || baseMemo : baseMemo;\n\n if (!tcVault && !vault) throw new Error('TC Vault is required on calldata');\n if (!tcRouter && !router) throw new Error('TC Router is required on calldata');\n if (!transactionMemo) throw new Error('TC Memo is required on calldata');\n if (!token) throw new Error('Token is required on calldata');\n\n const baseParams = [\n // v2 contracts don't have tcVault, tcRouter, tcMemo but vault, router, memo\n toChecksumAddress((tcRouter || router) as string),\n toChecksumAddress((tcVault || vault) as string),\n transactionMemo.replace('{recipientAddress}', recipient),\n toChecksumAddress(token),\n amount,\n ];\n\n const contractParams = isGeneric\n ? [toChecksumAddress(router as string), data, deadline]\n : [amountOutMin, deadline];\n\n return [...baseParams, ...contractParams];\n};\n","import { Chain, ChainToExplorerUrl } from '@swapkit/types';\n\nexport const getExplorerTxUrl = ({ chain, txHash }: { txHash: string; chain: Chain }) => {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Binance:\n case Chain.Maya:\n case Chain.Kujira:\n case Chain.THORChain:\n return `${baseUrl}/tx/${txHash.startsWith('0x') ? txHash.slice(2) : txHash}`;\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon:\n return `${baseUrl}/tx/${txHash.startsWith('0x') ? txHash : `0x${txHash}`}`;\n\n case Chain.Cosmos:\n return `${baseUrl}/transactions/${txHash}`;\n\n case Chain.Litecoin:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n return `${baseUrl}/transaction/${txHash.toLowerCase()}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n\nexport const getExplorerAddressUrl = ({ chain, address }: { address: string; chain: Chain }) => {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Binance:\n case Chain.BinanceSmartChain:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Ethereum:\n case Chain.Kujira:\n case Chain.Litecoin:\n case Chain.Maya:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.THORChain:\n return `${baseUrl}/address/${address}`;\n\n case Chain.Cosmos:\n return `${baseUrl}/account/${address}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n","import { RequestClient } from '@swapkit/helpers';\nimport type { Chain } from '@swapkit/types';\nimport { ApiUrl } from '@swapkit/types';\n\ntype InboundAddressData = {\n address: string;\n chain: Chain;\n chain_lp_actions_paused: boolean;\n chain_trading_paused: boolean;\n dust_threshold: string;\n gas_rate: string;\n gas_rate_units: string;\n global_trading_paused: boolean;\n halted: boolean;\n outbound_fee: string;\n outbound_tx_size: string;\n pub_key: string;\n router: string;\n}[];\n\nexport const getInboundData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<InboundAddressData>(`${baseUrl}/thorchain/inbound_addresses`);\n};\n\nexport const getMimirData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<Record<string, number>>(`${baseUrl}/thorchain/mimir`);\n};\n","import type { Keys, ThornameRegisterParam } from '@swapkit/helpers';\nimport {\n AssetValue,\n gasFeeMultiplier,\n getMemoFor,\n getMinAmountByChain,\n SwapKitError,\n SwapKitNumber,\n} from '@swapkit/helpers';\nimport type { CosmosLikeToolbox } from '@swapkit/toolbox-cosmos';\nimport type { AVAXToolbox, BSCToolbox, ETHToolbox, EVMToolbox } from '@swapkit/toolbox-evm';\nimport type { UTXOToolbox } from '@swapkit/toolbox-utxo';\nimport type {\n AddChainWalletParams,\n EVMChain,\n EVMWalletOptions,\n ExtendParams,\n WalletOption,\n} from '@swapkit/types';\nimport {\n AGG_SWAP,\n Chain,\n ChainToChainId,\n FeeOption,\n MemoType,\n SWAP_IN,\n SWAP_OUT,\n TCAvalancheDepositABI,\n TCBscDepositABI,\n TCEthereumVaultAbi,\n} from '@swapkit/types';\n\nimport type { AGG_CONTRACT_ADDRESS } from '../aggregator/contracts/index.ts';\nimport { lowercasedContractAbiMapping } from '../aggregator/contracts/index.ts';\nimport { getSwapInParams } from '../aggregator/getSwapParams.ts';\n\nimport { getExplorerAddressUrl, getExplorerTxUrl } from './explorerUrls.ts';\nimport { getInboundData, getMimirData } from './thornode.ts';\nimport type {\n CoreTxParams,\n EVMWallet,\n SwapParams,\n ThorchainWallet,\n Wallet,\n WalletMethods,\n} from './types.ts';\n\nconst getEmptyWalletStructure = () =>\n (Object.values(Chain) as Chain[]).reduce(\n (acc, chain) => {\n acc[chain] = null;\n return acc;\n },\n {} as Record<Chain, null>,\n );\n\nconst validateAddressType = async ({ chain, address }: { chain: Chain; address?: string }) => {\n if (!address) return false;\n\n switch (chain) {\n case Chain.Bitcoin:\n // filter out taproot addresses\n return !address.startsWith('bc1p');\n default:\n return true;\n }\n};\n\nexport class SwapKitCore<T = ''> {\n public connectedChains: Wallet = getEmptyWalletStructure();\n public connectedWallets: WalletMethods = getEmptyWalletStructure();\n public readonly stagenet: boolean = false;\n\n constructor({ stagenet }: { stagenet?: boolean } | undefined = {}) {\n this.stagenet = !!stagenet;\n }\n\n getAddress = (chain: Chain) => this.connectedChains[chain]?.address || '';\n getExplorerTxUrl = (chain: Chain, txHash: string) => getExplorerTxUrl({ chain, txHash });\n getWallet = <T extends Chain>(chain: Chain) => this.connectedWallets[chain] as WalletMethods[T];\n getExplorerAddressUrl = (chain: Chain, address: string) =>\n getExplorerAddressUrl({ chain, address });\n getBalance = async (chain: Chain, potentialScamFilter?: boolean) => {\n const wallet = await this.getWalletByChain(chain, potentialScamFilter);\n\n return wallet?.balance || [];\n };\n\n swap = async ({ streamSwap, recipient, route, feeOptionKey }: SwapParams) => {\n const { quoteMode } = route.meta;\n const evmChain = quoteMode.startsWith('ERC20-')\n ? Chain.Ethereum\n : quoteMode.startsWith('ARC20-')\n ? Chain.Avalanche\n : Chain.BinanceSmartChain;\n\n if (!route.complete) throw new SwapKitError('core_swap_route_not_complete');\n\n try {\n if (AGG_SWAP.includes(quoteMode)) {\n const walletMethods = this.connectedWallets[evmChain];\n if (!walletMethods?.sendTransaction) {\n throw new SwapKitError('core_wallet_connection_not_found');\n }\n\n const transaction = streamSwap ? route?.streamingSwap?.transaction : route?.transaction;\n if (!transaction) throw new SwapKitError('core_swap_route_transaction_not_found');\n\n const { data, from, to, value } = route.transaction;\n\n const params = {\n data,\n from,\n to: to.toLowerCase(),\n chainId: BigInt(ChainToChainId[evmChain]),\n value: value ? BigInt(value) : 0n,\n };\n\n return walletMethods.sendTransaction(params, feeOptionKey) as Promise<string>;\n }\n\n if (SWAP_OUT.includes(quoteMode)) {\n if (!route.calldata.fromAsset) throw new SwapKitError('core_swap_asset_not_recognized');\n const asset = await AssetValue.fromString(route.calldata.fromAsset);\n if (!asset) throw new SwapKitError('core_swap_asset_not_recognized');\n\n const { address: recipient } = await this.#getInboundDataByChain(asset.chain);\n const {\n contract: router,\n calldata: { expiration, amountIn, memo, memoStreamingSwap },\n } = route;\n\n const assetValue = asset.add(SwapKitNumber.fromBigInt(BigInt(amountIn), asset.decimal));\n const swapMemo = (streamSwap ? memoStreamingSwap || memo : memo) as string;\n\n return this.deposit({\n expiration,\n assetValue,\n memo: swapMemo,\n feeOptionKey,\n router,\n recipient,\n });\n }\n\n if (SWAP_IN.includes(quoteMode)) {\n const { calldata, contract: contractAddress } = route;\n if (!contractAddress) throw new SwapKitError('core_swap_contract_not_found');\n\n const walletMethods = this.connectedWallets[evmChain];\n const from = this.getAddress(evmChain);\n if (!walletMethods?.sendTransaction || !from) {\n throw new SwapKitError('core_wallet_connection_not_found');\n }\n\n const { getProvider, toChecksumAddress } = await import('@swapkit/toolbox-evm');\n const provider = getProvider(evmChain);\n const abi = lowercasedContractAbiMapping[contractAddress.toLowerCase()];\n\n if (!abi) throw new SwapKitError('core_swap_contract_not_supported', { contractAddress });\n\n const contract = await walletMethods.createContract?.(contractAddress, abi, provider);\n\n const tx = await contract.getFunction('swapIn').populateTransaction(\n ...getSwapInParams({\n streamSwap,\n toChecksumAddress,\n contractAddress: contractAddress as AGG_CONTRACT_ADDRESS,\n recipient,\n calldata,\n }),\n { from },\n );\n\n return walletMethods.sendTransaction(tx, feeOptionKey) as Promise<string>;\n }\n\n throw new SwapKitError('core_swap_quote_mode_not_supported', { quoteMode });\n } catch (error) {\n throw new SwapKitError('core_swap_transaction_error', error);\n }\n };\n\n getWalletByChain = async (chain: Chain, potentialScamFilter?: boolean) => {\n const address = this.getAddress(chain);\n if (!address) return null;\n const defaultBalance = [AssetValue.fromChainOrSignature(chain)];\n const walletType = this.connectedChains[chain]?.walletType as WalletOption;\n\n try {\n const balance = await this.getWallet(chain)?.getBalance(address, potentialScamFilter);\n\n this.connectedChains[chain] = {\n address,\n balance: balance?.length ? balance : defaultBalance,\n walletType,\n };\n\n return { ...this.connectedChains[chain] };\n } catch (error) {\n console.error(error);\n\n return { address, balance: defaultBalance, walletType };\n }\n };\n\n approveAssetValue = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve({ assetValue, type: 'approve', contractAddress });\n\n isAssetValueApproved = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve<boolean>({ assetValue, contractAddress, type: 'checkOnly' });\n\n validateAddress = ({ address, chain }: { address: string; chain: Chain }) =>\n this.getWallet(chain)?.validateAddress?.(address);\n\n transfer = async (params: CoreTxParams & { router?: string }) => {\n const walletInstance = this.connectedWallets[params.assetValue.chain];\n if (!walletInstance) throw new SwapKitError('core_wallet_connection_not_found');\n\n try {\n return await walletInstance.transfer(this.#prepareTxParams(params));\n } catch (error) {\n throw new SwapKitError('core_swap_transaction_error', error);\n }\n };\n\n deposit = async ({\n assetValue,\n recipient,\n router,\n ...rest\n }: CoreTxParams & { router?: string }) => {\n const { chain, symbol, ticker } = assetValue;\n const walletInstance = this.connectedWallets[chain];\n if (!(await validateAddressType({ address: await walletInstance?.getAddress(), chain })))\n throw new SwapKitError('core_transaction_invalid_sender_address');\n if (!walletInstance) throw new SwapKitError('core_wallet_connection_not_found');\n\n const params = this.#prepareTxParams({ assetValue, recipient, router, ...rest });\n\n try {\n switch (chain) {\n case Chain.THORChain: {\n const wallet = walletInstance as ThorchainWallet;\n return await (recipient === '' ? wallet.deposit(params) : wallet.transfer(params));\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Avalanche: {\n const { getChecksumAddressFromAsset } = await import('@swapkit/toolbox-evm');\n\n const abi =\n chain === Chain.Avalanche\n ? TCAvalancheDepositABI\n : chain === Chain.BinanceSmartChain\n ? TCBscDepositABI\n : TCEthereumVaultAbi;\n\n const response = await (\n walletInstance as EVMWallet<typeof AVAXToolbox | typeof ETHToolbox | typeof BSCToolbox>\n ).call({\n abi,\n contractAddress:\n router || ((await this.#getInboundDataByChain(chain as EVMChain)).router as string),\n funcName: 'depositWithExpiry',\n funcParams: [\n recipient,\n getChecksumAddressFromAsset({ chain, symbol, ticker }, chain),\n assetValue.getBaseValue('string'),\n params.memo,\n rest.expiration || parseInt(`${(new Date().getTime() + 15 * 60 * 1000) / 1000}`),\n ],\n txOverrides: {\n from: params.from,\n value: assetValue.isGasAsset ? assetValue.getBaseValue('bigint') : undefined,\n },\n });\n\n return response as string;\n }\n\n default: {\n return await walletInstance.transfer(params);\n }\n }\n } catch (error: any) {\n const errorMessage = (error?.message || error?.toString()).toLowerCase();\n const isInsufficientFunds = errorMessage?.includes('insufficient funds');\n const isGas = errorMessage?.includes('gas');\n const isServer = errorMessage?.includes('server');\n const errorKey: Keys = isInsufficientFunds\n ? 'core_transaction_deposit_insufficient_funds_error'\n : isGas\n ? 'core_transaction_deposit_gas_error'\n : isServer\n ? 'core_transaction_deposit_server_error'\n : 'core_transaction_deposit_error';\n\n throw new SwapKitError(errorKey, error);\n }\n };\n\n /**\n * TC related Methods\n */\n createLiquidity = async ({\n runeAssetValue,\n assetValue,\n }: {\n runeAssetValue: AssetValue;\n assetValue: AssetValue;\n }) => {\n if (runeAssetValue.lte(0) || assetValue.lte(0)) {\n throw new SwapKitError('core_transaction_create_liquidity_invalid_params');\n }\n\n let runeTx = '';\n let assetTx = '';\n\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n ...assetValue,\n address: this.getAddress(assetValue.chain),\n }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_create_liquidity_rune_error', error);\n }\n\n try {\n assetTx = await this.#depositToPool({\n assetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n ...assetValue,\n address: this.getAddress(Chain.THORChain),\n }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_create_liquidity_asset_error', error);\n }\n\n return { runeTx, assetTx };\n };\n\n addLiquidity = async ({\n runeAssetValue,\n assetValue,\n runeAddr,\n assetAddr,\n isPendingSymmAsset,\n mode = 'sym',\n }: {\n runeAssetValue: AssetValue;\n assetValue: AssetValue;\n isPendingSymmAsset?: boolean;\n runeAddr?: string;\n assetAddr?: string;\n mode?: 'sym' | 'rune' | 'asset';\n }) => {\n const { chain, symbol } = assetValue;\n const isSym = mode === 'sym';\n const runeTransfer = runeAssetValue?.gt(0) && (isSym || mode === 'rune');\n const assetTransfer = assetValue?.gt(0) && (isSym || mode === 'asset');\n const includeRuneAddress = isPendingSymmAsset || runeTransfer;\n const runeAddress = includeRuneAddress ? runeAddr || this.getAddress(Chain.THORChain) : '';\n const assetAddress = isSym || mode === 'asset' ? assetAddr || this.getAddress(chain) : '';\n\n if (!runeTransfer && !assetTransfer) {\n throw new SwapKitError('core_transaction_add_liquidity_invalid_params');\n }\n if (includeRuneAddress && !runeAddress) {\n throw new SwapKitError('core_transaction_add_liquidity_no_rune_address');\n }\n\n let runeTx, assetTx;\n\n if (runeTransfer && runeAssetValue) {\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, { chain, symbol, address: assetAddress }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_add_liquidity_rune_error', error);\n }\n }\n\n if (assetTransfer && assetValue) {\n try {\n assetTx = await this.#depositToPool({\n assetValue,\n memo: getMemoFor(MemoType.DEPOSIT, { chain, symbol, address: runeAddress }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_add_liquidity_asset_error', error);\n }\n }\n\n return { runeTx, assetTx };\n };\n\n addLiquidityPart = ({\n assetValue,\n poolAddress,\n address,\n symmetric,\n }: {\n assetValue: AssetValue;\n address?: string;\n poolAddress: string;\n symmetric: boolean;\n }) => {\n if (symmetric && !address) {\n throw new SwapKitError('core_transaction_add_liquidity_invalid_params');\n }\n const memo = getMemoFor(MemoType.DEPOSIT, {\n chain: poolAddress.split('.')[0] as Chain,\n symbol: poolAddress.split('.')[1],\n address: symmetric ? address : '',\n });\n\n return this.#depositToPool({ assetValue, memo });\n };\n\n withdraw = async ({\n memo,\n assetValue,\n percent,\n from,\n to,\n }: {\n memo?: string;\n assetValue: AssetValue;\n percent: number;\n from: 'sym' | 'rune' | 'asset';\n to: 'sym' | 'rune' | 'asset';\n }) => {\n const targetAsset =\n to === 'rune'\n ? AssetValue.fromChainOrSignature(Chain.THORChain)\n : (from === 'sym' && to === 'sym') || from === 'rune' || from === 'asset'\n ? undefined\n : assetValue;\n\n const value = getMinAmountByChain(from === 'asset' ? assetValue.chain : Chain.THORChain);\n const memoString =\n memo ||\n getMemoFor(MemoType.WITHDRAW, {\n symbol: assetValue.symbol,\n chain: assetValue.chain,\n ticker: assetValue.ticker,\n basisPoints: Math.min(10000, Math.round(percent * 100)),\n targetAssetString: targetAsset?.toString(),\n singleSide: false,\n });\n\n return this.#depositToPool({ assetValue: value, memo: memoString });\n };\n\n savings = async ({\n assetValue,\n memo,\n percent,\n type,\n }: { assetValue: AssetValue; memo?: string } & (\n | { type: 'add'; percent?: undefined }\n | { type: 'withdraw'; percent: number }\n )) => {\n const memoType = type === 'add' ? MemoType.DEPOSIT : MemoType.WITHDRAW;\n const memoString =\n memo ||\n getMemoFor(memoType, {\n ticker: assetValue.ticker,\n symbol: assetValue.symbol,\n chain: assetValue.chain,\n singleSide: true,\n basisPoints: percent ? Math.min(10000, Math.round(percent * 100)) : undefined,\n });\n\n const value =\n memoType === MemoType.DEPOSIT ? assetValue : getMinAmountByChain(assetValue.chain);\n\n return this.#depositToPool({ memo: memoString, assetValue: value });\n };\n\n loan = ({\n assetValue,\n memo,\n minAmount,\n type,\n }: {\n assetValue: AssetValue;\n memo?: string;\n minAmount: AssetValue;\n type: 'open' | 'close';\n }) =>\n this.#depositToPool({\n assetValue,\n memo:\n memo ||\n getMemoFor(type === 'open' ? MemoType.OPEN_LOAN : MemoType.CLOSE_LOAN, {\n asset: assetValue.toString(),\n minAmount: minAmount.toString(),\n address: this.getAddress(assetValue.chain),\n }),\n });\n\n nodeAction = ({\n type,\n assetValue,\n address,\n }: { address: string } & (\n | { type: 'bond' | 'unbond'; assetValue: AssetValue }\n | { type: 'leave'; assetValue?: undefined }\n )) => {\n const memoType =\n type === 'bond' ? MemoType.BOND : type === 'unbond' ? MemoType.UNBOND : MemoType.LEAVE;\n const memo = getMemoFor(memoType, {\n address,\n unbondAmount: type === 'unbond' ? assetValue.getBaseValue('number') : undefined,\n });\n\n return this.#thorchainTransfer({\n memo,\n assetValue: type === 'bond' ? assetValue : getMinAmountByChain(Chain.THORChain),\n });\n };\n\n registerThorname = ({\n assetValue,\n ...param\n }: ThornameRegisterParam & { assetValue: AssetValue }) =>\n this.#thorchainTransfer({ assetValue, memo: getMemoFor(MemoType.THORNAME_REGISTER, param) });\n\n extend = ({ wallets, config, apis = {}, rpcUrls = {} }: ExtendParams<T>) => {\n try {\n wallets.forEach((wallet) => {\n // @ts-expect-error - this is fine as we are extending the class\n this[wallet.connectMethodName] = wallet.connect({\n addChain: this.#addConnectedChain,\n config: config || {},\n apis,\n rpcUrls,\n });\n });\n } catch (error) {\n throw new SwapKitError('core_extend_error', error);\n }\n };\n\n estimateMaxSendableAmount = async ({\n chain,\n params,\n }: {\n chain: Chain;\n params: { from: string; recipient: string; assetValue: AssetValue };\n }) => {\n const walletMethods = this.getWallet<typeof chain>(chain);\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { estimateMaxSendableAmount } = await import('@swapkit/toolbox-evm');\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as EVMToolbox,\n });\n }\n\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin:\n return (walletMethods as UTXOToolbox).estimateMaxSendableAmount(params);\n\n case Chain.Binance:\n case Chain.THORChain:\n case Chain.Cosmos: {\n const { estimateMaxSendableAmount } = await import('@swapkit/toolbox-cosmos');\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as CosmosLikeToolbox,\n });\n }\n\n default:\n throw new SwapKitError('core_estimated_max_spendable_chain_not_supported');\n }\n };\n\n /**\n * Wallet connection methods\n */\n connectXDEFI = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError('core_wallet_xdefi_not_installed');\n };\n connectEVMWallet = async (_chains: Chain[] | Chain, _wallet: EVMWalletOptions): Promise<void> => {\n throw new SwapKitError('core_wallet_evmwallet_not_installed');\n };\n connectWalletconnect = async (_chains: Chain[], _options?: any): Promise<void> => {\n throw new SwapKitError('core_wallet_walletconnect_not_installed');\n };\n connectKeystore = async (_chains: Chain[], _phrase: string): Promise<void> => {\n throw new SwapKitError('core_wallet_keystore_not_installed');\n };\n connectLedger = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError('core_wallet_ledger_not_installed');\n };\n connectTrezor = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError('core_wallet_trezor_not_installed');\n };\n connectKeplr = async (_chain: Chain): Promise<void> => {\n throw new SwapKitError('core_wallet_keplr_not_installed');\n };\n connectOkx = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError('core_wallet_okx_not_installed');\n };\n disconnectChain = (chain: Chain) => {\n this.connectedChains[chain] = null;\n this.connectedWallets[chain] = null;\n };\n\n #getInboundDataByChain = async (chain: Chain) => {\n if (chain === Chain.THORChain) {\n return {\n gas_rate: '0',\n router: '0',\n address: '',\n halted: false,\n chain: Chain.THORChain,\n };\n }\n const inboundData = await getInboundData(this.stagenet);\n const chainAddressData = inboundData.find((item) => item.chain === chain);\n\n if (!chainAddressData) throw new SwapKitError('core_inbound_data_not_found');\n if (chainAddressData?.halted) throw new SwapKitError('core_chain_halted');\n\n return chainAddressData;\n };\n\n #addConnectedChain = ({ chain, wallet, walletMethods }: AddChainWalletParams) => {\n this.connectedChains[chain] = wallet;\n this.connectedWallets[chain] = walletMethods;\n };\n\n #approve = async <T = string>({\n assetValue,\n type = 'checkOnly',\n contractAddress,\n }: {\n assetValue: AssetValue;\n type?: 'checkOnly' | 'approve';\n contractAddress?: string;\n }) => {\n const { address, chain, isGasAsset, isSynthetic } = assetValue;\n const isEVMChain = [Chain.Ethereum, Chain.Avalanche, Chain.BinanceSmartChain].includes(chain);\n const isNativeEVM = isEVMChain && isGasAsset;\n\n if (isNativeEVM || !isEVMChain || isSynthetic) return true;\n\n const walletMethods = this.connectedWallets[chain as EVMChain];\n const walletAction = type === 'checkOnly' ? walletMethods?.isApproved : walletMethods?.approve;\n\n if (!walletAction) throw new SwapKitError('core_wallet_connection_not_found');\n\n const from = this.getAddress(chain);\n\n if (!address || !from) throw new SwapKitError('core_approve_asset_address_or_from_not_found');\n\n const spenderAddress =\n contractAddress || ((await this.#getInboundDataByChain(chain)).router as string);\n\n return walletAction({\n amount: assetValue.getBaseValue('bigint'),\n assetAddress: address,\n from,\n spenderAddress,\n }) as Promise<T>;\n };\n\n #depositToPool = async ({\n assetValue,\n memo,\n feeOptionKey = FeeOption.Fast,\n }: {\n assetValue: AssetValue;\n memo: string;\n feeOptionKey?: FeeOption;\n }) => {\n const {\n gas_rate,\n router,\n address: poolAddress,\n } = await this.#getInboundDataByChain(assetValue.chain);\n const feeRate = (parseInt(gas_rate) || 0) * gasFeeMultiplier[feeOptionKey];\n\n return this.deposit({\n assetValue,\n recipient: poolAddress,\n memo,\n router,\n feeRate,\n });\n };\n\n #thorchainTransfer = async ({ memo, assetValue }: { assetValue: AssetValue; memo: string }) => {\n const mimir = await getMimirData(this.stagenet);\n\n // check if trading is halted or not\n if (mimir['HALTCHAINGLOBAL'] >= 1 || mimir['HALTTHORCHAIN'] >= 1) {\n throw new SwapKitError('core_chain_halted');\n }\n\n return this.deposit({ assetValue, recipient: '', memo });\n };\n\n #prepareTxParams = ({ assetValue, ...restTxParams }: CoreTxParams & { router?: string }) => ({\n ...restTxParams,\n memo: restTxParams.memo || '',\n from: this.getAddress(assetValue.chain),\n assetValue,\n });\n}\n"],"names":["C","g","n","a","s","G","U","w","F","h","X","K","k","m","O","t","V","u","r","A","S","d","_","N","E","c","f","y","l","P","B","W","b","Y","j","J","$","T","I","x","p","H","o","q","Z","z","Q","ee","L","v","D","R","bt","yt","e","wt","vt","nt","Xt","$t","Tt","Ct","Rt","St","ne","it","It","Ot","ie","i","Et","Bt","At","oe","Mt","xt","ae","ce","qt","ue","le","mt","pt","ft","_t","gt","he","de","me","pe","fe","ot","M","at","Pt","Vt","kt","jt","ct","Nt","ut","Ht","Dt","Ut","Lt","Ft","lt","Wt","Gt","Yt","zt","Jt","Kt","Qt","tt","et","Zt","ht","rt","te","st","_e","dt","avaxGeneric","avaxWoofi","bscGeneric","ethGeneric","pancakeV2","pangolin","sushiswap","traderJoe","uniswapV2","uniswapV2Leg","uniswapV3_100","uniswapV3_500","uniswapV3_3000","uniswapV3_10000","lowercasedGenericAbiMappings","lowercasedContractAbiMapping","getSwapInParams","streamSwap","contractAddress","recipient","toChecksumAddress","amount","amountOutMin","data","deadline","memo","router","memoStreamingSwap","tcMemo","tcRouter","tcVault","vault","token","isGeneric","baseMemo","transactionMemo","baseParams","contractParams","getExplorerTxUrl","chain","txHash","baseUrl","ChainToExplorerUrl","Chain","getExplorerAddressUrl","address","getInboundData","stagenet","ApiUrl","RequestClient","getMimirData","getEmptyWalletStructure","acc","validateAddressType","SwapKitCore","__publicField","_a","potentialScamFilter","wallet","route","feeOptionKey","quoteMode","evmChain","SwapKitError","AGG_SWAP","walletMethods","from","to","value","params","ChainToChainId","SWAP_OUT","asset","AssetValue","__privateGet","_getInboundDataByChain","expiration","amountIn","assetValue","SwapKitNumber","swapMemo","SWAP_IN","calldata","getProvider","provider","abi","tx","_b","error","defaultBalance","walletType","balance","_approve","walletInstance","_prepareTxParams","rest","symbol","ticker","getChecksumAddressFromAsset","TCAvalancheDepositABI","TCBscDepositABI","TCEthereumVaultAbi","errorMessage","isInsufficientFunds","isGas","isServer","errorKey","runeAssetValue","runeTx","assetTx","_depositToPool","getMemoFor","MemoType","runeAddr","assetAddr","isPendingSymmAsset","mode","isSym","runeTransfer","assetTransfer","includeRuneAddress","runeAddress","assetAddress","poolAddress","symmetric","percent","targetAsset","getMinAmountByChain","memoString","type","memoType","minAmount","_thorchainTransfer","param","wallets","config","apis","rpcUrls","_addConnectedChain","estimateMaxSendableAmount","_chains","_wallet","_options","_phrase","_derivationPath","_chain","__privateAdd","chainAddressData","item","isGasAsset","isSynthetic","isEVMChain","walletAction","spenderAddress","FeeOption","gas_rate","feeRate","gasFeeMultiplier","mimir","restTxParams"],"mappings":"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"}