@swapkit/core 1.0.0-rc.11 → 1.0.0-rc.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +161 -26
- package/dist/index.es.js +6483 -1064
- package/dist/index.es.js.map +1 -0
- package/package.json +23 -30
- package/src/__tests__/helpers.test.ts +77 -0
- package/src/aggregator/contracts/avaxGeneric.ts +50 -50
- package/src/aggregator/contracts/avaxWoofi.ts +80 -80
- package/src/aggregator/contracts/bscGeneric.ts +59 -59
- package/src/aggregator/contracts/ethGeneric.ts +50 -50
- package/src/aggregator/contracts/index.ts +30 -28
- package/src/aggregator/contracts/pancakeV2.ts +80 -80
- package/src/aggregator/contracts/pangolin.ts +65 -65
- package/src/aggregator/contracts/routers/index.ts +58 -0
- package/src/aggregator/contracts/routers/kyber.ts +402 -0
- package/src/aggregator/contracts/routers/oneinch.ts +2188 -0
- package/src/aggregator/contracts/routers/pancakeswap.ts +340 -0
- package/src/aggregator/contracts/routers/pangolin.ts +340 -0
- package/src/aggregator/contracts/routers/sushiswap.ts +340 -0
- package/src/aggregator/contracts/routers/traderJoe.ts +340 -0
- package/src/aggregator/contracts/routers/uniswapv2.ts +340 -0
- package/src/aggregator/contracts/routers/uniswapv3.ts +254 -0
- package/src/aggregator/contracts/routers/woofi.ts +171 -0
- package/src/aggregator/contracts/sushiswap.ts +65 -65
- package/src/aggregator/contracts/traderJoe.ts +65 -65
- package/src/aggregator/contracts/uniswapV2.ts +65 -65
- package/src/aggregator/contracts/uniswapV2Leg.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_100.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_10000.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_3000.ts +70 -70
- package/src/aggregator/contracts/uniswapV3_500.ts +70 -70
- package/src/aggregator/getSwapParams.ts +12 -12
- package/src/client/index.ts +212 -645
- package/src/client/old.ts +870 -0
- package/src/{client → helpers}/explorerUrls.ts +11 -10
- package/src/helpers/mayanode.ts +31 -0
- package/src/{client → helpers}/thornode.ts +7 -7
- package/src/index.ts +6 -4
- package/src/types.ts +149 -0
- package/dist/index-9e36735e.cjs +0 -1
- package/dist/index-cf1865cd.js +0 -649
- package/src/client/__tests__/helpers.test.ts +0 -69
- package/src/client/types.ts +0 -103
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../types/dist/index.es.js","../../helpers/dist/index.es.js","../src/helpers/explorerUrls.ts","../src/client/index.ts","../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/routers/kyber.ts","../src/aggregator/contracts/routers/oneinch.ts","../src/aggregator/contracts/routers/pancakeswap.ts","../src/aggregator/contracts/routers/pangolin.ts","../src/aggregator/contracts/routers/sushiswap.ts","../src/aggregator/contracts/routers/traderJoe.ts","../src/aggregator/contracts/routers/uniswapv2.ts","../src/aggregator/contracts/routers/uniswapv3.ts","../src/aggregator/contracts/routers/woofi.ts","../src/aggregator/contracts/routers/index.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/helpers/mayanode.ts","../src/helpers/thornode.ts","../src/client/old.ts"],"sourcesContent":["const O = [\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], h = [\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], B = [\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], R = [\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 y = /* @__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))(y || {});\nconst v = [\n \"ERC20-ERC20\",\n \"ARC20-ARC20\",\n \"BEP20-BEP20\"\n /* BSC_TO_BSC */\n], H = [\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], S = [\n \"TC-TC\",\n \"TC-ERC20\",\n \"TC-ARC20\",\n \"TC-BEP20\"\n /* TC_SUPPORTED_TO_BSC */\n];\nvar a = /* @__PURE__ */ ((e) => (e.Arbitrum = \"ARB\", e.Avalanche = \"AVAX\", e.Binance = \"BNB\", e.BinanceSmartChain = \"BSC\", e.Bitcoin = \"BTC\", e.BitcoinCash = \"BCH\", e.Cosmos = \"GAIA\", e.Dash = \"DASH\", e.Dogecoin = \"DOGE\", e.Ethereum = \"ETH\", e.Kujira = \"KUJI\", e.Litecoin = \"LTC\", e.Maya = \"MAYA\", e.Optimism = \"OP\", e.Polkadot = \"DOT\", e.Chainflip = \"FLIP\", e.Polygon = \"MATIC\", e.THORChain = \"THOR\", e))(a || {}), u = /* @__PURE__ */ ((e) => (e.ARB = \"0x0000000000000000000000000000000000000000\", e.AVAX = \"0x0000000000000000000000000000000000000000\", e.ETH = \"0x0000000000000000000000000000000000000000\", e.BSC = \"0x0000000000000000000000000000000000000000\", e.MATIC = \"0x0000000000000000000000000000000000001010\", e.OP = \"0x4200000000000000000000000000000000000042\", e))(u || {}), o = /* @__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.DASH = \"m/44'/5'/0'/0\", e.DOGE = \"m/44'/3'/0'/0\", e.DOT = \"////\", e.ETH = \"m/44'/60'/0'/0\", e.FLIP = \"////\", e.GAIA = \"m/44'/118'/0'/0\", e.KUJI = \"m/44'/118'/0'/0\", e.LTC = \"m/84'/2'/0'/0\", e.MATIC = \"m/44'/60'/0'/0\", e.MAYA = \"m/44'/931'/0'/0\", e.OP = \"m/44'/60'/0'/0\", e.THOR = \"m/44'/931'/0'/0\", e))(o || {});\nconst _ = {\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 DASH: [44, 5, 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 // Polkadot and related network derivation path is not number based\n DOT: [0, 0, 0, 0, 0],\n FLIP: [0, 0, 0, 0, 0]\n};\nvar m = /* @__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.DOT = 10] = \"DOT\", e[e.ETH = 18] = \"ETH\", e[e.FLIP = 18] = \"FLIP\", e[e.GAIA = 6] = \"GAIA\", e[e.KUJI = 6] = \"KUJI\", e[e.LTC = 8] = \"LTC\", e[e.MATIC = 18] = \"MATIC\", e[e.MAYA = 10] = \"MAYA\", e[e.OP = 18] = \"OP\", e[e.THOR = 8] = \"THOR\", e[e.ZEC = 8] = \"ZEC\", e))(m || {});\nconst w = [\n \"DOT\",\n \"FLIP\"\n /* Chainflip */\n], l = [\n \"ETH\",\n \"AVAX\",\n \"BSC\",\n \"ARB\",\n \"OP\",\n \"MATIC\"\n /* Polygon */\n], M = l, T = [\n \"BTC\",\n \"BCH\",\n \"DASH\",\n \"DOGE\",\n \"LTC\"\n /* Litecoin */\n], V = T, c = [\n \"GAIA\",\n \"THOR\",\n \"BNB\",\n \"MAYA\",\n \"KUJI\"\n /* Kujira */\n], L = c, A = [\n \"AVAX\",\n \"BNB\",\n \"BSC\",\n \"BTC\",\n \"BCH\",\n \"GAIA\",\n \"DOGE\",\n \"ETH\",\n \"LTC\",\n \"THOR\"\n /* THORChain */\n], N = A;\nvar i = /* @__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.Chainflip = \"chainflip\", e.Cosmos = \"cosmoshub-4\", e.Dash = \"dash\", e.Dogecoin = \"dogecoin\", e.Kujira = \"kaiyo-1\", e.Ethereum = \"1\", e.EthereumHex = \"0x1\", e.Litecoin = \"litecoin\", e.Maya = \"mayachain-mainnet-v1\", e.MayaStagenet = \"mayachain-stagenet-v1\", e.Optimism = \"10\", e.OptimismHex = \"0xa\", e.Polkadot = \"polkadot\", e.Polygon = \"137\", e.PolygonHex = \"0x89\", e.THORChain = \"thorchain-mainnet-v1\", e.THORChainStagenet = \"thorchain-stagenet-v2\", e))(i || {}), p = /* @__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.Chainflip = \"wss://mainnet-archive.chainflip.io\", e.Cosmos = \"https://node-router.thorswap.net/cosmos/rpc\", e.Dash = \"https://node-router.thorswap.net/dash\", e.Dogecoin = \"https://node-router.thorswap.net/dogecoin\", e.Ethereum = \"https://node-router.thorswap.net/ethereum\", e.Kujira = \"https://rpc-kujira.synergynodes.com/\", e.Litecoin = \"https://node-router.thorswap.net/litecoin\", e.Maya = \"https://tendermint.mayachain.info\", e.MayaStagenet = \"https://stagenet.tendermint.mayachain.info\", e.Optimism = \"https://mainnet.optimism.io\", e.Polkadot = \"wss://rpc.polkadot.io\", e.Polygon = \"https://polygon-rpc.com\", e.THORChain = \"https://rpc.thorswap.net\", e.THORChainStagenet = \"https://stagenet-rpc.ninerealms.com\", e))(p || {}), f = /* @__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))(f || {});\nconst s = Object.values(a), E = Object.keys(a), r = s.reduce(\n (e, n) => {\n const t = E.find((d) => a[d] === n);\n return t && (e[n] = t), e;\n },\n {}\n), P = s.reduce(\n (e, n) => (e[n] = i[r[n]], e),\n {}\n), k = s.reduce(\n (e, n) => (e[n] = p[r[n]], e),\n {}\n), X = s.reduce(\n (e, n) => {\n const t = `${r[n]}Hex`;\n return e[n] = i[t], e;\n },\n {}\n), I = {\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 chainflip: \"FLIP\",\n \"cosmoshub-4\": \"GAIA\",\n dash: \"DASH\",\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 polkadot: \"DOT\",\n \"0x89\": \"MATIC\",\n 137: \"MATIC\",\n \"thorchain-stagenet-v2\": \"THOR\",\n \"thorchain-mainnet-v1\": \"THOR\"\n /* THORChain */\n}, K = {\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 FLIP: \"https://explorer.polkascan.io/polkadot\",\n GAIA: \"https://cosmos.bigdipper.live\",\n DASH: \"https://blockchair.com/dash\",\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 DOT: \"https://polkadot.subscan.io/\",\n MATIC: \"https://polygonscan.com\",\n THOR: \"https://runescan.io\"\n};\nvar x = /* @__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))(x || {}), C = /* @__PURE__ */ ((e) => (e.Average = \"average\", e.Fast = \"fast\", e.Fastest = \"fastest\", e))(C || {}), b = /* @__PURE__ */ ((e) => (e.KEYSTORE = \"KEYSTORE\", e.KEEPKEY = \"KEEPKEY\", e.XDEFI = \"XDEFI\", e.METAMASK = \"METAMASK\", e.COINBASE_WEB = \"COINBASE_WEB\", e.TREZOR = \"TREZOR\", e.TRUSTWALLET_WEB = \"TRUSTWALLET_WEB\", e.LEDGER = \"LEDGER\", e.KEPLR = \"KEPLR\", e.OKX = \"OKX\", e.OKX_MOBILE = \"OKX_MOBILE\", e.BRAVE = \"BRAVE\", e.WALLETCONNECT = \"WALLETCONNECT\", e))(b || {}), g = /* @__PURE__ */ ((e) => (e[e.NoError = 36864] = \"NoError\", e[e.LockedDevice = 21781] = \"LockedDevice\", e[e.TC_NotFound = 65535] = \"TC_NotFound\", e))(g || {});\nexport {\n v as AGG_SWAP,\n f as ApiUrl,\n m as BaseDecimal,\n a as Chain,\n i as ChainId,\n I as ChainIdToChain,\n P as ChainToChainId,\n K as ChainToExplorerUrl,\n X as ChainToHexChainId,\n k as ChainToRPC,\n u as ContractAddress,\n L as CosmosChainList,\n c as CosmosChains,\n o as DerivationPath,\n M as EVMChainList,\n l as EVMChains,\n C as FeeOption,\n g as LedgerErrorCode,\n x as MemoType,\n _ as NetworkDerivationPath,\n y as QuoteMode,\n p as RPCUrl,\n H as SWAP_IN,\n S as SWAP_OUT,\n w as SubstrateChains,\n B as TCAvalancheDepositABI,\n R as TCBscDepositABI,\n h as TCEthereumVaultAbi,\n N as TCSupportedChainList,\n A as TCSupportedChains,\n V as UTXOChainList,\n T as UTXOChains,\n b as WalletOption,\n O as erc20ABI\n};\n//# sourceMappingURL=index.es.js.map\n","var ve = Object.defineProperty;\nvar $e = (e, t, n) => t in e ? ve(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;\nvar _ = (e, t, n) => ($e(e, typeof t != \"symbol\" ? t + \"\" : t, n), n), Ie = (e, t, n) => {\n if (!t.has(e))\n throw TypeError(\"Cannot \" + n);\n};\nvar R = (e, t, n) => {\n if (t.has(e))\n throw TypeError(\"Cannot add the same private member more than once\");\n t instanceof WeakSet ? t.add(e) : t.set(e, n);\n};\nvar p = (e, t, n) => (Ie(e, t, \"access private method\"), n);\nimport { FeeOption as K, BaseDecimal as d, Chain as l, EVMChains as Ne, ChainToRPC as Be, MemoType as C, ChainToChainId as De } from \"@swapkit/types\";\nvar F = /* @__PURE__ */ ((e) => (e.Arbitrum = \"ARB\", e.Avalanche = \"AVAX\", e.Binance = \"BNB\", e.BinanceSmartChain = \"BSC\", e.Bitcoin = \"BTC\", e.BitcoinCash = \"BCH\", e.Cosmos = \"GAIA\", e.Dash = \"DASH\", e.Dogecoin = \"DOGE\", e.Ethereum = \"ETH\", e.Kujira = \"KUJI\", e.Litecoin = \"LTC\", e.Maya = \"MAYA\", e.Optimism = \"OP\", e.Polkadot = \"DOT\", e.Chainflip = \"FLIP\", e.Polygon = \"MATIC\", e.THORChain = \"THOR\", e))(F || {}), ne = /* @__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.Chainflip = \"chainflip\", e.Cosmos = \"cosmoshub-4\", e.Dash = \"dash\", e.Dogecoin = \"dogecoin\", e.Kujira = \"kaiyo-1\", e.Ethereum = \"1\", e.EthereumHex = \"0x1\", e.Litecoin = \"litecoin\", e.Maya = \"mayachain-mainnet-v1\", e.MayaStagenet = \"mayachain-stagenet-v1\", e.Optimism = \"10\", e.OptimismHex = \"0xa\", e.Polkadot = \"polkadot\", e.Polygon = \"137\", e.PolygonHex = \"0x89\", e.THORChain = \"thorchain-mainnet-v1\", e.THORChainStagenet = \"thorchain-stagenet-v2\", e))(ne || {}), de = /* @__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.Chainflip = \"wss://mainnet-archive.chainflip.io\", e.Cosmos = \"https://node-router.thorswap.net/cosmos/rpc\", e.Dash = \"https://node-router.thorswap.net/dash\", e.Dogecoin = \"https://node-router.thorswap.net/dogecoin\", e.Ethereum = \"https://node-router.thorswap.net/ethereum\", e.Kujira = \"https://rpc-kujira.synergynodes.com/\", e.Litecoin = \"https://node-router.thorswap.net/litecoin\", e.Maya = \"https://tendermint.mayachain.info\", e.MayaStagenet = \"https://stagenet.tendermint.mayachain.info\", e.Optimism = \"https://mainnet.optimism.io\", e.Polkadot = \"wss://rpc.polkadot.io\", e.Polygon = \"https://polygon-rpc.com\", e.THORChain = \"https://rpc.thorswap.net\", e.THORChainStagenet = \"https://stagenet-rpc.ninerealms.com\", e))(de || {}), S = /* @__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))(S || {});\nconst G = Object.values(F), Ve = Object.keys(F), re = G.reduce(\n (e, t) => {\n const n = Ve.find((r) => F[r] === t);\n return n && (e[t] = n), e;\n },\n {}\n);\nG.reduce(\n (e, t) => (e[t] = ne[re[t]], e),\n {}\n);\nG.reduce(\n (e, t) => (e[t] = de[re[t]], e),\n {}\n);\nG.reduce(\n (e, t) => {\n const n = `${re[t]}Hex`;\n return e[t] = ne[n], e;\n },\n {}\n);\nclass ae extends Error {\n constructor(t, n, r) {\n const s = t.status || t.status === 0 ? t.status : \"\", i = t.statusText || \"\", o = `${s} ${i}`.trim(), c = o ? `status code ${o}` : \"an unknown error\";\n super(`Request failed with ${c}`), 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 = n, this.options = r;\n }\n}\nclass pe 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 k = (e) => e !== null && typeof e == \"object\", x = (...e) => {\n for (const t of e)\n if ((!k(t) || Array.isArray(t)) && t !== void 0)\n throw new TypeError(\"The `options` argument must be an object\");\n return se({}, ...e);\n}, me = (e = {}, t = {}) => {\n const n = new globalThis.Headers(e), r = t instanceof globalThis.Headers, s = new globalThis.Headers(t);\n for (const [i, o] of s.entries())\n r && o === \"undefined\" || o === void 0 ? n.delete(i) : n.set(i, o);\n return n;\n}, se = (...e) => {\n let t = {}, n = {};\n for (const r of e)\n if (Array.isArray(r))\n Array.isArray(t) || (t = []), t = [...t, ...r];\n else if (k(r)) {\n for (let [s, i] of Object.entries(r))\n k(i) && s in t && (i = se(t[s], i)), t = { ...t, [s]: i };\n k(r.headers) && (n = me(n, r.headers), t.headers = n);\n }\n return t;\n}, He = (() => {\n let e = !1, t = !1;\n const n = typeof globalThis.ReadableStream == \"function\", r = typeof globalThis.Request == \"function\";\n return n && 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 e = !0, \"half\";\n }\n }).headers.has(\"Content-Type\")), e && !t;\n})(), xe = typeof globalThis.AbortController == \"function\", Me = typeof globalThis.ReadableStream == \"function\", ke = typeof globalThis.FormData == \"function\", _e = [\"get\", \"post\", \"put\", \"patch\", \"head\", \"delete\"], Le = {\n json: \"application/json\",\n text: \"text/*\",\n formData: \"multipart/form-data\",\n arrayBuffer: \"*/*\",\n blob: \"*/*\"\n}, Y = 2147483647, fe = Symbol(\"stop\"), We = {\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}, Ue = {\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}, je = (e) => _e.includes(e) ? e.toUpperCase() : e, qe = [\"get\", \"put\", \"head\", \"delete\", \"options\", \"trace\"], Fe = [408, 413, 429, 500, 502, 503, 504], Te = [413, 429, 503], ce = {\n limit: 2,\n methods: qe,\n statusCodes: Fe,\n afterStatusCodes: Te,\n maxRetryAfter: Number.POSITIVE_INFINITY,\n backoffLimit: Number.POSITIVE_INFINITY,\n delay: (e) => 0.3 * 2 ** (e - 1) * 1e3\n}, Ge = (e = {}) => {\n if (typeof e == \"number\")\n return {\n ...ce,\n limit: e\n };\n if (e.methods && !Array.isArray(e.methods))\n throw new Error(\"retry.methods must be an array\");\n if (e.statusCodes && !Array.isArray(e.statusCodes))\n throw new Error(\"retry.statusCodes must be an array\");\n return {\n ...ce,\n ...e,\n afterStatusCodes: Te\n };\n};\nasync function Xe(e, t, n, r) {\n return new Promise((s, i) => {\n const o = setTimeout(() => {\n n && n.abort(), i(new pe(e));\n }, r.timeout);\n r.fetch(e, t).then(s).catch(i).then(() => {\n clearTimeout(o);\n });\n });\n}\nasync function Ke(e, { signal: t }) {\n return new Promise((n, r) => {\n t && (t.throwIfAborted(), t.addEventListener(\"abort\", s, { once: !0 }));\n function s() {\n clearTimeout(i), r(t.reason);\n }\n const i = setTimeout(() => {\n t == null || t.removeEventListener(\"abort\", s), n();\n }, e);\n });\n}\nconst Ye = (e, t) => {\n const n = {};\n for (const r in t)\n !(r in Ue) && !(r in We) && !(r in e) && (n[r] = t[r]);\n return n;\n};\nclass W {\n static create(t, n) {\n const r = new W(t, n), s = async () => {\n if (typeof r._options.timeout == \"number\" && r._options.timeout > Y)\n throw new RangeError(`The \\`timeout\\` option cannot be greater than ${Y}`);\n await Promise.resolve();\n let o = await r._fetch();\n for (const c of r._options.hooks.afterResponse) {\n const a = await c(r.request, r._options, r._decorateResponse(o.clone()));\n a instanceof globalThis.Response && (o = a);\n }\n if (r._decorateResponse(o), !o.ok && r._options.throwHttpErrors) {\n let c = new ae(o, r.request, r._options);\n for (const a of r._options.hooks.beforeError)\n c = await a(c);\n throw c;\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 (!Me)\n throw new Error(\"Streams are not supported in your environment. `ReadableStream` is missing.\");\n return r._stream(o.clone(), r._options.onDownloadProgress);\n }\n return o;\n }, i = r._options.retry.methods.includes(r.request.method.toLowerCase()) ? r._retry(s) : s();\n for (const [o, c] of Object.entries(Le))\n i[o] = async () => {\n r.request.headers.set(\"accept\", r.request.headers.get(\"accept\") || c);\n const a = (await i).clone();\n if (o === \"json\") {\n if (a.status === 204 || (await a.clone().arrayBuffer()).byteLength === 0)\n return \"\";\n if (n.parseJson)\n return n.parseJson(await a.text());\n }\n return a[o]();\n };\n return i;\n }\n // eslint-disable-next-line complexity\n constructor(t, n = {}) {\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 ...n,\n headers: me(this._input.headers, n.headers),\n hooks: se({\n beforeRequest: [],\n beforeRetry: [],\n beforeError: [],\n afterResponse: []\n }, n.hooks),\n method: je(n.method ?? this._input.method),\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n prefixUrl: String(n.prefixUrl || \"\"),\n retry: Ge(n.retry),\n throwHttpErrors: n.throwHttpErrors !== !1,\n timeout: n.timeout ?? 1e4,\n fetch: n.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 (xe) {\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 (He && (this._options.duplex = \"half\"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {\n const r = \"?\" + (typeof this._options.searchParams == \"string\" ? this._options.searchParams.replace(/^\\?/, \"\") : new URLSearchParams(this._options.searchParams).toString()), s = this.request.url.replace(/(?:\\?.*?)?(?=#|$)/, r);\n (ke && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers[\"content-type\"]) && this.request.headers.delete(\"content-type\"), this.request = new globalThis.Request(new globalThis.Request(s, { ...this.request }), this._options);\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 pe)) {\n if (t instanceof ae) {\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 s = Number(r);\n return Number.isNaN(s) ? s = Date.parse(r) - Date.now() : s *= 1e3, this._options.retry.maxRetryAfter !== void 0 && s > this._options.retry.maxRetryAfter ? 0 : s;\n }\n if (t.response.status === 413)\n return 0;\n }\n const n = this._options.retry.delay(this._retryCount);\n return Math.min(this._options.retry.backoffLimit, n);\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 (n) {\n const r = Math.min(this._calculateRetryDelay(n), Y);\n if (r !== 0 && this._retryCount > 0) {\n await Ke(r, { signal: this._options.signal });\n for (const s of this._options.hooks.beforeRetry)\n if (await s({\n request: this.request,\n options: this._options,\n error: n,\n retryCount: this._retryCount\n }) === fe)\n return;\n return this._retry(t);\n }\n throw n;\n }\n }\n async _fetch() {\n for (const n of this._options.hooks.beforeRequest) {\n const r = await n(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 = Ye(this.request, this._options);\n return this._options.timeout === !1 ? this._options.fetch(this.request.clone(), t) : Xe(this.request.clone(), t, this.abortController, this._options);\n }\n /* istanbul ignore next */\n _stream(t, n) {\n const r = Number(t.headers.get(\"content-length\")) || 0;\n let s = 0;\n return t.status === 204 ? (n && n({ percent: 1, totalBytes: r, transferredBytes: s }, 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 o = t.body.getReader();\n n && n({ percent: 0, transferredBytes: 0, totalBytes: r }, new Uint8Array());\n async function c() {\n const { done: a, value: u } = await o.read();\n if (a) {\n i.close();\n return;\n }\n if (n) {\n s += u.byteLength;\n const h = r === 0 ? 0 : s / r;\n n({ percent: h, transferredBytes: s, totalBytes: r }, u);\n }\n i.enqueue(u), await c();\n }\n await c();\n }\n }), {\n status: t.status,\n statusText: t.statusText,\n headers: t.headers\n });\n }\n}\n/*! MIT License © Sindre Sorhus */\nconst z = (e) => {\n const t = (n, r) => W.create(n, x(e, r));\n for (const n of _e)\n t[n] = (r, s) => W.create(r, x(e, s, { method: n }));\n return t.create = (n) => z(x(n)), t.extend = (n) => z(x(e, n)), t.stop = fe, t;\n}, ge = z();\nlet L;\nconst T = {\n CachedPrices: `${S.ThorswapApi}/tokenlist/cached-price`,\n GasRates: `${S.ThorswapApi}/resource-worker/gasPrice/getAll`,\n Quote: `${S.ThorswapApi}/aggregator/tokens/quote`,\n Txn: `${S.ThorswapApi}/apiusage/v2/txn`,\n TokenlistProviders: `${S.ThorswapApi}/tokenlist/providers`,\n TokenList: `${S.ThorswapStatic}/token-list`,\n Thorname: `${S.ThorswapApi}/thorname`\n}, Ae = typeof window < \"u\" ? {} : { referrer: \"https://sk.thorswap.net\", referer: \"https://sk.thorswap.net\" }, le = () => L || (L = ge.create({ headers: Ae }), L), Tt = ({ apiKey: e, ...t }) => {\n L = ge.create({\n ...t,\n headers: { ...Ae, ...t.headers, \"x-api-key\": e }\n });\n}, f = {\n get: (e, t) => le().get(e, t).json(),\n post: (e, t) => le().post(e, t).json()\n}, Je = ({ tokens: e, ...t }) => {\n const n = new URLSearchParams(), r = e.filter(\n (s, i, o) => o.findIndex((c) => c === s) === i\n );\n for (const s of r)\n n.append(\"tokens\", JSON.stringify(s));\n return t.metadata && n.append(\"metadata\", \"true\"), t.lookup && n.append(\"lookup\", \"true\"), t.sparkline && n.append(\"sparkline\", \"true\"), f.post(T.CachedPrices, {\n body: n.toString(),\n headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" }\n });\n}, gt = {\n getCachedPrices: Je,\n getQuote: (e) => f.get(T.Quote, { searchParams: e }),\n getGasRates: () => f.get(T.GasRates),\n getTxnDetails: (e) => f.get(T.Txn, { searchParams: e }),\n getTokenlistProviders: () => f.get(T.TokenlistProviders),\n getTokenList: (e) => f.get(`${T.TokenList}/${e}.json`),\n getThornameAddresses: (e) => f.get(`${T.Thorname}/${e}`),\n getThornameRegisteredChains: (e) => f.get(`${T.Thorname}/chains/${e}`),\n getThornameRlookup: (e, t) => f.get(`${T.Thorname}/rlookup`, { searchParams: { address: e, chain: t } })\n};\nvar Qe = /* @__PURE__ */ ((e) => (e.SWAP_TC_TO_TC = \"SWAP:TC-TC\", e.SWAP_ETH_TO_TC = \"SWAP:ERC20-TC\", e.SWAP_TC_TO_ETH = \"SWAP:TC-ERC20\", e.SWAP_ETH_TO_ETH = \"SWAP:ERC20-ERC20\", e.SWAP_AVAX_TO_TC = \"SWAP:AVAX-TC\", e.SWAP_TC_TO_AVAX = \"SWAP:TC-AVAX\", e.SWAP_AVAX_TO_AVAX = \"SWAP:AVAX-AVAX\", e.SWAP_ETH_TO_AVAX = \"SWAP:ETH-AVAX\", e.SWAP_AVAX_TO_ETH = \"SWAP:AVAX-ETH\", e.SWAP_TC_TO_GAIA = \"SWAP:TC-GAIA\", e.SWAP_GAIA_TO_TC = \"SWAP:GAIA-TC\", e.SWAP_TC_TO_BNB = \"SWAP:TC-BNB\", e.SWAP_BNB_TO_TC = \"SWAP:BNB-TC\", e.SWAP_TC_TO_BTC = \"SWAP:TC-BTC\", e.SWAP_BTC_TO_TC = \"SWAP:BTC-TC\", e.SWAP_TC_TO_BCH = \"SWAP:TC-BCH\", e.SWAP_BCH_TO_TC = \"SWAP:BCH-TC\", e.SWAP_TC_TO_LTC = \"SWAP:TC-LTC\", e.SWAP_LTC_TO_TC = \"SWAP:LTC-TC\", e.SWAP_TC_TO_DOGE = \"SWAP:TC-DOGE\", e.SWAP_DOGE_TO_TC = \"SWAP:DOGE-TC\", e.TC_STATUS = \"TC:STATUS\", e.TC_TRANSFER = \"TC:TRANSFER\", e.TC_DEPOSIT = \"TC:DEPOSIT\", e.TC_SEND = \"TC:SEND\", e.TC_SWITCH = \"TC:SWITCH\", e.TC_LP_ADD = \"TC:ADDLIQUIDITY\", e.TC_LP_WITHDRAW = \"TC:WITHDRAW\", e.TC_TNS_CREATE = \"TC:TNS-CREATE\", e.TC_TNS_EXTEND = \"TC:TNS-EXTEND\", e.TC_TNS_UPDATE = \"TC:TNS-UPDATE\", e.TC_SAVINGS_ADD = \"TC:ADDSAVINGS\", e.TC_SAVINGS_WITHDRAW = \"TC:WITHDRAWSAVINGS\", e.TC_LENDING_OPEN = \"TC:LENDINGOPEN\", e.TC_LENDING_CLOSE = \"TC:LENDINGCLOSE\", e.ETH_APPROVAL = \"ETH:APPROVAL\", e.ETH_STATUS = \"ETH:STATUS\", e.ETH_TRANSFER_TO_TC = \"ETH:TRANSFER:IN\", e.ETH_TRANSFER_FROM_TC = \"ETH:TRANSFER:OUT\", e.AVAX_APPROVAL = \"AVAX:APPROVAL\", e.AVAX_STATUS = \"AVAX:STATUS\", e.AVAX_TRANSFER_TO_TC = \"AVAX:TRANSFER:IN\", e.AVAX_TRANSFER_FROM_TC = \"AVAX:TRANSFER:OUT\", e.BSC_APPROVAL = \"BSC:APPROVAL\", e.BSC_STATUS = \"BSC:STATUS\", e.BSC_TRANSFER_TO_TC = \"BSC:TRANSFER:IN\", e.BSC_TRANSFER_FROM_TC = \"BSC:TRANSFER:OUT\", e.APPROVAL = \"APPROVAL\", e.STATUS = \"STATUS\", e.TRANSFER_TO_TC = \"TRANSFER:IN\", e.TRANSFER_FROM_TC = \"TRANSFER:OUT\", e.UNSUPPORTED = \"UNSUPPORTED\", e.TC_LENDING = \"TC:LENDING\", e))(Qe || {}), ze = /* @__PURE__ */ ((e) => (e.PENDING = \"pending\", e.SUCCESS = \"success\", e.CANCELLED = \"cancelled\", e.REFUNDED = \"refunded\", e.REPLACED = \"replaced\", e.ERROR = \"error\", e.UNKNOWN = \"unknown\", e.NOT_STARTED = \"not_started\", e.NOT_FOUND = \"not_found\", e.RETRIES_EXCEEDED = \"retries_exceeded\", e.STREAMING = \"streaming\", e))(ze || {}), Ze = /* @__PURE__ */ ((e) => (e[e.NOT_STARTED = 0] = \"NOT_STARTED\", e[e.SUCCESS = 1] = \"SUCCESS\", e[e.REFUNDED = 2] = \"REFUNDED\", e))(Ze || {});\nconst et = \"0x313ce567\", Ce = async ({ chain: e, to: t }) => {\n try {\n const { result: n } = await f.post(Be[e], {\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: et }, \"latest\"]\n })\n });\n return parseInt(BigInt(n).toString());\n } catch (n) {\n return console.error(n), d[e];\n }\n}, tt = (e) => {\n if (e === l.Ethereum)\n return d.ETH;\n const [, t] = e.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? Ce({ chain: l.Ethereum, to: t }) : d.ETH;\n}, nt = (e) => {\n const [, t] = e.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? Ce({ chain: l.Avalanche, to: t.toLowerCase() }) : d.AVAX;\n}, rt = (e) => e === l.BinanceSmartChain ? d.BSC : d.BSC, st = ({ chain: e, symbol: t }) => {\n switch (e) {\n case l.Ethereum:\n return tt(t);\n case l.Avalanche:\n return nt(t);\n case l.BinanceSmartChain:\n return rt(t);\n default:\n return d[e];\n }\n}, At = {\n [K.Average]: 1.2,\n [K.Fast]: 1.5,\n [K.Fastest]: 2\n}, Se = ({ chain: e, symbol: t }) => {\n switch (e) {\n case l.Arbitrum:\n case l.Optimism:\n return t === \"ETH\";\n case l.Maya:\n return t === \"CACAO\";\n case l.Kujira:\n return t === \"KUJI\";\n case l.Cosmos:\n return t === \"ATOM\";\n case l.Polygon:\n return t === \"MATIC\";\n case l.BinanceSmartChain:\n return t === \"BNB\";\n case l.THORChain:\n return t === \"RUNE\";\n default:\n return t === e;\n }\n}, it = (e) => {\n switch (e) {\n case `${l.Ethereum}.THOR`:\n return { identifier: \"ETH.THOR-0xa5f2211b9b8170f694421f2046281775e8468044\", decimal: 18 };\n case `${l.Ethereum}.vTHOR`:\n return { identifier: \"ETH.vTHOR-0x815c23eca83261b6ec689b60cc4a58b54bc24d8d\", decimal: 18 };\n case l.Cosmos:\n return { identifier: \"GAIA.ATOM\", decimal: d[e] };\n case l.THORChain:\n return { identifier: \"THOR.RUNE\", decimal: d[e] };\n case l.BinanceSmartChain:\n return { identifier: \"BSC.BNB\", decimal: d[e] };\n case l.Maya:\n return { identifier: \"MAYA.CACAO\", decimal: d.MAYA };\n case `${l.Maya}.MAYA`:\n return { identifier: \"MAYA.MAYA\", decimal: 4 };\n case `${l.Kujira}.USK`:\n return { identifier: `${l.Kujira}.USK`, decimal: 6 };\n default:\n return { identifier: `${e}.${e}`, decimal: d[e] };\n }\n}, ot = ({ chain: e, symbol: t }) => {\n if (t.includes(\"/\"))\n return \"Synth\";\n switch (e) {\n case l.Cosmos:\n return t === \"ATOM\" ? \"Native\" : l.Cosmos;\n case l.Kujira:\n return t === l.Kujira ? \"Native\" : l.Kujira;\n case l.Binance:\n return t === l.Binance ? \"Native\" : \"BEP2\";\n case l.BinanceSmartChain:\n return t === l.Binance ? \"Native\" : \"BEP20\";\n case l.Ethereum:\n return t === l.Ethereum ? \"Native\" : \"ERC20\";\n case l.Avalanche:\n return t === l.Avalanche ? \"Native\" : l.Avalanche;\n case l.Polygon:\n return t === l.Polygon ? \"Native\" : \"POLYGON\";\n case l.Arbitrum:\n return [l.Ethereum, l.Arbitrum].includes(t) ? \"Native\" : \"ARBITRUM\";\n case l.Optimism:\n return [l.Ethereum, l.Optimism].includes(t) ? \"Native\" : \"OPTIMISM\";\n default:\n return \"Native\";\n }\n}, Ct = (e) => {\n var o;\n const [t, ...n] = e.split(\".\"), r = e.includes(\"/\"), s = n.join(\".\"), i = (o = s == null ? void 0 : s.split(\"-\")) == null ? void 0 : o[0];\n return { chain: t, symbol: s, ticker: i, synth: r };\n}, at = new RegExp(\n /(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/,\n \"gmi\"\n), ct = (e) => {\n const [t, n] = e.split(\".\");\n if (!Ne.includes(t))\n return !0;\n const [, r] = n.split(\"-\");\n return Se({ chain: t, symbol: n }) || !!r;\n}, St = (e) => e.filter(({ chain: t, value: n, symbol: r }) => {\n const s = `${t}.${r}`;\n return !at.test(s) && ct(s) && n !== \"0\";\n});\nfunction lt({\n liquidityUnits: e,\n poolUnits: t,\n runeDepth: n\n}) {\n const r = m(e), s = m(t), i = m(n), o = r.mul(i), c = s.mul(s).mul(2), a = s.mul(r).mul(2), u = r.mul(r), h = s.mul(s).mul(s);\n return o.mul(c.sub(a).add(u)).div(h);\n}\nfunction ut({\n liquidityUnits: e,\n poolUnits: t,\n assetDepth: n\n}) {\n const r = m(e), s = m(t), i = m(n), o = r.mul(i), c = s.mul(s).mul(2), a = s.mul(r).mul(2), u = r.mul(r), h = o.mul(c.sub(a).add(u)), v = s.mul(s).mul(s);\n return h.div(v);\n}\nfunction bt({\n percent: e,\n runeDepth: t,\n liquidityUnits: n,\n poolUnits: r\n}) {\n return lt({ runeDepth: t, liquidityUnits: n, poolUnits: r }).mul(e);\n}\nfunction wt({\n percent: e,\n assetDepth: t,\n liquidityUnits: n,\n poolUnits: r\n}) {\n return ut({ assetDepth: t, liquidityUnits: n, poolUnits: r }).mul(e);\n}\nfunction m(e) {\n return g.fromBigInt(BigInt(e), d.THOR);\n}\nfunction ht({\n liquidityUnits: e,\n poolUnits: t,\n runeDepth: n,\n assetDepth: r\n}) {\n return {\n assetAmount: m(r).mul(e).div(t),\n runeAmount: m(n).mul(e).div(t)\n };\n}\nfunction yt({\n liquidityUnits: e,\n poolUnits: t,\n runeDepth: n,\n assetDepth: r,\n percent: s\n}) {\n return Object.fromEntries(\n Object.entries(ht({ liquidityUnits: e, poolUnits: t, runeDepth: n, assetDepth: r })).map(\n ([i, o]) => [i, o.mul(s)]\n )\n );\n}\nfunction Rt({\n runeDepth: e,\n poolUnits: t,\n assetDepth: n,\n liquidityUnits: r,\n runeAmount: s,\n assetAmount: i\n}) {\n const o = new g({ value: e, decimal: 8 }), c = new g({ value: n, decimal: 8 }), a = new g({ value: t, decimal: 8 }), u = new g({ value: s, decimal: 8 }), h = new g({ value: i, decimal: 8 }), v = u.mul(c), ie = h.mul(o), ye = u.mul(h), Re = o.mul(c), Ee = a.mul(v.add(ie.add(ye.mul(2)))), Pe = v.add(ie.add(Re.mul(2))), oe = Ee.div(Pe), X = m(r).add(oe);\n if (oe.getBaseValue(\"number\") === 0)\n return X.div(a).getBaseValue(\"number\");\n const Oe = a.add(X);\n return X.div(Oe).getBaseValue(\"number\");\n}\nfunction Et({\n runeAmount: e,\n assetAmount: t,\n runeDepth: n,\n assetDepth: r\n}) {\n if (e === \"0\" || t === \"0\" || n === \"0\" || r === \"0\")\n return 0;\n const s = m(n), i = m(r), o = m(t), c = m(e), a = o.mul(s).sub(i.mul(c)), u = i.mul(c).add(s.mul(i));\n return Math.abs(a.div(u).getBaseValue(\"number\"));\n}\nconst Pt = (e, t) => {\n switch (e) {\n case C.LEAVE:\n case C.BOND: {\n const { address: n } = t;\n return `${e}:${n}`;\n }\n case C.UNBOND: {\n const { address: n, unbondAmount: r } = t;\n return `${e}:${n}:${r}`;\n }\n case C.THORNAME_REGISTER: {\n const { name: n, chain: r, address: s, owner: i } = t;\n return `${e}:${n}:${r}:${s}${i ? `:${i}` : \"\"}`;\n }\n case C.DEPOSIT: {\n const { chain: n, symbol: r, address: s, singleSide: i } = t;\n return i ? `${e}:${n}/${r}` : `${e}:${((c, a) => {\n switch (c) {\n case l.Litecoin:\n return \"l\";\n case l.Dogecoin:\n return \"d\";\n case l.BitcoinCash:\n return \"c\";\n default:\n return `${c}.${a}`;\n }\n })(n, r)}:${s || \"\"}`;\n }\n case C.WITHDRAW: {\n const { chain: n, ticker: r, symbol: s, basisPoints: i, targetAssetString: o, singleSide: c } = t, a = n === \"ETH\" && r !== \"ETH\" ? `${r}-${s.slice(-3)}` : s, u = !c && o ? `:${o}` : \"\";\n return `${e}:${n}${c ? \"/\" : \".\"}${a}:${i}${u}`;\n }\n case C.OPEN_LOAN:\n case C.CLOSE_LOAN: {\n const { asset: n, address: r } = t;\n return `${e}:${n}:${r}`;\n }\n default:\n return \"\";\n }\n};\nfunction Ot(e) {\n if (e < 0)\n throw new Error(\"Invalid number of year\");\n return 10 + e;\n}\nfunction vt(e) {\n if (e < 0)\n throw new Error(\"Invalid number of year\");\n return Math.round((10 + e * 1.0512) * 1e10) / 1e10;\n}\nfunction $t(e) {\n if (e.length > 30)\n return !1;\n const t = /^[a-zA-Z0-9+_-]+$/g;\n return !!e.match(t);\n}\nfunction It(e) {\n if (e.length > 30)\n return !1;\n const t = /^[a-zA-Z0-9+_-]+$/g;\n return !!e.match(t);\n}\nfunction Nt([e, t, n, r, s]) {\n return `${e}'/${t}'/${n}'/${r}${typeof s != \"number\" ? \"\" : `/${s}`}`;\n}\nconst ue = [...Object.values(l), \"TERRA\"];\nfunction dt(e = \"\") {\n const t = e.toUpperCase(), [n] = t.split(\".\");\n if (ue.includes(n))\n return !0;\n const [r] = t.split(\"/\");\n if (ue.includes(r))\n return !0;\n throw new Error(\n `Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`\n );\n}\nconst B = 8, w = (e) => 10n ** BigInt(e), $ = (e) => Math.log10(parseFloat(e.toString()));\nfunction U({\n value: e,\n bigIntDecimal: t = B,\n decimal: n = B\n}) {\n if (n === 0)\n return e.toString();\n const r = e < 0n;\n let s = e.toString().substring(r ? 1 : 0);\n const i = n - (s.length - 1);\n i > 0 && (s = \"0\".repeat(i) + s);\n const o = s.length - n;\n let c = s.slice(-n);\n return parseInt(c[t]) >= 5 ? c = `${c.substring(0, t - 1)}${(parseInt(c[t - 1]) + 1).toString()}` : c = c.substring(0, t), `${r ? \"-\" : \"\"}${s.slice(0, o)}.${c}`.replace(\n /\\.?0*$/,\n \"\"\n );\n}\nvar y, I, b, E, j, be, V, Z, H, ee;\nconst q = class q {\n constructor(t) {\n R(this, y);\n R(this, b);\n R(this, j);\n R(this, V);\n R(this, H);\n _(this, \"decimalMultiplier\", 10n ** 8n);\n _(this, \"bigIntValue\", 0n);\n _(this, \"decimal\");\n const n = te(t), r = typeof t == \"object\";\n this.decimal = r ? t.decimal : void 0, this.decimalMultiplier = r && \"decimalMultiplier\" in t ? t.decimalMultiplier : w(Math.max(he(M(n)), this.decimal || 0)), p(this, j, be).call(this, n);\n }\n static fromBigInt(t, n) {\n return new q({\n decimal: n,\n value: U({ value: t, bigIntDecimal: n, decimal: n })\n });\n }\n static shiftDecimals({\n value: t,\n from: n,\n to: r\n }) {\n return q.fromBigInt(\n t.getBaseValue(\"bigint\") * w(r) / w(n),\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 p(this, y, I).call(this, \"add\", ...t);\n }\n sub(...t) {\n return p(this, y, I).call(this, \"sub\", ...t);\n }\n mul(...t) {\n return p(this, y, I).call(this, \"mul\", ...t);\n }\n div(...t) {\n return p(this, y, I).call(this, \"div\", ...t);\n }\n gt(t) {\n return p(this, b, E).call(this, \"gt\", t);\n }\n gte(t) {\n return p(this, b, E).call(this, \"gte\", t);\n }\n lt(t) {\n return p(this, b, E).call(this, \"lt\", t);\n }\n lte(t) {\n return p(this, b, E).call(this, \"lte\", t);\n }\n eqValue(t) {\n return p(this, b, E).call(this, \"eqValue\", t);\n }\n // @ts-expect-error False positive\n getValue(t) {\n const n = this.formatBigIntToSafeValue(\n this.bigIntValue,\n this.decimal || $(this.decimalMultiplier)\n );\n switch (t) {\n case \"number\":\n return Number(n);\n case \"string\":\n return n;\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 n = this.decimalMultiplier / w(this.decimal || d.THOR), r = this.bigIntValue / n;\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, n) {\n if (!n && typeof t == \"object\")\n return t.bigIntValue;\n const r = te(t), s = M(r);\n return s === \"0\" || s === \"undefined\" ? 0n : p(this, H, ee).call(this, s, n);\n }\n toSignificant(t = 6) {\n const [n, r] = this.getValue(\"string\").split(\".\"), s = n || \"\", i = r || \"\";\n if ((parseInt(s) ? s.length + i.length : i.length) <= t)\n return this.getValue(\"string\");\n if (s.length >= t)\n return s.slice(0, t).padEnd(s.length, \"0\");\n if (parseInt(s))\n return `${s}.${i.slice(0, t - s.length)}`.padEnd(\n t - s.length,\n \"0\"\n );\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 toFixed(t = 6) {\n const [n, r] = this.getValue(\"string\").split(\".\"), s = n || \"\", i = r || \"\";\n if (parseInt(s))\n return `${s}.${i.slice(0, t)}`.padEnd(t, \"0\");\n const o = parseInt(i), c = `${o}`.slice(0, t);\n return `0.${c.padStart(\n i.length - `${o}`.length + c.length,\n \"0\"\n )}`;\n }\n toAbbreviation(t = 2) {\n const n = this.getValue(\"number\"), r = [\"\", \"K\", \"M\", \"B\", \"T\", \"Q\", \"Qi\", \"S\"], s = Math.floor(Math.log10(Math.abs(n)) / 3), i = r[s];\n if (!i)\n return this.getValue(\"string\");\n const o = 10 ** (s * 3);\n return `${(n / o).toFixed(t)}${i}`;\n }\n toCurrency(t = \"$\", {\n currencyPosition: n = \"start\",\n decimal: r = 2,\n decimalSeparator: s = \".\",\n thousandSeparator: i = \",\"\n } = {}) {\n const o = this.getValue(\"number\"), [c, a = \"\"] = o.toFixed(6).split(\".\"), u = c.replace(/\\B(?=(\\d{3})+(?!\\d))/g, i), h = c || a ? c === \"0\" ? `${parseFloat(`0.${a}`)}`.replace(\".\", s) : `${u}${parseInt(a) ? `${s}${a.slice(0, r)}` : \"\"}` : \"0.00\";\n return `${n === \"start\" ? t : \"\"}${h}${n === \"end\" ? t : \"\"}`;\n }\n formatBigIntToSafeValue(t, n) {\n const r = n || this.decimal || B, s = Math.max(\n r,\n $(this.decimalMultiplier)\n ), i = t < 0n, o = t.toString().substring(i ? 1 : 0), c = s - (o.length - 1), a = c > 0 ? \"0\".repeat(c) + o : o, u = a.length - s;\n let h = a.slice(-s);\n return parseInt(h[r]) >= 5 ? h = `${h.substring(0, r - 1)}${(parseInt(h[r - 1]) + 1).toString()}` : h = h.substring(0, r), `${i ? \"-\" : \"\"}${a.slice(\n 0,\n u\n )}.${h}`.replace(/\\.?0*$/, \"\");\n }\n};\ny = new WeakSet(), I = function(t, ...n) {\n const r = p(this, V, Z).call(this, this, ...n), s = Math.max(r, $(this.decimalMultiplier)), i = w(s), o = n.reduce(\n (a, u) => {\n const h = this.getBigIntValue(u, s);\n switch (t) {\n case \"add\":\n return a + h;\n case \"sub\":\n return a - h;\n case \"mul\":\n return a * h / i;\n case \"div\": {\n if (h === 0n)\n throw new RangeError(\"Division by zero\");\n return a * i / h;\n }\n default:\n return a;\n }\n },\n //normalize is to precision multiplier base\n this.bigIntValue * i / this.decimalMultiplier\n ), c = U({\n bigIntDecimal: s,\n decimal: s,\n value: o\n });\n return new this.constructor({\n decimalMultiplier: w(s),\n decimal: this.decimal,\n value: c,\n identifier: this.toString()\n });\n}, b = new WeakSet(), E = function(t, ...n) {\n const r = p(this, V, Z).call(this, this, ...n), s = this.getBigIntValue(n[0], r), i = this.getBigIntValue(this, r);\n switch (t) {\n case \"gt\":\n return i > s;\n case \"gte\":\n return i >= s;\n case \"lt\":\n return i < s;\n case \"lte\":\n return i <= s;\n case \"eqValue\":\n return i === s;\n }\n}, j = new WeakSet(), be = function(t) {\n const n = M(t) || \"0\";\n this.bigIntValue = p(this, H, ee).call(this, n);\n}, V = new WeakSet(), Z = function(...t) {\n const n = t.map((r) => typeof r == \"object\" ? r.decimal || $(r.decimalMultiplier) : he(M(r))).filter(Boolean);\n return Math.max(...n, B);\n}, H = new WeakSet(), ee = function(t, n) {\n const r = n ? w(n) : this.decimalMultiplier, s = $(r), [i = \"\", o = \"\"] = t.split(\".\");\n return BigInt(`${i}${o.padEnd(s, \"0\")}`);\n};\nlet D = q;\nconst pt = Intl.NumberFormat(\"fullwide\", {\n useGrouping: !1,\n maximumFractionDigits: 20\n});\nfunction M(e) {\n const n = `${typeof e == \"number\" ? pt.format(e) : te(e)}`.replaceAll(\",\", \".\").split(\".\");\n return n.length > 1 ? `${n.slice(0, -1).join(\"\")}.${n.at(-1)}` : n[0];\n}\nfunction he(e) {\n var n;\n const t = ((n = e.split(\".\")[1]) == null ? void 0 : n.length) || 0;\n return Math.max(t, B);\n}\nfunction te(e) {\n return typeof e == \"object\" ? \"getValue\" in e ? e.getValue(\"string\") : e.value : e;\n}\nclass g extends D {\n eq(t) {\n return this.eqValue(t);\n }\n static fromBigInt(t, n) {\n return new g({\n decimal: n,\n value: U({ value: t, bigIntDecimal: n, decimal: n })\n });\n }\n}\nconst P = /* @__PURE__ */ new Map();\nclass A extends D {\n constructor({\n value: n,\n decimal: r,\n tax: s,\n chain: i,\n symbol: o,\n identifier: c\n }) {\n super(typeof n == \"object\" ? n : { decimal: r, value: n });\n _(this, \"address\");\n _(this, \"chain\");\n _(this, \"isGasAsset\", !1);\n _(this, \"isSynthetic\", !1);\n _(this, \"symbol\");\n _(this, \"tax\");\n _(this, \"ticker\");\n _(this, \"type\");\n const a = N(c || `${i}.${o}`);\n this.type = ot(a), this.tax = s, this.chain = a.chain, this.ticker = a.ticker, this.symbol = a.symbol, this.address = a.address, this.isSynthetic = a.isSynthetic, this.isGasAsset = a.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: n, symbol: r }) {\n return this.chain === n && this.symbol === r;\n }\n chainId() {\n return De[this.chain];\n }\n // THOR.RUNE\n // THOR.ETH.ETH\n // ETH.THOR-0x1234567890\n static fromUrl(n, r = 0) {\n const [s, i, o] = n.split(\".\");\n if (!(s && i))\n throw new Error(\"Invalid asset url\");\n const c = s === l.THORChain && o ? `${s}.${i}/${o}` : n;\n return J(c, r);\n }\n static fromString(n, r = 0) {\n return J(n, r);\n }\n static fromIdentifier(n, r = 0) {\n return J(n, r);\n }\n static fromStringSync(n, r = 0) {\n const { chain: s, isSynthetic: i } = N(n), o = P.get(n.toUpperCase());\n if (i)\n return Q(n, r);\n const { tax: c, decimal: a, identifier: u } = o || {\n decimal: d[s],\n identifier: n\n };\n return new A({\n tax: c,\n value: O(r, a),\n identifier: i ? n : u,\n decimal: i ? 8 : a\n });\n }\n static async fromStringWithBase(n, r = 0, s = d.THOR) {\n const i = D.shiftDecimals({\n value: g.fromBigInt(BigInt(r)),\n from: 0,\n to: s\n }).getBaseValue(\"string\");\n return (await A.fromString(n, r)).set(i);\n }\n static fromStringWithBaseSync(n, r = 0, s = d.THOR) {\n const { chain: i, isSynthetic: o } = N(n), c = P.get(n.toUpperCase());\n if (o)\n return Q(n, r);\n const { tax: a, decimal: u, identifier: h } = c || {\n decimal: d[i],\n identifier: n\n };\n return new A({\n tax: a,\n value: O(BigInt(r), s),\n identifier: h,\n decimal: u\n });\n }\n static fromIdentifierSync(n, r = 0) {\n const { chain: s, isSynthetic: i } = N(n), o = P.get(n);\n if (i)\n return Q(n, r);\n const { tax: c, decimal: a, identifier: u } = o || {\n decimal: d[s],\n identifier: n\n };\n return new A({ tax: c, decimal: a, identifier: u, value: O(r, a) });\n }\n static fromChainOrSignature(n, r = 0) {\n const { decimal: s, identifier: i } = it(n);\n return new A({ value: O(r, s), decimal: s, identifier: i });\n }\n static loadStaticAssets() {\n return new Promise(\n (n, r) => {\n try {\n import(\"@swapkit/tokens\").then((s) => {\n for (const i of Object.values(s))\n for (const { identifier: o, chain: c, ...a } of i.tokens)\n P.set(o.toUpperCase(), {\n identifier: o,\n decimal: \"decimals\" in a ? a.decimals : d[c]\n });\n n({ ok: !0 });\n });\n } catch (s) {\n console.error(s), r({\n ok: !1,\n error: s,\n message: \"Couldn't load static assets. Ensure you have installed @swapkit/tokens package\"\n });\n }\n }\n );\n }\n}\nfunction Bt(e) {\n const t = A.fromChainOrSignature(e);\n switch (e) {\n case l.Bitcoin:\n case l.Litecoin:\n case l.BitcoinCash:\n return t.set(10001e-8);\n case l.Dogecoin:\n return t.set(1.00000001);\n case l.Avalanche:\n case l.Ethereum:\n return t.set(1e-8);\n case l.THORChain:\n case l.Maya:\n return t.set(0);\n case l.Cosmos:\n return t.set(1e-6);\n default:\n return t.set(1e-8);\n }\n}\nasync function J(e, t = 0) {\n dt(e);\n const n = P.get(e.toUpperCase()), r = (n == null ? void 0 : n.decimal) || await st(N(e));\n return n || P.set(e.toUpperCase(), { identifier: e, decimal: r }), new A({ decimal: r, value: O(t, r), identifier: e });\n}\nfunction Q(e, t = 0) {\n const [n, r] = e.split(\".\")[0].toUpperCase() === l.THORChain ? e.split(\".\").slice(1).join().split(\"/\") : e.split(\"/\");\n if (!(n && r))\n throw new Error(\"Invalid asset identifier\");\n return new A({\n decimal: 8,\n value: O(t, 8),\n identifier: `${l.THORChain}.${n}/${r}`\n });\n}\nfunction O(e, t) {\n return typeof e == \"bigint\" ? U({ value: e, bigIntDecimal: t, decimal: t }) : e;\n}\nfunction N(e) {\n const t = e.slice(0, 14).includes(\"/\"), [n, r] = e.split(\".\")[0].toUpperCase() === l.THORChain ? e.split(\".\").slice(1).join().split(\"/\") : e.split(\"/\");\n if (t && !(n && r))\n throw new Error(\"Invalid asset identifier\");\n const s = e.includes(\".\") && !t ? e : `${l.THORChain}.${r}`, [i, ...o] = s.split(\".\"), [c, a] = (t ? r : o.join(\".\")).split(\"-\"), u = t ? r : o.join(\".\");\n return {\n address: a == null ? void 0 : a.toLowerCase(),\n chain: i,\n isGasAsset: Se({ chain: i, symbol: u }),\n isSynthetic: t,\n symbol: (t ? `${n}/` : \"\") + (a ? `${c}-${(a == null ? void 0 : a.toLowerCase()) ?? \"\"}` : u),\n ticker: c\n };\n}\nconst mt = {\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 core_wallet_keepkey_not_installed: 10109,\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 core_swap_provider_not_found: 10208,\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: 10314,\n core_transaction_user_rejected: 10315,\n /**\n * Wallets\n */\n wallet_ledger_connection_error: 20001,\n wallet_ledger_connection_claimed: 20002,\n wallet_ledger_get_address_error: 20003,\n wallet_ledger_device_not_found: 20004,\n wallet_ledger_device_locked: 20005,\n /**\n * Chainflip\n */\n chainflip_channel_error: 30001,\n chainflip_broker_recipient_error: 30002,\n /**\n * THORChain\n */\n /**\n * Helpers\n */\n helpers_number_different_decimals: 99101\n};\nclass we extends Error {\n constructor(t, n) {\n n && console.error(n, {\n stack: n == null ? void 0 : n.stack,\n message: n == null ? void 0 : n.message\n }), super(t, {\n cause: { code: mt[t], message: t }\n }), Object.setPrototypeOf(this, we.prototype);\n }\n}\nexport {\n T as ApiEndpoints,\n A as AssetValue,\n D as BigIntArithmetics,\n f as RequestClient,\n Ze as StreamingSwapProgressStatus,\n gt as SwapKitApi,\n we as SwapKitError,\n g as SwapKitNumber,\n Qe as TransactionType,\n ze as TxStatus,\n Ct as assetFromString,\n Ae as defaultRequestHeaders,\n Nt as derivationPathToString,\n St as filterAssets,\n U as formatBigIntToSafeValue,\n At as gasFeeMultiplier,\n ot as getAssetType,\n ut as getAsymmetricAssetShare,\n wt as getAsymmetricAssetWithdrawAmount,\n lt as getAsymmetricRuneShare,\n bt as getAsymmetricRuneWithdrawAmount,\n it as getCommonAssetInfo,\n st as getDecimal,\n Rt as getEstimatedPoolShare,\n Et as getLiquiditySlippage,\n vt as getMAYANameCost,\n Pt as getMemoFor,\n Bt as getMinAmountByChain,\n ht as getSymmetricPoolShare,\n yt as getSymmetricWithdraw,\n Ot as getTHORNameCost,\n Se as isGasAsset,\n Tt as setRequestClientConfig,\n It as validateMAYAName,\n $t as validateTHORName\n};\n//# sourceMappingURL=index.es.js.map\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.Polkadot:\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.Polkadot:\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 { AssetValue, SwapKitError } from \"@swapkit/helpers\";\nimport { Chain } from \"@swapkit/types\";\nimport {\n getExplorerAddressUrl as getAddressUrl,\n getExplorerTxUrl as getTxUrl,\n} from \"../helpers/explorerUrls.ts\";\nimport type {\n ChainWallet,\n ConnectWalletParamsLocal as ConnectWalletParams,\n SwapWithRouteParams,\n} from \"../types.ts\";\n\nexport type ProviderName = \"thorchain\" | \"chainflip\" | \"mayachain\";\nexport enum ApproveMode {\n Approve = \"approve\",\n CheckOnly = \"checkOnly\",\n}\n\nexport type ApproveReturnType<T extends ApproveMode> = T extends \"checkOnly\"\n ? Promise<boolean>\n : Promise<string>;\n\ntype SwapKitProviders = {\n [K in ProviderName]?: ProviderMethods;\n};\n\ntype GenericSwapParams = {\n buyAsset: AssetValue;\n sellAsset: AssetValue;\n recipient: string;\n};\n\nexport type SwapParams = (SwapWithRouteParams | GenericSwapParams) & {\n provider?: {\n name: ProviderName;\n config: Record<string, any>;\n };\n};\n\nexport type SwapKitReturnType = SwapKitProviders & {\n getAddress: (chain: Chain) => string;\n getWallet: (chain: Chain) => ChainWallet<Chain> | undefined;\n getWalletWithBalance: (\n chain: Chain,\n potentialScamFilter?: boolean,\n ) => Promise<ChainWallet<Chain>>;\n getBalance: (chain: Chain, potentialScamFilter?: boolean) => AssetValue[];\n getExplorerTxUrl: (chain: Chain, txHash: string) => string;\n getExplorerAddressUrl: (chain: Chain, address: string) => string;\n swap: (params: SwapParams) => Promise<string>;\n validateAddress: (params: { address: string; chain: Chain }) =>\n | boolean\n | Promise<boolean>\n | undefined;\n approveAssetValue: (assetValue: AssetValue, contractAddress: string) => boolean | Promise<string>;\n isAssetValueApproved: (\n assetValue: AssetValue,\n contractAddress: string,\n ) => boolean | Promise<boolean>;\n};\n\nexport type Wallets = { [K in Chain]?: ChainWallet<K> };\nexport type AvailableProviders<T> = T | { [K in ProviderName]?: ProviderMethods };\nexport type ProviderMethods = {\n swap: (swapParams: SwapParams) => Promise<string>;\n [key: string]: any;\n};\n\nexport type SwapKitProvider = ({ wallets, stagenet }: { wallets: Wallets; stagenet?: boolean }) => {\n name: ProviderName;\n methods: ProviderMethods;\n};\n\nexport type SwapKitWallet = {\n connectMethodName: string;\n connect: (params: ConnectWalletParams) => (connectParams: any) => void;\n};\n\nexport function SwapKit<\n ExtendedProviders extends {},\n ConnectWalletMethods extends Record<string, ReturnType<SwapKitWallet[\"connect\"]>>,\n>({\n stagenet,\n wallets,\n providers,\n config = {},\n apis,\n rpcUrls,\n}: {\n providers: SwapKitProvider[];\n stagenet: boolean;\n wallets: SwapKitWallet[];\n config?: Record<string, any>;\n apis: Record<string, any>;\n rpcUrls: Record<string, any>;\n}): SwapKitReturnType & ConnectWalletMethods & AvailableProviders<ExtendedProviders> {\n const connectedWallets: Wallets = {};\n const availableProviders: AvailableProviders<ExtendedProviders> = {};\n\n for (const provider of providers) {\n const { name, methods } = provider({ wallets: connectedWallets, stagenet });\n\n availableProviders[name] = methods;\n }\n\n const connectWalletMethods = wallets.reduce((acc, wallet) => {\n (acc[wallet.connectMethodName] as ReturnType<SwapKitWallet[\"connect\"]>) = wallet.connect({\n addChain,\n config,\n apis,\n rpcUrls,\n });\n\n return acc;\n }, {} as ConnectWalletMethods);\n\n /**\n * @Private\n * Internal helpers\n */\n function getProvider(providerName?: ProviderName) {\n const provider =\n (availableProviders as SwapKitProviders)[providerName as ProviderName] ||\n Object.values(availableProviders)[0];\n\n if (!provider) {\n throw new SwapKitError(\n \"core_swap_provider_not_found\",\n \"Could not find the requested provider\",\n );\n }\n\n return provider;\n }\n\n function addChain(connectWallet: ChainWallet<Chain>) {\n (connectedWallets[connectWallet.chain as Chain] as ChainWallet<Chain>) = connectWallet;\n }\n\n /**\n * @Private\n * Wallet interaction helpers\n */\n function approve<T extends ApproveMode>({\n assetValue,\n type = \"checkOnly\" as T,\n contractAddress,\n }: {\n type: T;\n assetValue: AssetValue;\n contractAddress: string;\n }): ApproveReturnType<T> {\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) {\n return Promise.resolve(type === \"checkOnly\" ? true : \"approved\") as ApproveReturnType<T>;\n }\n\n const walletMethods =\n connectedWallets[chain as Chain.Ethereum | Chain.BinanceSmartChain | Chain.Avalanche];\n\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 = getAddress(chain);\n\n if (!(address && from)) throw new SwapKitError(\"core_approve_asset_address_or_from_not_found\");\n\n const spenderAddress = contractAddress;\n\n return walletAction({\n amount: assetValue.getBaseValue(\"bigint\"),\n assetAddress: address,\n from,\n spenderAddress,\n }) as ApproveReturnType<T>;\n }\n\n /**\n * @Public\n * Wallet helpers\n */\n function getWallet(chain: Chain) {\n return connectedWallets[chain];\n }\n function getAddress(chain: Chain) {\n return getWallet(chain)?.address || \"\";\n }\n function getBalance(chain: Chain) {\n return getWallet(chain)?.balance || [];\n }\n function getExplorerTxUrl(chain: Chain, txHash: string) {\n return getTxUrl({ chain, txHash });\n }\n function getExplorerAddressUrl(chain: Chain, address: string) {\n return getAddressUrl({ chain, address });\n }\n /**\n * TODO: Figure out validation without connecting to wallet\n */\n function validateAddress({ address, chain }: { address: string; chain: Chain }) {\n return getWallet(chain)?.validateAddress?.(address);\n }\n\n async function getWalletWithBalance(chain: Chain, potentialScamFilter?: boolean) {\n const defaultBalance = [AssetValue.fromChainOrSignature(chain)];\n const wallet = getWallet(chain);\n\n try {\n if (!wallet) throw new SwapKitError(\"core_wallet_connection_not_found\");\n const balance = await wallet?.getBalance(wallet.address, potentialScamFilter);\n\n wallet.balance = balance?.length ? balance : defaultBalance;\n\n return wallet;\n } catch (error) {\n throw new SwapKitError(\"core_wallet_connection_not_found\", error);\n }\n }\n\n /**\n * @Public\n * Wallet interaction methods\n */\n function approveAssetValue(assetValue: AssetValue, contractAddress: string) {\n return approve({ assetValue, contractAddress, type: ApproveMode.Approve });\n }\n\n function isAssetValueApproved(assetValue: AssetValue, contractAddress: string) {\n return approve({ assetValue, contractAddress, type: ApproveMode.CheckOnly });\n }\n\n function swap({ provider: providerConfig, ...rest }: SwapParams) {\n const provider = getProvider(providerConfig?.name);\n\n return provider.swap({ provider: providerConfig, ...rest });\n }\n\n return {\n ...availableProviders,\n ...connectWalletMethods,\n approveAssetValue,\n getAddress,\n getBalance,\n getExplorerAddressUrl,\n getExplorerTxUrl,\n getWallet,\n getWalletWithBalance,\n isAssetValueApproved,\n swap,\n validateAddress,\n };\n}\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 kyberRouter = [\n {\n inputs: [{ internalType: \"address\", name: \"_WETH\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"clientData\",\n type: \"bytes\",\n },\n ],\n name: \"ClientData\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"string\",\n name: \"reason\",\n type: \"string\",\n },\n ],\n name: \"Error\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"pair\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amountOut\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"output\",\n type: \"address\",\n },\n ],\n name: \"Exchange\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"totalFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"recipients\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"amounts\",\n type: \"uint256[]\",\n },\n { indexed: false, internalType: \"bool\", name: \"isBps\", type: \"bool\" },\n ],\n name: \"Fee\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"dstReceiver\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"spentAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n name: \"Swapped\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"isWhitelist\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n ],\n name: \"rescueFunds\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"callTarget\", type: \"address\" },\n { internalType: \"address\", name: \"approveTarget\", type: \"address\" },\n { internalType: \"bytes\", name: \"targetData\", type: \"bytes\" },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"srcReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"srcAmounts\",\n type: \"uint256[]\",\n },\n {\n internalType: \"address[]\",\n name: \"feeReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"feeAmounts\",\n type: \"uint256[]\",\n },\n { internalType: \"address\", name: \"dstReceiver\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"minReturnAmount\",\n type: \"uint256\",\n },\n { internalType: \"uint256\", name: \"flags\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"permit\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapDescriptionV2\",\n name: \"desc\",\n type: \"tuple\",\n },\n { internalType: \"bytes\", name: \"clientData\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapExecutionParams\",\n name: \"execution\",\n type: \"tuple\",\n },\n ],\n name: \"swap\",\n outputs: [\n { internalType: \"uint256\", name: \"returnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"gasUsed\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"callTarget\", type: \"address\" },\n { internalType: \"address\", name: \"approveTarget\", type: \"address\" },\n { internalType: \"bytes\", name: \"targetData\", type: \"bytes\" },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"srcReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"srcAmounts\",\n type: \"uint256[]\",\n },\n {\n internalType: \"address[]\",\n name: \"feeReceivers\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"feeAmounts\",\n type: \"uint256[]\",\n },\n { internalType: \"address\", name: \"dstReceiver\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"minReturnAmount\",\n type: \"uint256\",\n },\n { internalType: \"uint256\", name: \"flags\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"permit\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapDescriptionV2\",\n name: \"desc\",\n type: \"tuple\",\n },\n { internalType: \"bytes\", name: \"clientData\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapExecutionParams\",\n name: \"execution\",\n type: \"tuple\",\n },\n ],\n name: \"swapGeneric\",\n outputs: [\n { internalType: \"uint256\", name: \"returnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"gasUsed\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IAggregationExecutor\",\n name: \"caller\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"srcReceivers\",\n type: \"address[]\",\n },\n { internalType: \"uint256[]\", name: \"srcAmounts\", type: \"uint256[]\" },\n {\n internalType: \"address[]\",\n name: \"feeReceivers\",\n type: \"address[]\",\n },\n { internalType: \"uint256[]\", name: \"feeAmounts\", type: \"uint256[]\" },\n { internalType: \"address\", name: \"dstReceiver\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"minReturnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"flags\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"permit\", type: \"bytes\" },\n ],\n internalType: \"struct MetaAggregationRouterV2.SwapDescriptionV2\",\n name: \"desc\",\n type: \"tuple\",\n },\n { internalType: \"bytes\", name: \"executorData\", type: \"bytes\" },\n { internalType: \"bytes\", name: \"clientData\", type: \"bytes\" },\n ],\n name: \"swapSimpleMode\",\n outputs: [\n { internalType: \"uint256\", name: \"returnAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"gasUsed\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"newOwner\", type: \"address\" }],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address[]\", name: \"addr\", type: \"address[]\" },\n { internalType: \"bool[]\", name: \"value\", type: \"bool[]\" },\n ],\n name: \"updateWhitelist\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","export const oneInchRouter = [\n {\n inputs: [\n {\n internalType: \"contract IWETH\",\n name: \"weth\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"AccessDenied\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"AdvanceNonceFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"AlreadyFilled\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ArbitraryStaticCallFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"BadPool\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"BadSignature\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ETHTransferFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ETHTransferFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"EmptyPools\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"EthDepositRejected\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"GetAmountCallFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"IncorrectDataLength\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InsufficientBalance\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidMsgValue\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidMsgValue\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidatedOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"MakingAmountExceeded\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"MakingAmountTooLow\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"OnlyOneAmountShouldBeZero\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"OrderExpired\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"PermitLengthTooLow\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"PredicateIsNotTrue\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"PrivateOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQBadSignature\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQPrivateOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQSwapWithZeroAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RFQZeroTargetIsForbidden\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReentrancyDetected\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"RemainingAmountIsZero\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReservesCallFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ReturnAmountIsNotEnough\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SafePermitBadLength\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SafeTransferFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SafeTransferFromFailed\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n {\n internalType: \"bytes\",\n name: \"res\",\n type: \"bytes\",\n },\n ],\n name: \"SimulationResults\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SwapAmountTooLarge\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"SwapWithZeroAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TakingAmountExceeded\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TakingAmountIncreased\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TakingAmountTooHigh\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TransferFromMakerToTakerFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"TransferFromTakerToMakerFailed\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"UnknownOrder\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"WrongAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"WrongGetter\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroAddress\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroMinReturn\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroReturnAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ZeroTargetIsForbidden\",\n type: \"error\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newNonce\",\n type: \"uint256\",\n },\n ],\n name: \"NonceIncreased\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"remainingRaw\",\n type: \"uint256\",\n },\n ],\n name: \"OrderCanceled\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"remaining\",\n type: \"uint256\",\n },\n ],\n name: \"OrderFilled\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n ],\n name: \"OrderFilledRFQ\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"previousOwner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint8\",\n name: \"amount\",\n type: \"uint8\",\n },\n ],\n name: \"advanceNonce\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"and\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"arbitraryStaticCall\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n ],\n name: \"cancelOrder\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"orderRemaining\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"orderInfo\",\n type: \"uint256\",\n },\n ],\n name: \"cancelOrderRFQ\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"orderInfo\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"additionalMask\",\n type: \"uint256\",\n },\n ],\n name: \"cancelOrderRFQ\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n ],\n name: \"checkPredicate\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IClipperExchangeInterface\",\n name: \"clipperExchange\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"inputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"outputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"goodUntil\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n ],\n name: \"clipperSwap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IClipperExchangeInterface\",\n name: \"clipperExchange\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"inputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"outputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"goodUntil\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n ],\n name: \"clipperSwapTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IClipperExchangeInterface\",\n name: \"clipperExchange\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"inputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"outputAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"goodUntil\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"clipperSwapToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"destroy\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"eq\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"interaction\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"skipPermitAndThresholdAmount\",\n type: \"uint256\",\n },\n ],\n name: \"fillOrder\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n ],\n name: \"fillOrderRFQ\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes32\",\n name: \"r\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32\",\n name: \"vs\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n ],\n name: \"fillOrderRFQCompact\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"filledMakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledTakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n ],\n name: \"fillOrderRFQTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"filledMakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledTakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"info\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct OrderRFQLib.OrderRFQ\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"flagsAndAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"fillOrderRFQToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order_\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"interaction\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"skipPermitAndThresholdAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n ],\n name: \"fillOrderTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"actualMakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"actualTakingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"interaction\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"skipPermitAndThresholdAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"fillOrderToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"gt\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"makerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"takerAsset\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"receiver\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"allowedSender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"takingAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"interactions\",\n type: \"bytes\",\n },\n ],\n internalType: \"struct OrderLib.Order\",\n name: \"order\",\n type: \"tuple\",\n },\n ],\n name: \"hashOrder\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"increaseNonce\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"maker\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"slot\",\n type: \"uint256\",\n },\n ],\n name: \"invalidatorForOrderRFQ\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"lt\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"makerAddress\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"makerNonce\",\n type: \"uint256\",\n },\n ],\n name: \"nonceEquals\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"offsets\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"or\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n name: \"remaining\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"orderHash\",\n type: \"bytes32\",\n },\n ],\n name: \"remainingRaw\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32[]\",\n name: \"orderHashes\",\n type: \"bytes32[]\",\n },\n ],\n name: \"remainingsRaw\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"rescueFunds\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"target\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"simulate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IAggregationExecutor\",\n name: \"executor\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"dstToken\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"srcReceiver\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"dstReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturnAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"flags\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct GenericRouter.SwapDescription\",\n name: \"desc\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"swap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"spentAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"time\",\n type: \"uint256\",\n },\n ],\n name: \"timestampBelow\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"timeNonceAccount\",\n type: \"uint256\",\n },\n ],\n name: \"timestampBelowAndNonceEquals\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"uniswapV3Swap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"int256\",\n name: \"amount0Delta\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"amount1Delta\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"uniswapV3SwapCallback\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"uniswapV3SwapTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"uniswapV3SwapToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"unoswap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n ],\n name: \"unoswapTo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address payable\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n internalType: \"contract IERC20\",\n name: \"srcToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minReturn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"pools\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"permit\",\n type: \"bytes\",\n },\n ],\n name: \"unoswapToWithPermit\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"returnAmount\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n stateMutability: \"payable\",\n type: \"receive\",\n },\n];\n","export const pancakeSwapRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETHSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapETHForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETHSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","export const pangolinRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WAVAX\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WAVAX\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAXSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapAVAXForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAXSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","export const sushiswapRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETHSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapETHForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETHSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","export const traderJoeRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WAVAX\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WAVAX\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAX\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityAVAXSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAVAXMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountAVAX\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapAVAXForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactAVAXForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForAVAXSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactAVAX\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","export const uniswapv2Router = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountADesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountTokenDesired\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"addLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountIn\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveOut\", type: \"uint256\" },\n ],\n name: \"getAmountOut\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsIn\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n ],\n name: \"getAmountsOut\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"reserveB\", type: \"uint256\" },\n ],\n name: \"quote\",\n outputs: [{ internalType: \"uint256\", name: \"amountB\", type: \"uint256\" }],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidity\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETH\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"removeLiquidityETHSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountToken\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountTokenMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountETHMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens\",\n outputs: [{ internalType: \"uint256\", name: \"amountETH\", type: \"uint256\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"tokenA\", type: \"address\" },\n { internalType: \"address\", name: \"tokenB\", type: \"address\" },\n { internalType: \"uint256\", name: \"liquidity\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountAMin\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountBMin\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"bool\", name: \"approveMax\", type: \"bool\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"removeLiquidityWithPermit\",\n outputs: [\n { internalType: \"uint256\", name: \"amountA\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountB\", type: \"uint256\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapETHForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactETHForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForETHSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactETH\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMax\", type: \"uint256\" },\n { internalType: \"address[]\", name: \"path\", type: \"address[]\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n ],\n name: \"swapTokensForExactTokens\",\n outputs: [{ internalType: \"uint256[]\", name: \"amounts\", type: \"uint256[]\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","export const uniswapv3Router = [\n {\n inputs: [\n { internalType: \"address\", name: \"_factory\", type: \"address\" },\n { internalType: \"address\", name: \"_WETH9\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"WETH9\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"bytes\", name: \"path\", type: \"bytes\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"amountOutMinimum\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISwapRouter.ExactInputParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactInput\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenIn\", type: \"address\" },\n { internalType: \"address\", name: \"tokenOut\", type: \"address\" },\n { internalType: \"uint24\", name: \"fee\", type: \"uint24\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" },\n {\n internalType: \"uint256\",\n name: \"amountOutMinimum\",\n type: \"uint256\",\n },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n },\n ],\n internalType: \"struct ISwapRouter.ExactInputSingleParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactInputSingle\",\n outputs: [{ internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"bytes\", name: \"path\", type: \"bytes\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMaximum\", type: \"uint256\" },\n ],\n internalType: \"struct ISwapRouter.ExactOutputParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactOutput\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"tokenIn\", type: \"address\" },\n { internalType: \"address\", name: \"tokenOut\", type: \"address\" },\n { internalType: \"uint24\", name: \"fee\", type: \"uint24\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountOut\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"amountInMaximum\", type: \"uint256\" },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n },\n ],\n internalType: \"struct ISwapRouter.ExactOutputSingleParams\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"exactOutputSingle\",\n outputs: [{ internalType: \"uint256\", name: \"amountIn\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"factory\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"bytes[]\", name: \"data\", type: \"bytes[]\" }],\n name: \"multicall\",\n outputs: [{ internalType: \"bytes[]\", name: \"results\", type: \"bytes[]\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"refundETH\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermit\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"nonce\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"expiry\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermitAllowed\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"nonce\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"expiry\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermitAllowedIfNecessary\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"deadline\", type: \"uint256\" },\n { internalType: \"uint8\", name: \"v\", type: \"uint8\" },\n { internalType: \"bytes32\", name: \"r\", type: \"bytes32\" },\n { internalType: \"bytes32\", name: \"s\", type: \"bytes32\" },\n ],\n name: \"selfPermitIfNecessary\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n ],\n name: \"sweepToken\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"token\", type: \"address\" },\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"feeBips\", type: \"uint256\" },\n { internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"sweepTokenWithFee\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"int256\", name: \"amount0Delta\", type: \"int256\" },\n { internalType: \"int256\", name: \"amount1Delta\", type: \"int256\" },\n { internalType: \"bytes\", name: \"_data\", type: \"bytes\" },\n ],\n name: \"uniswapV3SwapCallback\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n ],\n name: \"unwrapWETH9\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"uint256\", name: \"amountMinimum\", type: \"uint256\" },\n { internalType: \"address\", name: \"recipient\", type: \"address\" },\n { internalType: \"uint256\", name: \"feeBips\", type: \"uint256\" },\n { internalType: \"address\", name: \"feeRecipient\", type: \"address\" },\n ],\n name: \"unwrapWETH9WithFee\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","export const woofiRouter = [\n {\n inputs: [\n { internalType: \"address\", name: \"_weth\", type: \"address\" },\n { internalType: \"address\", name: \"_pool\", type: \"address\" },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: \"address\", name: \"previousOwner\", type: \"address\" },\n { indexed: true, internalType: \"address\", name: \"newOwner\", type: \"address\" },\n ],\n name: \"OwnershipTransferred\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: \"address\", name: \"newPool\", type: \"address\" }],\n name: \"WooPoolChanged\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum IWooRouterV2.SwapType\",\n name: \"swapType\",\n type: \"uint8\",\n },\n { indexed: true, internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { indexed: true, internalType: \"address\", name: \"toToken\", type: \"address\" },\n { indexed: false, internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n { indexed: false, internalType: \"uint256\", name: \"toAmount\", type: \"uint256\" },\n { indexed: false, internalType: \"address\", name: \"from\", type: \"address\" },\n { indexed: true, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: false, internalType: \"address\", name: \"rebateTo\", type: \"address\" },\n ],\n name: \"WooRouterSwap\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"WETH\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"approveTarget\", type: \"address\" },\n { internalType: \"address\", name: \"swapTarget\", type: \"address\" },\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"minToAmount\", type: \"uint256\" },\n { internalType: \"address payable\", name: \"to\", type: \"address\" },\n { internalType: \"bytes\", name: \"data\", type: \"bytes\" },\n ],\n name: \"externalSwap\",\n outputs: [{ internalType: \"uint256\", name: \"realToAmount\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"stuckToken\", type: \"address\" }],\n name: \"inCaseTokenGotStuck\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n name: \"isWhitelisted\",\n outputs: [{ internalType: \"bool\", name: \"\", type: \"bool\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"owner\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n ],\n name: \"querySwap\",\n outputs: [{ internalType: \"uint256\", name: \"toAmount\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"quoteToken\",\n outputs: [{ internalType: \"address\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"renounceOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"newPool\", type: \"address\" }],\n name: \"setPool\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"whitelisted\", type: \"bool\" },\n ],\n name: \"setWhitelisted\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n { internalType: \"uint256\", name: \"minToAmount\", type: \"uint256\" },\n { internalType: \"address payable\", name: \"to\", type: \"address\" },\n { internalType: \"address\", name: \"rebateTo\", type: \"address\" },\n ],\n name: \"swap\",\n outputs: [{ internalType: \"uint256\", name: \"realToAmount\", type: \"uint256\" }],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"newOwner\", type: \"address\" }],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"address\", name: \"fromToken\", type: \"address\" },\n { internalType: \"address\", name: \"toToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"fromAmount\", type: \"uint256\" },\n ],\n name: \"tryQuerySwap\",\n outputs: [{ internalType: \"uint256\", name: \"toAmount\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"wooPool\",\n outputs: [{ internalType: \"contract IWooPPV2\", name: \"\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n { stateMutability: \"payable\", type: \"receive\" },\n];\n","import { kyberRouter } from \"./kyber.ts\";\nimport { oneInchRouter } from \"./oneinch.ts\";\nimport { pancakeSwapRouter } from \"./pancakeswap.ts\";\nimport { pangolinRouter } from \"./pangolin.ts\";\nimport { sushiswapRouter } from \"./sushiswap.ts\";\nimport { traderJoeRouter } from \"./traderJoe.ts\";\nimport { uniswapv2Router } from \"./uniswapv2.ts\";\nimport { uniswapv3Router } from \"./uniswapv3.ts\";\nimport { woofiRouter } from \"./woofi.ts\";\n\ntype AbiTypes =\n | typeof kyberRouter\n | typeof oneInchRouter\n | typeof pancakeSwapRouter\n | typeof pangolinRouter\n | typeof sushiswapRouter\n | typeof traderJoeRouter\n | typeof uniswapv2Router\n | typeof uniswapv3Router\n | typeof woofiRouter;\n\nexport enum DEX_CONTRACT_ADDRESS {\n // AVAX\n TRADERJOE = \"0x60aE616a2155Ee3d9A68541Ba4544862310933d4\",\n PANGOLIN = \"0xE54Ca86531e17Ef3616d22Ca28b0D458b6C89106\",\n WOOFI = \"0xC22FBb3133dF781E6C25ea6acebe2D2Bb8CeA2f9\",\n ONEINCH_AVAX = \"0x1111111254fb6c44bAC0beD2854e76F90643097d\",\n KYBER_AVAX = \"0x6131B5fae19EA4f9D964eAc0408E4408b66337b5\",\n\n // BSC\n PANCAKESWAP_BSC = \"0x10ED43C718714eb63d5aA57B78B54704E256024E\",\n\n // ETH\n ONEINCH_ETH = \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n PANCAKESWAP_ETH = \"0xEfF92A263d31888d860bD50809A8D171709b7b1c\",\n KYBER_ETH = \"0x6131B5fae19EA4f9D964eAc0408E4408b66337b5\",\n SUSHISWAP = \"0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f\",\n UNISWAP_V2 = \"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D\",\n UNISWAP_V3 = \"0xE592427A0AEce92De3Edee1F18E0157C05861564\",\n}\n\nexport const lowercasedRouterAbiMapping = {\n // AVAX\n [DEX_CONTRACT_ADDRESS.PANGOLIN.toLowerCase()]: pangolinRouter,\n [DEX_CONTRACT_ADDRESS.WOOFI.toLowerCase()]: woofiRouter,\n [DEX_CONTRACT_ADDRESS.TRADERJOE.toLowerCase()]: traderJoeRouter,\n [DEX_CONTRACT_ADDRESS.ONEINCH_AVAX.toLowerCase()]: oneInchRouter,\n [DEX_CONTRACT_ADDRESS.KYBER_AVAX.toLowerCase()]: kyberRouter,\n // BSC\n [DEX_CONTRACT_ADDRESS.PANCAKESWAP_BSC.toLowerCase()]: pancakeSwapRouter,\n // ETH\n [DEX_CONTRACT_ADDRESS.KYBER_ETH.toLowerCase()]: kyberRouter,\n [DEX_CONTRACT_ADDRESS.SUSHISWAP.toLowerCase()]: sushiswapRouter,\n [DEX_CONTRACT_ADDRESS.PANCAKESWAP_ETH.toLowerCase()]: pancakeSwapRouter,\n [DEX_CONTRACT_ADDRESS.UNISWAP_V2.toLowerCase()]: uniswapv2Router,\n [DEX_CONTRACT_ADDRESS.UNISWAP_V3.toLowerCase()]: uniswapv3Router,\n [DEX_CONTRACT_ADDRESS.ONEINCH_ETH.toLowerCase()]: oneInchRouter,\n} as Record<string, AbiTypes>;\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 { lowercasedRouterAbiMapping } from \"./routers/index.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 ...lowercasedRouterAbiMapping,\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/helpers\";\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 { 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 getMayaInboundData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.MayanodeStagenet : ApiUrl.MayanodeMainnet;\n\n return RequestClient.get<InboundAddressData>(`${baseUrl}/mayachain/inbound_addresses`);\n};\n\nexport const getMayaMimirData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.MayanodeStagenet : ApiUrl.MayanodeMainnet;\n\n return RequestClient.get<Record<string, number>>(`${baseUrl}/mayachain/mimir`);\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 getThorInboundData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<InboundAddressData>(`${baseUrl}/thorchain/inbound_addresses`);\n};\n\nexport const getThorMimirData = (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 {\n ErrorKeys,\n MayanameRegisterParam,\n QuoteRoute,\n ThornameRegisterParam,\n} from \"@swapkit/helpers\";\nimport {\n AssetValue,\n SwapKitError,\n SwapKitNumber,\n gasFeeMultiplier,\n getMemoFor,\n getMinAmountByChain,\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 \"../helpers/explorerUrls.ts\";\nimport { getMayaMimirData } from \"../helpers/mayanode.js\";\nimport { getThorInboundData, getThorMimirData } from \"../helpers/thornode.ts\";\nimport type {\n CoreTxParams,\n EVMWallet,\n OldWallet,\n SwapWithRouteParams,\n ThorchainWallet,\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 = ({\n chain,\n address,\n}: {\n chain: Chain;\n address?: string;\n}) => {\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\n/**\n * @deprecated Use SwapKit instead (import { SwapKit } from \"@swapkit/core\")\n */\nexport class SwapKitCore<T = \"\"> {\n public connectedChains: OldWallet = 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 ({\n streamSwap,\n recipient,\n route,\n feeOptionKey = FeeOption.Average,\n // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>\n }: SwapWithRouteParams) => {\n const {\n meta: { quoteMode },\n // evmTransactionDetails: contractCallParams,\n } = route as QuoteRoute;\n const evmChain = quoteMode.startsWith(\"ERC20-\")\n ? Chain.Ethereum\n : quoteMode.startsWith(\"ARC20-\")\n ? Chain.Avalanche\n : quoteMode.startsWith(\"BEP20-\")\n ? Chain.BinanceSmartChain\n : undefined;\n\n if (!(route as QuoteRoute).complete) throw new SwapKitError(\"core_swap_route_not_complete\");\n\n // TODO enable when BE is ready\n // if (contractCallParams && evmChain) {\n // const walletMethods = this.connectedWallets[evmChain];\n\n // if (!walletMethods?.call) {\n // throw new SwapKitError('core_wallet_connection_not_found');\n // }\n\n // const { contractAddress, contractMethod, contractParams, contractParamsStreaming } =\n // contractCallParams;\n\n // if (!(streamSwap ? contractParamsStreaming : contractParams)) {\n // throw new SwapKitError('core_swap_route_transaction_not_found');\n // }\n\n // return await walletMethods.call<string>({\n // contractAddress,\n // abi: lowercasedContractAbiMapping[contractAddress.toLowerCase()],\n // funcName: contractMethod,\n // funcParams: streamSwap ? contractParamsStreaming : contractParams,\n // });\n // }\n\n if (AGG_SWAP.includes(quoteMode) && evmChain) {\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\n ? (route as QuoteRoute)?.streamingSwap?.transaction\n : (route as QuoteRoute)?.transaction;\n if (!transaction) throw new SwapKitError(\"core_swap_route_transaction_not_found\");\n\n const { data, from, to, value } = (route as QuoteRoute).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 as QuoteRoute).calldata.fromAsset)\n throw new SwapKitError(\"core_swap_asset_not_recognized\");\n // @ts-expect-error\n const asset = await AssetValue.fromString((route as QuoteRoute).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 as QuoteRoute;\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) && evmChain) {\n const { calldata, contract: contractAddress } = route as QuoteRoute;\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\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)\n throw new SwapKitError(\"core_swap_contract_not_supported\", {\n contractAddress,\n });\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 };\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 }: // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO: Refactor\n CoreTxParams & { router?: string }) => {\n const { chain, symbol, ticker } = assetValue;\n const walletInstance = this.connectedWallets[chain];\n const connectedWallet = this.connectedChains[chain];\n const isAddressValidated = await validateAddressType({\n address: connectedWallet?.address,\n chain,\n });\n\n if (!isAddressValidated) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n if (!walletInstance) throw new SwapKitError(\"core_wallet_connection_not_found\");\n\n const params = this.#prepareTxParams({\n assetValue,\n recipient,\n router,\n ...rest,\n });\n\n try {\n switch (chain) {\n case Chain.THORChain:\n case Chain.Maya: {\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 =\n typeof error === \"string\" ? error.toLowerCase() : error?.message.toLowerCase();\n const isInsufficientFunds = errorMessage?.includes(\"insufficient funds\");\n const isGas = errorMessage?.includes(\"gas\");\n const isServer = errorMessage?.includes(\"server\");\n const isUserRejected = errorMessage?.includes(\"user rejected\");\n const errorKey: ErrorKeys = 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 : isUserRejected\n ? \"core_transaction_user_rejected\"\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 // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO: Refactor\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: string | undefined;\n let assetTx: string | undefined;\n\n if (runeTransfer && runeAssetValue) {\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, {\n chain,\n symbol,\n address: assetAddress,\n }),\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, {\n chain,\n symbol,\n address: runeAddress,\n }),\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 = ({\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\" && from !== \"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 = ({\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({\n assetValue,\n memo: getMemoFor(MemoType.THORNAME_REGISTER, param),\n });\n\n registerMayaname = ({\n assetValue,\n ...param\n }: MayanameRegisterParam & { assetValue: AssetValue }) =>\n this.#mayachainTransfer({\n assetValue,\n memo: getMemoFor(MemoType.THORNAME_REGISTER, param),\n });\n\n extend = ({ wallets, config, apis = {}, rpcUrls = {} }: ExtendParams<T>) => {\n try {\n for (const wallet of wallets) {\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 // biome-ignore lint/nursery/useAwait: Extended methods\n connectXDEFI = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_xdefi_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectEVMWallet = async (_chains: Chain[] | Chain, _wallet: EVMWalletOptions): Promise<void> => {\n throw new SwapKitError(\"core_wallet_evmwallet_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectWalletconnect = async (_chains: Chain[], _options?: any): Promise<void> => {\n throw new SwapKitError(\"core_wallet_walletconnect_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectKeepkey = async (_chains: Chain[], _derivationPath: number[][]): Promise<string> => {\n throw new SwapKitError(\"core_wallet_keepkey_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectKeystore = async (_chains: Chain[], _phrase: string): Promise<void> => {\n throw new SwapKitError(\"core_wallet_keystore_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectLedger = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_ledger_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectTrezor = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_trezor_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectKeplr = async (_chain: Chain): Promise<void> => {\n throw new SwapKitError(\"core_wallet_keplr_not_installed\");\n };\n // biome-ignore lint/nursery/useAwait: Extended methods\n connectOkx = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError(\"core_wallet_okx_not_installed\");\n };\n\n disconnectChain = (chain: Chain) => {\n this.connectedChains[chain] = null;\n this.connectedWallets[chain] = null;\n };\n\n #getInboundDataByChain = async (chain: Chain) => {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain:\n return { gas_rate: \"0\", router: \"\", address: \"\", halted: false, chain };\n\n default: {\n const inboundData = await getThorInboundData(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 };\n\n #addConnectedChain = ({\n chain,\n address,\n balance,\n walletType,\n ...rest\n }: AddChainWalletParams<any>) => {\n this.connectedChains[chain as Chain] = {\n address: address || \"\",\n balance: balance || [],\n walletType: walletType || \"unknown\",\n };\n this.connectedWallets[chain as Chain] = { ...rest } as any;\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 ({\n memo,\n assetValue,\n }: {\n assetValue: AssetValue;\n memo: string;\n }) => {\n const mimir = await getThorMimirData(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 #mayachainTransfer = async ({\n memo,\n assetValue,\n }: {\n assetValue: AssetValue;\n memo: string;\n }) => {\n const mimir = await getMayaMimirData(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":["O","h","B","R","y","v","H","S","a","u","o","_","m","w","l","M","T","V","c","L","A","N","i","p","f","s","E","r","n","t","d","P","k","X","I","K","x","C","b","g","ve","$e","Ie","F","ne","de","G","Ve","re","ae","pe","se","me","He","xe","Me","ke","_e","Le","Y","fe","We","Ue","je","qe","Fe","Te","ce","Ge","Xe","Ke","Ye","W","z","ge","Ae","le","Tt","Je","gt","Qe","ze","Ze","et","Ce","Be","tt","nt","rt","st","At","Se","it","ot","Ct","at","ct","Ne","St","lt","ut","bt","wt","ht","yt","Rt","ie","ye","Re","Ee","Pe","oe","Oe","Et","Pt","Ot","vt","$t","It","Nt","ue","dt","$","U","j","be","Z","ee","q","te","he","D","pt","De","J","Q","Bt","mt","we","getExplorerTxUrl","chain","txHash","baseUrl","ChainToExplorerUrl","Chain","getExplorerAddressUrl","address","ApproveMode","SwapKit","stagenet","wallets","providers","config","apis","rpcUrls","connectedWallets","availableProviders","provider","name","methods","connectWalletMethods","acc","wallet","addChain","getProvider","providerName","SwapKitError","connectWallet","approve","assetValue","type","contractAddress","isGasAsset","isSynthetic","isEVMChain","walletMethods","walletAction","from","getAddress","spenderAddress","getWallet","_a","getBalance","getTxUrl","getAddressUrl","validateAddress","_b","getWalletWithBalance","potentialScamFilter","defaultBalance","AssetValue","balance","error","approveAssetValue","isAssetValueApproved","swap","providerConfig","rest","avaxGeneric","avaxWoofi","bscGeneric","ethGeneric","pancakeV2","pangolin","kyberRouter","oneInchRouter","pancakeSwapRouter","pangolinRouter","sushiswapRouter","traderJoeRouter","uniswapv2Router","uniswapv3Router","woofiRouter","lowercasedRouterAbiMapping","sushiswap","traderJoe","uniswapV2","uniswapV2Leg","uniswapV3_100","uniswapV3_500","uniswapV3_3000","uniswapV3_10000","lowercasedGenericAbiMappings","lowercasedContractAbiMapping","getSwapInParams","streamSwap","recipient","toChecksumAddress","amount","amountOutMin","data","deadline","memo","router","memoStreamingSwap","tcMemo","tcRouter","tcVault","vault","token","isGeneric","baseMemo","transactionMemo","baseParams","contractParams","getMayaMimirData","ApiUrl","RequestClient","getThorInboundData","getThorMimirData","getEmptyWalletStructure","validateAddressType","SwapKitCore","__publicField","route","feeOptionKey","FeeOption","quoteMode","evmChain","AGG_SWAP","to","value","params","ChainToChainId","SWAP_OUT","asset","__privateGet","_getInboundDataByChain","expiration","amountIn","SwapKitNumber","swapMemo","SWAP_IN","calldata","abi","tx","walletType","_approve","walletInstance","_prepareTxParams","symbol","ticker","connectedWallet","getChecksumAddressFromAsset","TCAvalancheDepositABI","TCBscDepositABI","TCEthereumVaultAbi","errorMessage","isInsufficientFunds","isGas","isServer","isUserRejected","errorKey","runeAssetValue","runeTx","assetTx","_depositToPool","getMemoFor","MemoType","runeAddr","assetAddr","isPendingSymmAsset","mode","isSym","runeTransfer","assetTransfer","includeRuneAddress","runeAddress","assetAddress","poolAddress","symmetric","percent","targetAsset","getMinAmountByChain","memoString","memoType","minAmount","_thorchainTransfer","param","_mayachainTransfer","_addConnectedChain","estimateMaxSendableAmount","_chains","_wallet","_options","_derivationPath","_phrase","_chain","__privateAdd","chainAddressData","item","gas_rate","feeRate","gasFeeMultiplier","mimir","restTxParams"],"mappings":"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,SAAU,CACvF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CAAE,gBAAiB,UAAW,KAAM,SAAU,CAChD,ECvHaC,GAAc,CACzB,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,UAAW,EACpE,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,QACd,KAAM,aACN,KAAM,OACR,CACF,EACA,KAAM,aACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,SACd,KAAM,SACN,KAAM,QACR,CACF,EACA,KAAM,QACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,aACN,KAAM,WACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,UACN,KAAM,WACR,EACA,CAAE,QAAS,GAAO,aAAc,OAAQ,KAAM,QAAS,KAAM,MAAO,CACtE,EACA,KAAM,MACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,uBAC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ACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,cACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,cACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,mBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,wBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,uBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,MACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,qCACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,qCACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,qCACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,0BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,+BACN,KAAM,SACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,IACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,CACF,EACA,KAAM,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,aAAc,8BACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,2BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,SACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,+BACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,+BACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,wBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACR,CACF,EACA,aAAc,wBACd,KAAM,QACN,KAAM,OACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,yBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,KACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,YACd,KAAM,cACN,KAAM,WACR,CACF,EACA,KAAM,gBACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,gCACd,KAAM,WACN,KAAM,SACR,EACA,CACE,WAAY,CACV,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,CACF,EACA,aAAc,uCACd,KAAM,OACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,OACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,CACF,EACA,KAAM,+BACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,eACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,eACN,KAAM,QACR,EACA,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACR,CACF,EACA,KAAM,wBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,kBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,SACN,KAAM,OACR,CACF,EACA,KAAM,4BACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,UACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR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"}
|