@swapkit/core 1.0.0-rc.99 → 1.0.1

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.
Files changed (45) hide show
  1. package/dist/index.js +3 -0
  2. package/dist/index.js.map +12 -0
  3. package/package.json +23 -44
  4. package/src/__tests__/helpers.test.ts +65 -0
  5. package/src/client.ts +415 -0
  6. package/src/helpers/explorerUrls.ts +44 -0
  7. package/src/index.ts +6 -4
  8. package/src/types.ts +44 -0
  9. package/LICENSE +0 -201
  10. package/dist/index.cjs +0 -3
  11. package/dist/index.cjs.map +0 -1
  12. package/dist/index.d.ts +0 -230
  13. package/dist/index.es.js +0 -9119
  14. package/dist/index.es.js.map +0 -1
  15. package/src/aggregator/contracts/avaxGeneric.ts +0 -92
  16. package/src/aggregator/contracts/avaxWoofi.ts +0 -145
  17. package/src/aggregator/contracts/bscGeneric.ts +0 -106
  18. package/src/aggregator/contracts/ethGeneric.ts +0 -92
  19. package/src/aggregator/contracts/index.ts +0 -76
  20. package/src/aggregator/contracts/pancakeV2.ts +0 -145
  21. package/src/aggregator/contracts/pangolin.ts +0 -120
  22. package/src/aggregator/contracts/routers/index.ts +0 -58
  23. package/src/aggregator/contracts/routers/kyber.ts +0 -402
  24. package/src/aggregator/contracts/routers/oneinch.ts +0 -2188
  25. package/src/aggregator/contracts/routers/pancakeswap.ts +0 -340
  26. package/src/aggregator/contracts/routers/pangolin.ts +0 -340
  27. package/src/aggregator/contracts/routers/sushiswap.ts +0 -340
  28. package/src/aggregator/contracts/routers/traderJoe.ts +0 -340
  29. package/src/aggregator/contracts/routers/uniswapv2.ts +0 -340
  30. package/src/aggregator/contracts/routers/uniswapv3.ts +0 -254
  31. package/src/aggregator/contracts/routers/woofi.ts +0 -171
  32. package/src/aggregator/contracts/sushiswap.ts +0 -120
  33. package/src/aggregator/contracts/traderJoe.ts +0 -120
  34. package/src/aggregator/contracts/uniswapV2.ts +0 -120
  35. package/src/aggregator/contracts/uniswapV2Leg.ts +0 -128
  36. package/src/aggregator/contracts/uniswapV3_100.ts +0 -128
  37. package/src/aggregator/contracts/uniswapV3_10000.ts +0 -128
  38. package/src/aggregator/contracts/uniswapV3_3000.ts +0 -128
  39. package/src/aggregator/contracts/uniswapV3_500.ts +0 -128
  40. package/src/aggregator/getSwapParams.ts +0 -70
  41. package/src/client/__tests__/helpers.test.ts +0 -77
  42. package/src/client/explorerUrls.ts +0 -61
  43. package/src/client/index.ts +0 -769
  44. package/src/client/thornode.ts +0 -31
  45. package/src/client/types.ts +0 -115
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../types/dist/index.es.js","../../helpers/dist/index.es.js","../src/aggregator/contracts/avaxGeneric.ts","../src/aggregator/contracts/avaxWoofi.ts","../src/aggregator/contracts/bscGeneric.ts","../src/aggregator/contracts/ethGeneric.ts","../src/aggregator/contracts/pancakeV2.ts","../src/aggregator/contracts/pangolin.ts","../src/aggregator/contracts/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/client/explorerUrls.ts","../src/client/thornode.ts","../src/client/index.ts"],"sourcesContent":["var h = Object.defineProperty;\nvar O = (e, a, n) => a in e ? h(e, a, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[a] = n;\nvar s = (e, a, n) => (O(e, typeof a != \"symbol\" ? a + \"\" : a, n), n);\nconst X = [\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], k = [\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], K = [\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], W = [\n { inputs: [], stateMutability: \"nonpayable\", type: \"constructor\" },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"Deposit\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferAllowance\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"asset\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOut\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"vault\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"target\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amount\", type: \"uint256\" },\n { indexed: !1, internalType: \"address\", name: \"finalAsset\", type: \"address\" },\n { indexed: !1, internalType: \"address\", name: \"to\", type: \"address\" },\n { indexed: !1, internalType: \"uint256\", name: \"amountOutMin\", type: \"uint256\" },\n { indexed: !1, internalType: \"string\", name: \"memo\", type: \"string\" }\n ],\n name: \"TransferOutAndCall\",\n type: \"event\"\n },\n {\n anonymous: !1,\n inputs: [\n { indexed: !0, internalType: \"address\", name: \"oldVault\", type: \"address\" },\n { indexed: !0, internalType: \"address\", name: \"newVault\", type: \"address\" },\n {\n components: [\n { internalType: \"address\", name: \"asset\", type: \"address\" },\n { internalType: \"uint256\", name: \"amount\", type: \"uint256\" }\n ],\n indexed: !1,\n internalType: \"struct 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 C = /* @__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))(C || {});\nconst Y = [\n \"ERC20-ERC20\",\n \"ARC20-ARC20\",\n \"BEP20-BEP20\"\n /* BSC_TO_BSC */\n], j = [\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], J = [\n \"TC-TC\",\n \"TC-ERC20\",\n \"TC-ARC20\",\n \"TC-BEP20\"\n /* TC_SUPPORTED_TO_BSC */\n];\nvar m = /* @__PURE__ */ ((e) => (e.VALIDATION_ERROR = \"VALIDATION_ERROR\", e.REQUEST_PARAMETER_ERROR = \"REQUEST_PARAMETER_ERROR\", e.RESPONSE_PARSING_ERROR = \"RESPONSE_PARSING_ERROR\", e.UNSUPPORTED = \"UNSUPPORTED\", e.NOT_IMPLEMENTED = \"NOT_IMPLEMENTED\", e.INCOMPATIBLE_ASSETS_OPERATIONS = \"INCOMPATIBLE_ASSETS_OPERATIONS\", e.SERVICE_UNAVAILABLE = \"SERVICE_UNAVAILABLE\", e.DOWN_FOR_MAINTENANCE = \"DOWN_FOR_MAINTENANCE\", e.MISSING_INBOUND_INFO = \"MISSING_INBOUND_INFO\", e.QUOTE_FETCHING_ERROR = \"QUOTE_FETCHING_ERROR\", e.AIRDROP_ERROR = \"AIRDROP_ERROR\", e.UNHANDLED_ERROR = \"UNHANDLED_ERROR\", e))(m || {}), P = /* @__PURE__ */ ((e) => (e.HEALTH_CONTROLLER = \"1000\", e.LIQUIDITY_CONTROLLER = \"1001\", e.PROVIDER_CONTROLLER = \"1002\", e.QUOTE_CONTROLLER = \"1003\", e.SWAP_CONTROLLER = \"1004\", e.UTIL_CONTROLLER = \"1005\", e.AIRDROP_CONTROLLER = \"1006\", e.PROVIDER = \"2000\", e.ASSET = \"2001\", e.TOKEN_LIST = \"2002\", e.QUOTE = \"2100\", e.QUOTE_TXN_DETAILS = \"2101\", e.THORCHAIN_PROVIDER = \"3000\", e.UNISWAPV2_ETH_PROVIDER = \"3001\", e.UNISWAPV3_ETH_PROVIDER = \"3002\", e.SUSHISWAP_ETH_PROVIDER = \"3003\", e.PANCAKESWAP_BSC_PROVIDER = \"3004\", e.PANCAKESWAP_ETH_PROVIDER = \"3005\", e.ONEINCH_ETH_PROVIDER = \"3006\", e.ONEINCH_BSC_PROVIDER = \"3007\", e.ONEINCH_AVAX_PROVIDER = \"3008\", e.ZEROX_ETH_PROVIDER = \"3009\", e.WOOFI_AVAX_PROVIDER = \"3010\", e.PANGOLIN_AVAX_PROVIDER = \"3011\", e.TRADERJOE_AVAX_PROVIDER = \"3012\", e.KYBER_ETH_PROVIDER = \"3013\", e.KYBER_AVAX_PROVIDER = \"3014\", e.WOOFI_BSC_PROVIDER = \"3015\", e.STARGATE_PROVIDER = \"3016\", e.PROVIDER_UTIL = \"4000\", e.TXN_DETAILS = \"5000\", e.AIRDROP_UTIL = \"6000\", e))(P || {}), t = /* @__PURE__ */ ((e) => (e.INVALID_INPUT_PARAMETERS = \"1000\", e.UNKNOWN_PROVIDERS = \"1001\", e.CANNOT_FIND_INBOUND_ADDRESS = \"1002\", e.NO_INBOUND_ADDRESSES = \"1003\", e.CHAIN_HALTED_OR_UNSUPPORTED = \"1004\", e.MISSING_INPUT_PARAMETER = \"1005\", e.INVALID_TYPE_GENERIC = \"1100\", e.INVALID_NUMBER_STRING = \"1101\", e.INVALID_NUMBER = \"1102\", e.INVALID_BOOLEAN = \"1103\", e.INVALID_OBJECT = \"1104\", e.INVALID_ARRAY = \"1105\", e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = \"2000\", e.SELL_BUY_ASSETS_ARE_THE_SAME = \"2001\", e.MISSING_SOURCE_ADDRESS_FOR_SYNTH = \"2002\", e.AFF_ADDRESS_AND_BPS_OR_NEITHER = \"2003\", e.AFF_ADDRESS_TOO_LONG = \"2004\", e.AFF_BPS_INTEGER_MAX_500 = \"2005\", e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = \"2006\", e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = \"2007\", e.PREFERRED_PROVIDER_NOT_SUPPORTED = \"2008\", e.DESTINATION_ADDRESS_SMART_CONTRACT = \"2009\", e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = \"2010\", e.SOURCE_ADDRESS_SMART_CONTRACT = \"2011\", e.SWAP_AMOUNT_TOO_LOW = \"2012\", e.INVALID_PROVIDER = \"2100\", e.MISSING_CROSS_CHAIN_PROVIDER = \"2101\", e.MISSING_AVAX_PROVIDER = \"2102\", e.MISSING_BSC_PROVIDER = \"2103\", e.MISSING_ETH_PROVIDER = \"2104\", e.INVALID_PROVIDER_FOR_SWAP_OUT = \"2105\", e.MISSING_ARB_PROVIDER = \"2106\", e.INVALID_CHAIN = \"2200\", e.INVALID_ASSET = \"2201\", e.INVALID_ASSET_IDENTIFIER = \"2202\", e.UNSUPPORTED_CHAIN = \"2204\", e.UNSUPPORTED_ASSET = \"2203\", e.UNSUPPORTED_ASSET_FOR_SWAPOUT = \"2205\", e.INVALID_SOURCE_ADDRESS = \"2300\", e.INVALID_DESTINATION_ADDRESS = \"2301\", e.THORNODE_QUOTE_GENERIC_ERROR = \"3000\", e.NOT_ENOUGH_SYNTH_BALANCE = \"3001\", e.SYNTH_MINTING_CAP_REACHED = \"3002\", e.INVALID_QUOTE_MODE = \"4000\", e.NO_QUOTES = \"4001\", e.SERVICE_UNAVAILABLE_GENERIC = \"5000\", e.MISSING_GAS_DATA_GENERIC = \"5100\", e.MISSING_TOKEN_INFO_GENERIC = \"5200\", e.CANT_FIND_TOKEN_LIST = \"5201\", e.NO_PRICE = \"5202\", e.PRICE_IS_STALE = \"5203\", e.ADDRESS_NOT_WHITELISTED = \"6000\", e.ADDRESS_ALREADY_CLAIMED = \"6001\", e.TEMPORARY_ERROR = \"9999\", e))(t || {});\nconst V = {\n [t.INVALID_INPUT_PARAMETERS]: \"Invalid input parameters: {0}.\",\n [t.UNKNOWN_PROVIDERS]: \"Unknown providers: {0}.\",\n [t.CANNOT_FIND_INBOUND_ADDRESS]: \"Cannot find inbound address.\",\n [t.NO_INBOUND_ADDRESSES]: \"No inbound addresses.\",\n [t.CHAIN_HALTED_OR_UNSUPPORTED]: \"Chain {0} halted or unsupported.\",\n [t.MISSING_INPUT_PARAMETER]: \"Missing input parameter: {0}.\",\n [t.INVALID_TYPE_GENERIC]: \"Invalid type\",\n [t.INVALID_NUMBER_STRING]: \"Invalid number string.\",\n [t.INVALID_NUMBER]: \"Invalid number.\",\n [t.INVALID_BOOLEAN]: \"Invalid boolean.\",\n [t.INVALID_OBJECT]: \"Invalid object.\",\n [t.INVALID_ARRAY]: \"Invalid array.\",\n [t.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: \"Sell amount must be a positive integer.\",\n [t.SELL_BUY_ASSETS_ARE_THE_SAME]: \"Sell and buy assets are the same.\",\n [t.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: \"Source address is required for synth quote.\",\n [t.AFF_ADDRESS_AND_BPS_OR_NEITHER]: \"Must provide affiliateAddress and affiliateBasisPoints params, or neither.\",\n [t.AFF_ADDRESS_TOO_LONG]: \"affiliateAddress too long: 4 characters max.\",\n [t.AFF_BPS_INTEGER_MAX_500]: \"affiliateBasisPoints must be an integer between 0 and 100.\",\n [t.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: \"Source address {0} invalid for sell chain.\",\n [t.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]: \"Destination address {0} invalid for buy chain.\",\n [t.PREFERRED_PROVIDER_NOT_SUPPORTED]: \"Preferred provider not supported.\",\n [t.SOURCE_ADDRESS_SMART_CONTRACT]: \"Source address is a smart contract.\",\n [t.SWAP_AMOUNT_TOO_LOW]: \"Swap amount too low for this pair.\",\n [t.DESTINATION_ADDRESS_SMART_CONTRACT]: \"Destination address is a smart contract.\",\n [t.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: \"Buy amount must be a positive integer.\",\n [t.INVALID_PROVIDER]: \"Invalid provider {0}.\",\n [t.MISSING_CROSS_CHAIN_PROVIDER]: \"Missing cross-chain provider.\",\n [t.MISSING_AVAX_PROVIDER]: \"Missing AVAX provider.\",\n [t.MISSING_BSC_PROVIDER]: \"Missing BSC provider.\",\n [t.MISSING_ETH_PROVIDER]: \"Missing ETH provider.\",\n [t.MISSING_ARB_PROVIDER]: \"Missing ARB provider.\",\n [t.INVALID_PROVIDER_FOR_SWAP_OUT]: \"Invalid provider for swap out.\",\n [t.INVALID_CHAIN]: \"Invalid chain {0}.\",\n [t.INVALID_ASSET]: \"Invalid asset {0}.\",\n [t.UNSUPPORTED_CHAIN]: \"Unsupported chain {0}.\",\n [t.UNSUPPORTED_ASSET]: \"Unsupported asset {0}.\",\n [t.UNSUPPORTED_ASSET_FOR_SWAPOUT]: \"Unsupported asset {0} for swap out.\",\n [t.THORNODE_QUOTE_GENERIC_ERROR]: \"ThorNode quote generic error.\",\n [t.INVALID_SOURCE_ADDRESS]: \"Invalid source address {0}\",\n [t.INVALID_DESTINATION_ADDRESS]: \"Invalid destination address {0}\",\n [t.NOT_ENOUGH_SYNTH_BALANCE]: \"Source address doesn't have enough synth balance for this quote.\",\n [t.SYNTH_MINTING_CAP_REACHED]: \"Synth minting cap reached.\",\n [t.INVALID_QUOTE_MODE]: \"Invalid quote mode.\",\n [t.NO_QUOTES]: \"No quotes to service this request.\",\n [t.SERVICE_UNAVAILABLE_GENERIC]: \"Service unavailable.\",\n [t.MISSING_GAS_DATA_GENERIC]: \"Missing gas data.\",\n [t.MISSING_TOKEN_INFO_GENERIC]: \"Missing token info.\",\n [t.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [t.NO_PRICE]: \"No price for asset {0}.\",\n [t.PRICE_IS_STALE]: \"Price is stale for asset {0}.\",\n [t.ADDRESS_NOT_WHITELISTED]: \"Address {0} not whitelisted for airdrop.\",\n [t.ADDRESS_ALREADY_CLAIMED]: \"Address {0} already claimed the airdrop.\"\n}, o = (e, a) => {\n let n = V[e];\n if (!n)\n return \"\";\n for (let r = 0; r < a.length; r++)\n n = (n == null ? void 0 : n.replace(`{${r}}`, a[r])) ?? \"\";\n return n;\n};\nclass A extends Error {\n constructor({\n status: n,\n revision: r,\n module: S,\n code: d,\n message: _,\n type: N,\n options: { shouldLog: E, shouldThrow: c, shouldTrace: f } = {\n shouldLog: !0,\n shouldThrow: !0,\n shouldTrace: !0\n },\n displayMessageParams: y\n }) {\n const l = _ || o(d, y || []) || \"\";\n super(l);\n s(this, \"status\");\n s(this, \"revision\");\n s(this, \"type\");\n s(this, \"module\");\n s(this, \"code\");\n s(this, \"message\");\n s(this, \"display\");\n s(this, \"stack\");\n s(this, \"options\");\n s(this, \"displayMessageParams\");\n this.status = n, this.revision = r || \"NO_REVISION\", this.module = S, this.message = l, this.display = o(d, y || []), this.code = d, this.type = N || m.UNHANDLED_ERROR, this.options = {\n shouldLog: E || !0,\n shouldTrace: f || !0,\n shouldThrow: c || !1\n }, this.displayMessageParams = y || [], this.options.shouldTrace && Error.captureStackTrace(this);\n }\n static fromErrorInfo(n) {\n return new A(n);\n }\n toErrorInfo() {\n return { ...this, identifier: this.identifier };\n }\n get identifier() {\n return `${this.revision}-${this.type || \"NO_TYPE\"}-${this.module}-${this.code}`;\n }\n get displayMessage() {\n return o(this.code, this.displayMessageParams || []);\n }\n handle() {\n const n = `[${this.identifier}]: ${this.message}`;\n if (this.options.shouldLog && console.error(n, `\n`, this.stack || \"\"), this.options.shouldThrow)\n throw Error(n, { cause: this.stack });\n return this.toErrorInfo();\n }\n}\nvar i = /* @__PURE__ */ ((e) => (e.Arbitrum = \"ARB\", e.Avalanche = \"AVAX\", e.Binance = \"BNB\", e.BinanceSmartChain = \"BSC\", e.Bitcoin = \"BTC\", e.BitcoinCash = \"BCH\", e.Cosmos = \"GAIA\", e.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))(i || {}), g = /* @__PURE__ */ ((e) => (e.ARB = \"0x0000000000000000000000000000000000000000\", e.AVAX = \"0x0000000000000000000000000000000000000000\", e.ETH = \"0x0000000000000000000000000000000000000000\", e.BSC = \"0x0000000000000000000000000000000000000000\", e.MATIC = \"0x0000000000000000000000000000000000001010\", e.OP = \"0x4200000000000000000000000000000000000042\", e))(g || {}), b = /* @__PURE__ */ ((e) => (e.ARB = \"m/44'/60'/0'/0\", e.AVAX = \"m/44'/60'/0'/0\", e.BCH = \"m/44'/145'/0'/0\", e.BNB = \"m/44'/714'/0'/0\", e.BSC = \"m/44'/60'/0'/0\", e.BTC = \"m/84'/0'/0'/0\", e.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))(b || {});\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 B = /* @__PURE__ */ ((e) => (e[e.ARB = 18] = \"ARB\", e[e.AVAX = 18] = \"AVAX\", e[e.BCH = 8] = \"BCH\", e[e.BNB = 8] = \"BNB\", e[e.BSC = 18] = \"BSC\", e[e.BTC = 8] = \"BTC\", e[e.DASH = 8] = \"DASH\", e[e.DOGE = 8] = \"DOGE\", e[e.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))(B || {});\nconst q = [\n \"DOT\",\n \"FLIP\"\n /* Chainflip */\n], x = [\n \"ETH\",\n \"AVAX\",\n \"BSC\",\n \"ARB\",\n \"OP\",\n \"MATIC\"\n /* Polygon */\n], Z = x, H = [\n \"BTC\",\n \"BCH\",\n \"DASH\",\n \"DOGE\",\n \"LTC\"\n /* Litecoin */\n], z = H, L = [\n \"GAIA\",\n \"THOR\",\n \"BNB\"\n /* Binance */\n], Q = L, D = [\n \"AVAX\",\n \"BNB\",\n \"BSC\",\n \"BTC\",\n \"BCH\",\n \"GAIA\",\n \"DOGE\",\n \"ETH\",\n \"LTC\",\n \"THOR\"\n /* THORChain */\n], ee = D;\nvar u = /* @__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))(u || {}), I = /* @__PURE__ */ ((e) => (e.Arbitrum = \"https://arb1.arbitrum.io/rpc\", e.Avalanche = \"https://node-router.thorswap.net/avalanche-c\", e.Binance = \"\", e.BinanceSmartChain = \"https://bsc-dataseed.binance.org\", e.Bitcoin = \"https://node-router.thorswap.net/bitcoin\", e.BitcoinCash = \"https://node-router.thorswap.net/bitcoin-cash\", e.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))(I || {}), v = /* @__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))(v || {});\nconst p = Object.values(i), M = Object.keys(i), T = p.reduce(\n (e, a) => {\n const n = M.find((r) => i[r] === a);\n return n && (e[a] = n), e;\n },\n {}\n), te = p.reduce(\n (e, a) => (e[a] = u[T[a]], e),\n {}\n), ne = p.reduce(\n (e, a) => (e[a] = I[T[a]], e),\n {}\n), ae = p.reduce(\n (e, a) => {\n const n = `${T[a]}Hex`;\n return e[a] = u[n], e;\n },\n {}\n), se = {\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}, re = {\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://explorer.polkascan.io/polkadot\",\n MATIC: \"https://polygonscan.com\",\n THOR: \"https://runescan.io\"\n};\nvar R = /* @__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))(R || {}), G = /* @__PURE__ */ ((e) => (e.Average = \"average\", e.Fast = \"fast\", e.Fastest = \"fastest\", e))(G || {}), w = /* @__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))(w || {}), U = /* @__PURE__ */ ((e) => (e[e.NoError = 36864] = \"NoError\", e[e.LockedDevice = 21781] = \"LockedDevice\", e[e.TC_NotFound = 65535] = \"TC_NotFound\", e))(U || {});\nexport {\n Y as AGG_SWAP,\n A as ApiError,\n v as ApiUrl,\n B as BaseDecimal,\n i as Chain,\n u as ChainId,\n se as ChainIdToChain,\n te as ChainToChainId,\n re as ChainToExplorerUrl,\n ae as ChainToHexChainId,\n ne as ChainToRPC,\n g as ContractAddress,\n Q as CosmosChainList,\n L as CosmosChains,\n b as DerivationPath,\n t as ERROR_CODE,\n P as ERROR_MODULE,\n m as ERROR_TYPE,\n Z as EVMChainList,\n x as EVMChains,\n G as FeeOption,\n U as LedgerErrorCode,\n R as MemoType,\n $ as NetworkDerivationPath,\n C as QuoteMode,\n I as RPCUrl,\n j as SWAP_IN,\n J as SWAP_OUT,\n q as SubstrateChainList,\n K as TCAvalancheDepositABI,\n W as TCBscDepositABI,\n k as TCEthereumVaultAbi,\n ee as TCSupportedChainList,\n D as TCSupportedChains,\n z as UTXOChainList,\n H as UTXOChains,\n w as WalletOption,\n X as erc20ABI\n};\n//# sourceMappingURL=index.es.js.map\n","var ye = Object.defineProperty;\nvar we = (e, t, n) => t in e ? ye(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;\nvar p = (e, t, n) => (we(e, typeof t != \"symbol\" ? t + \"\" : t, n), n), Ve = (e, t, n) => {\n if (!t.has(e))\n throw TypeError(\"Cannot \" + n);\n};\nvar O = (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 T = (e, t, n) => (Ve(e, t, \"access private method\"), n);\nimport { FeeOption as Y, BaseDecimal as d, Chain as l, EVMChainList as Be, ChainToRPC as Ue, MemoType as I, ChainToChainId as Le } from \"@swapkit/types\";\nvar u = /* @__PURE__ */ ((e) => (e.INVALID_INPUT_PARAMETERS = \"1000\", e.UNKNOWN_PROVIDERS = \"1001\", e.CANNOT_FIND_INBOUND_ADDRESS = \"1002\", e.NO_INBOUND_ADDRESSES = \"1003\", e.CHAIN_HALTED_OR_UNSUPPORTED = \"1004\", e.MISSING_INPUT_PARAMETER = \"1005\", e.INVALID_TYPE_GENERIC = \"1100\", e.INVALID_NUMBER_STRING = \"1101\", e.INVALID_NUMBER = \"1102\", e.INVALID_BOOLEAN = \"1103\", e.INVALID_OBJECT = \"1104\", e.INVALID_ARRAY = \"1105\", e.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = \"2000\", e.SELL_BUY_ASSETS_ARE_THE_SAME = \"2001\", e.MISSING_SOURCE_ADDRESS_FOR_SYNTH = \"2002\", e.AFF_ADDRESS_AND_BPS_OR_NEITHER = \"2003\", e.AFF_ADDRESS_TOO_LONG = \"2004\", e.AFF_BPS_INTEGER_MAX_500 = \"2005\", e.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = \"2006\", e.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = \"2007\", e.PREFERRED_PROVIDER_NOT_SUPPORTED = \"2008\", e.DESTINATION_ADDRESS_SMART_CONTRACT = \"2009\", e.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = \"2010\", e.SOURCE_ADDRESS_SMART_CONTRACT = \"2011\", e.SWAP_AMOUNT_TOO_LOW = \"2012\", e.INVALID_PROVIDER = \"2100\", e.MISSING_CROSS_CHAIN_PROVIDER = \"2101\", e.MISSING_AVAX_PROVIDER = \"2102\", e.MISSING_BSC_PROVIDER = \"2103\", e.MISSING_ETH_PROVIDER = \"2104\", e.INVALID_PROVIDER_FOR_SWAP_OUT = \"2105\", e.MISSING_ARB_PROVIDER = \"2106\", e.INVALID_CHAIN = \"2200\", e.INVALID_ASSET = \"2201\", e.INVALID_ASSET_IDENTIFIER = \"2202\", e.UNSUPPORTED_CHAIN = \"2204\", e.UNSUPPORTED_ASSET = \"2203\", e.UNSUPPORTED_ASSET_FOR_SWAPOUT = \"2205\", e.INVALID_SOURCE_ADDRESS = \"2300\", e.INVALID_DESTINATION_ADDRESS = \"2301\", e.THORNODE_QUOTE_GENERIC_ERROR = \"3000\", e.NOT_ENOUGH_SYNTH_BALANCE = \"3001\", e.SYNTH_MINTING_CAP_REACHED = \"3002\", e.INVALID_QUOTE_MODE = \"4000\", e.NO_QUOTES = \"4001\", e.SERVICE_UNAVAILABLE_GENERIC = \"5000\", e.MISSING_GAS_DATA_GENERIC = \"5100\", e.MISSING_TOKEN_INFO_GENERIC = \"5200\", e.CANT_FIND_TOKEN_LIST = \"5201\", e.NO_PRICE = \"5202\", e.PRICE_IS_STALE = \"5203\", e.ADDRESS_NOT_WHITELISTED = \"6000\", e.ADDRESS_ALREADY_CLAIMED = \"6001\", e.TEMPORARY_ERROR = \"9999\", e))(u || {});\nu.INVALID_INPUT_PARAMETERS + \"\", u.UNKNOWN_PROVIDERS + \"\", u.CANNOT_FIND_INBOUND_ADDRESS + \"\", u.NO_INBOUND_ADDRESSES + \"\", u.CHAIN_HALTED_OR_UNSUPPORTED + \"\", u.MISSING_INPUT_PARAMETER + \"\", u.INVALID_TYPE_GENERIC + \"\", u.INVALID_NUMBER_STRING + \"\", u.INVALID_NUMBER + \"\", u.INVALID_BOOLEAN + \"\", u.INVALID_OBJECT + \"\", u.INVALID_ARRAY + \"\", u.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER + \"\", u.SELL_BUY_ASSETS_ARE_THE_SAME + \"\", u.MISSING_SOURCE_ADDRESS_FOR_SYNTH + \"\", u.AFF_ADDRESS_AND_BPS_OR_NEITHER + \"\", u.AFF_ADDRESS_TOO_LONG + \"\", u.AFF_BPS_INTEGER_MAX_500 + \"\", u.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN + \"\", u.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN + \"\", u.PREFERRED_PROVIDER_NOT_SUPPORTED + \"\", u.SOURCE_ADDRESS_SMART_CONTRACT + \"\", u.SWAP_AMOUNT_TOO_LOW + \"\", u.DESTINATION_ADDRESS_SMART_CONTRACT + \"\", u.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER + \"\", u.INVALID_PROVIDER + \"\", u.MISSING_CROSS_CHAIN_PROVIDER + \"\", u.MISSING_AVAX_PROVIDER + \"\", u.MISSING_BSC_PROVIDER + \"\", u.MISSING_ETH_PROVIDER + \"\", u.MISSING_ARB_PROVIDER + \"\", u.INVALID_PROVIDER_FOR_SWAP_OUT + \"\", u.INVALID_CHAIN + \"\", u.INVALID_ASSET + \"\", u.UNSUPPORTED_CHAIN + \"\", u.UNSUPPORTED_ASSET + \"\", u.UNSUPPORTED_ASSET_FOR_SWAPOUT + \"\", u.THORNODE_QUOTE_GENERIC_ERROR + \"\", u.INVALID_SOURCE_ADDRESS + \"\", u.INVALID_DESTINATION_ADDRESS + \"\", u.NOT_ENOUGH_SYNTH_BALANCE + \"\", u.SYNTH_MINTING_CAP_REACHED + \"\", u.INVALID_QUOTE_MODE + \"\", u.NO_QUOTES + \"\", u.SERVICE_UNAVAILABLE_GENERIC + \"\", u.MISSING_GAS_DATA_GENERIC + \"\", u.MISSING_TOKEN_INFO_GENERIC + \"\", u.CANT_FIND_TOKEN_LIST + \"\", u.NO_PRICE + \"\", u.PRICE_IS_STALE + \"\", u.ADDRESS_NOT_WHITELISTED + \"\", u.ADDRESS_ALREADY_CLAIMED + \"\";\nvar j = /* @__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))(j || {}), 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 || {}), 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 q = Object.values(j), $e = Object.keys(j), re = q.reduce(\n (e, t) => {\n const n = $e.find((r) => j[r] === t);\n return n && (e[t] = n), e;\n },\n {}\n);\nq.reduce(\n (e, t) => (e[t] = ne[re[t]], e),\n {}\n);\nq.reduce(\n (e, t) => (e[t] = de[re[t]], e),\n {}\n);\nq.reduce(\n (e, t) => {\n const n = `${re[t]}Hex`;\n return e[t] = ne[n], e;\n },\n {}\n);\nclass ce extends Error {\n constructor(t, n, r) {\n const s = t.status || t.status === 0 ? t.status : \"\", i = t.statusText || \"\", a = `${s} ${i}`.trim(), c = a ? `status code ${a}` : \"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 Te 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 x = (e) => e !== null && typeof e == \"object\", M = (...e) => {\n for (const t of e)\n if ((!x(t) || Array.isArray(t)) && t !== void 0)\n throw new TypeError(\"The `options` argument must be an object\");\n return se({}, ...e);\n}, Ae = (e = {}, t = {}) => {\n const n = new globalThis.Headers(e), r = t instanceof globalThis.Headers, s = new globalThis.Headers(t);\n for (const [i, a] of s.entries())\n r && a === \"undefined\" || a === void 0 ? n.delete(i) : n.set(i, a);\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 (x(r)) {\n for (let [s, i] of Object.entries(r))\n x(i) && s in t && (i = se(t[s], i)), t = { ...t, [s]: i };\n x(r.headers) && (n = Ae(n, r.headers), t.headers = n);\n }\n return t;\n}, ve = (() => {\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})(), Me = typeof globalThis.AbortController == \"function\", He = typeof globalThis.ReadableStream == \"function\", xe = typeof globalThis.FormData == \"function\", pe = [\"get\", \"post\", \"put\", \"patch\", \"head\", \"delete\"], Fe = {\n json: \"application/json\",\n text: \"text/*\",\n formData: \"multipart/form-data\",\n arrayBuffer: \"*/*\",\n blob: \"*/*\"\n}, K = 2147483647, Se = Symbol(\"stop\"), Ge = {\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}, We = {\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}, ke = (e) => pe.includes(e) ? e.toUpperCase() : e, je = [\"get\", \"put\", \"head\", \"delete\", \"options\", \"trace\"], qe = [408, 413, 429, 500, 502, 503, 504], me = [413, 429, 503], le = {\n limit: 2,\n methods: je,\n statusCodes: qe,\n afterStatusCodes: me,\n maxRetryAfter: Number.POSITIVE_INFINITY,\n backoffLimit: Number.POSITIVE_INFINITY,\n delay: (e) => 0.3 * 2 ** (e - 1) * 1e3\n}, Xe = (e = {}) => {\n if (typeof e == \"number\")\n return {\n ...le,\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 ...le,\n ...e,\n afterStatusCodes: me\n };\n};\nasync function Ye(e, t, n, r) {\n return new Promise((s, i) => {\n const a = setTimeout(() => {\n n && n.abort(), i(new Te(e));\n }, r.timeout);\n r.fetch(e, t).then(s).catch(i).then(() => {\n clearTimeout(a);\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 Je = (e, t) => {\n const n = {};\n for (const r in t)\n !(r in We) && !(r in Ge) && !(r in e) && (n[r] = t[r]);\n return n;\n};\nclass G {\n static create(t, n) {\n const r = new G(t, n), s = async () => {\n if (typeof r._options.timeout == \"number\" && r._options.timeout > K)\n throw new RangeError(`The \\`timeout\\` option cannot be greater than ${K}`);\n await Promise.resolve();\n let a = await r._fetch();\n for (const c of r._options.hooks.afterResponse) {\n const o = await c(r.request, r._options, r._decorateResponse(a.clone()));\n o instanceof globalThis.Response && (a = o);\n }\n if (r._decorateResponse(a), !a.ok && r._options.throwHttpErrors) {\n let c = new ce(a, r.request, r._options);\n for (const o of r._options.hooks.beforeError)\n c = await o(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 (!He)\n throw new Error(\"Streams are not supported in your environment. `ReadableStream` is missing.\");\n return r._stream(a.clone(), r._options.onDownloadProgress);\n }\n return a;\n }, i = r._options.retry.methods.includes(r.request.method.toLowerCase()) ? r._retry(s) : s();\n for (const [a, c] of Object.entries(Fe))\n i[a] = async () => {\n r.request.headers.set(\"accept\", r.request.headers.get(\"accept\") || c);\n const o = (await i).clone();\n if (a === \"json\") {\n if (o.status === 204 || (await o.clone().arrayBuffer()).byteLength === 0)\n return \"\";\n if (n.parseJson)\n return n.parseJson(await o.text());\n }\n return o[a]();\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: Ae(this._input.headers, n.headers),\n hooks: se({\n beforeRequest: [],\n beforeRetry: [],\n beforeError: [],\n afterResponse: []\n }, n.hooks),\n method: ke(n.method ?? this._input.method),\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n prefixUrl: String(n.prefixUrl || \"\"),\n retry: Xe(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 (Me) {\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 (ve && (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 (xe && 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 Te)) {\n if (t instanceof ce) {\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), K);\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 }) === Se)\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 = Je(this.request, this._options);\n return this._options.timeout === !1 ? this._options.fetch(this.request.clone(), t) : Ye(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 a = t.body.getReader();\n n && n({ percent: 0, transferredBytes: 0, totalBytes: r }, new Uint8Array());\n async function c() {\n const { done: o, value: _ } = await a.read();\n if (o) {\n i.close();\n return;\n }\n if (n) {\n s += _.byteLength;\n const h = r === 0 ? 0 : s / r;\n n({ percent: h, transferredBytes: s, totalBytes: r }, _);\n }\n i.enqueue(_), 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) => G.create(n, M(e, r));\n for (const n of pe)\n t[n] = (r, s) => G.create(r, M(e, s, { method: n }));\n return t.create = (n) => z(M(n)), t.extend = (n) => z(M(e, n)), t.stop = Se, t;\n}, Ee = z();\nlet F;\nconst m = {\n CachedPrices: `${f.ThorswapApi}/tokenlist/cached-price`,\n GasRates: `${f.ThorswapApi}/resource-worker/gasPrice/getAll`,\n Quote: `${f.ThorswapApi}/aggregator/tokens/quote`,\n Txn: `${f.ThorswapApi}/apiusage/v2/txn`,\n TokenlistProviders: `${f.ThorswapApi}/tokenlist/providers`,\n TokenList: `${f.ThorswapStatic}/token-list`,\n Thorname: `${f.ThorswapApi}/thorname`\n}, Re = typeof window < \"u\" ? {} : { referrer: \"https://sk.thorswap.net\", referer: \"https://sk.thorswap.net\" }, ue = () => F || (F = Ee.create({ headers: Re }), F), mt = ({ apiKey: e, ...t }) => {\n F = Ee.create({\n ...t,\n headers: { ...Re, ...t.headers, \"x-api-key\": e }\n });\n}, S = {\n get: (e, t) => ue().get(e, t).json(),\n post: (e, t) => ue().post(e, t).json()\n}, Qe = ({ tokens: e, ...t }) => {\n const n = new URLSearchParams();\n return e.filter((r, s, i) => i.findIndex((a) => a === r) === s).forEach((r) => n.append(\"tokens\", JSON.stringify(r))), t.metadata && n.append(\"metadata\", \"true\"), t.lookup && n.append(\"lookup\", \"true\"), t.sparkline && n.append(\"sparkline\", \"true\"), S.post(m.CachedPrices, {\n body: n.toString(),\n headers: { \"Content-Type\": \"application/x-www-form-urlencoded\" }\n });\n}, Et = {\n getCachedPrices: Qe,\n getQuote: (e) => S.get(m.Quote, { searchParams: e }),\n getGasRates: () => S.get(m.GasRates),\n getTxnDetails: (e) => S.get(m.Txn, { searchParams: e }),\n getTokenlistProviders: () => S.get(m.TokenlistProviders),\n getTokenList: (e) => S.get(`${m.TokenList}/${e}.json`),\n getThornameAddresses: (e) => S.get(`${m.Thorname}/${e}`),\n getThornameRegisteredChains: (e) => S.get(`${m.Thorname}/chains/${e}`),\n getThornameRlookup: (e, t) => S.get(`${m.Thorname}/rlookup`, { searchParams: { address: e, chain: t } })\n};\nvar ze = /* @__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))(ze || {}), 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 || {}), et = /* @__PURE__ */ ((e) => (e[e.NOT_STARTED = 0] = \"NOT_STARTED\", e[e.SUCCESS = 1] = \"SUCCESS\", e[e.REFUNDED = 2] = \"REFUNDED\", e))(et || {});\nconst tt = \"0x313ce567\", Ie = async ({ chain: e, to: t }) => {\n try {\n const { result: n } = await S.post(Ue[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: tt }, \"latest\"]\n })\n });\n return parseInt(BigInt(n).toString());\n } catch (n) {\n return console.error(n), d[e];\n }\n}, nt = async (e) => {\n if (e === l.Ethereum)\n return d.ETH;\n const [, t] = e.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? Ie({ chain: l.Ethereum, to: t }) : d.ETH;\n}, rt = async (e) => {\n const [, t] = e.split(\"-\");\n return t != null && t.startsWith(\"0x\") ? Ie({ chain: l.Avalanche, to: t.toLowerCase() }) : d.AVAX;\n}, st = async (e) => e === l.BinanceSmartChain ? d.BSC : d.BSC, it = async ({ chain: e, symbol: t }) => {\n switch (e) {\n case l.Ethereum:\n return nt(t);\n case l.Avalanche:\n return rt(t);\n case l.BinanceSmartChain:\n return st(t);\n default:\n return d[e];\n }\n}, Rt = {\n [Y.Average]: 1.2,\n [Y.Fast]: 1.5,\n [Y.Fastest]: 2\n}, fe = ({ 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}, at = (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}, It = (e) => {\n var a;\n const [t, ...n] = e.split(\".\"), r = e.includes(\"/\"), s = n.join(\".\"), i = (a = s == null ? void 0 : s.split(\"-\")) == null ? void 0 : a[0];\n return { chain: t, symbol: s, ticker: i, synth: r };\n}, ct = new RegExp(\n /(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/,\n \"gmi\"\n), lt = (e) => {\n const [t, n] = e.split(\".\");\n if (!Be.includes(t))\n return !0;\n const [, r] = n.split(\"-\");\n return fe({ chain: t, symbol: n }) || !!r;\n}, ft = (e) => e.filter(({ chain: t, value: n, symbol: r }) => {\n const s = `${t}.${r}`;\n return !ct.test(s) && lt(s) && n !== \"0\";\n});\nfunction ut({\n liquidityUnits: e,\n poolUnits: t,\n runeDepth: n\n}) {\n const r = A(e), s = A(t), i = A(n), a = r.mul(i), c = s.mul(s).mul(2), o = s.mul(r).mul(2), _ = r.mul(r), h = s.mul(s).mul(s);\n return a.mul(c.sub(o).add(_)).div(h);\n}\nfunction _t({\n liquidityUnits: e,\n poolUnits: t,\n assetDepth: n\n}) {\n const r = A(e), s = A(t), i = A(n), a = r.mul(i), c = s.mul(s).mul(2), o = s.mul(r).mul(2), _ = r.mul(r), h = a.mul(c.sub(o).add(_)), y = s.mul(s).mul(s);\n return h.div(y);\n}\nfunction Nt({\n percent: e,\n runeDepth: t,\n liquidityUnits: n,\n poolUnits: r\n}) {\n return ut({ runeDepth: t, liquidityUnits: n, poolUnits: r }).mul(e);\n}\nfunction Ct({\n percent: e,\n assetDepth: t,\n liquidityUnits: n,\n poolUnits: r\n}) {\n return _t({ assetDepth: t, liquidityUnits: n, poolUnits: r }).mul(e);\n}\nfunction A(e) {\n return E.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: A(r).mul(e).div(t),\n runeAmount: A(n).mul(e).div(t)\n };\n}\nfunction gt({\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, a]) => [i, a.mul(s)]\n )\n );\n}\nfunction Ot({\n runeDepth: e,\n poolUnits: t,\n assetDepth: n,\n liquidityUnits: r,\n runeAmount: s,\n assetAmount: i\n}) {\n const a = new E({ value: e, decimal: 8 }), c = new E({ value: n, decimal: 8 }), o = new E({ value: t, decimal: 8 }), _ = new E({ value: s, decimal: 8 }), h = new E({ value: i, decimal: 8 }), y = _.mul(c), ae = h.mul(a), ge = _.mul(h), Oe = a.mul(c), De = o.mul(y.add(ae.add(ge.mul(2)))), Pe = y.add(ae.add(Oe.mul(2))), oe = De.div(Pe), X = A(r).add(oe);\n if (oe.getBaseValue(\"number\") === 0)\n return X.div(o).getBaseValue(\"number\");\n const be = o.add(X);\n return X.div(be).getBaseValue(\"number\");\n}\nfunction Dt({\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 = A(n), i = A(r), a = A(t), c = A(e), o = a.mul(s).sub(i.mul(c)), _ = i.mul(c).add(s.mul(i));\n return Math.abs(o.div(_).getBaseValue(\"number\"));\n}\nconst Pt = (e, t) => {\n switch (e) {\n case I.LEAVE:\n case I.BOND: {\n const { address: n } = t;\n return `${e}:${n}`;\n }\n case I.UNBOND: {\n const { address: n, unbondAmount: r } = t;\n return `${e}:${n}:${r}`;\n }\n case I.THORNAME_REGISTER: {\n const { name: n, chain: r, address: s, owner: i } = t;\n return `${e}:${n}:${r}:${s}${i ? `:${i}` : \"\"}`;\n }\n case I.DEPOSIT: {\n const { chain: n, symbol: r, address: s, singleSide: i } = t;\n return i ? `${e}:${n}/${r}` : `${e}:${((c, o) => {\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}.${o}`;\n }\n })(n, r)}:${s || \"\"}`;\n }\n case I.WITHDRAW: {\n const { chain: n, ticker: r, symbol: s, basisPoints: i, targetAssetString: a, singleSide: c } = t, o = n === \"ETH\" && r !== \"ETH\" ? `${r}-${s.slice(-3)}` : s, _ = !c && a ? `:${a}` : \"\";\n return `${e}:${n}${c ? \"/\" : \".\"}${o}:${i}${_}`;\n }\n case I.OPEN_LOAN:\n case I.CLOSE_LOAN: {\n const { asset: n, address: r } = t;\n return `${e}:${n}:${r}`;\n }\n default:\n return \"\";\n }\n};\nfunction bt(e) {\n if (e < 0)\n throw new Error(\"Invalid number of year\");\n return 10 + e;\n}\nfunction yt(e) {\n if (e.length > 30)\n return !1;\n const t = /^[a-zA-Z0-9+_-]+$/g;\n return !!e.match(t);\n}\nfunction wt([e, t, n, r, s]) {\n return `${e}'/${t}'/${n}'/${r}${typeof s != \"number\" ? \"\" : `/${s}`}`;\n}\nconst _e = [...Object.values(l), \"TERRA\"];\nfunction dt(e = \"\") {\n const t = e.toUpperCase(), [n] = t.split(\".\");\n if (_e.includes(n))\n return !0;\n const [r] = t.split(\"/\");\n if (_e.includes(r))\n return !0;\n throw new Error(\n `Invalid identifier: ${e}. Expected format: <Chain>.<Ticker> or <Chain>.<Ticker>-<ContractAddress>`\n );\n}\nconst U = 8, C = (e) => 10n ** BigInt(e), w = (e) => Math.log10(parseFloat(e.toString()));\nfunction W({\n value: e,\n bigIntDecimal: t = U,\n decimal: n = U\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 a = 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, a)}.${c}`.replace(\n /\\.?0*$/,\n \"\"\n );\n}\nvar g, V, N, D, k, Ne, $, Z, v, ee;\nconst ie = class ie {\n constructor(t) {\n O(this, g);\n O(this, N);\n O(this, k);\n O(this, $);\n O(this, v);\n p(this, \"decimalMultiplier\", 10n ** 8n);\n p(this, \"bigIntValue\", 0n);\n p(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 : C(Math.max(he(H(n)), this.decimal || 0)), T(this, k, Ne).call(this, n);\n }\n static fromBigInt(t, n) {\n return new ie({\n decimal: n,\n value: W({ value: t, bigIntDecimal: n, decimal: n })\n });\n }\n static shiftDecimals({\n value: t,\n from: n,\n to: r\n }) {\n return this.fromBigInt(\n t.getBaseValue(\"bigint\") * C(r) / C(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 T(this, g, V).call(this, \"add\", ...t);\n }\n sub(...t) {\n return T(this, g, V).call(this, \"sub\", ...t);\n }\n mul(...t) {\n return T(this, g, V).call(this, \"mul\", ...t);\n }\n div(...t) {\n return T(this, g, V).call(this, \"div\", ...t);\n }\n gt(t) {\n return T(this, N, D).call(this, \"gt\", t);\n }\n gte(t) {\n return T(this, N, D).call(this, \"gte\", t);\n }\n lt(t) {\n return T(this, N, D).call(this, \"lt\", t);\n }\n lte(t) {\n return T(this, N, D).call(this, \"lte\", t);\n }\n eqValue(t) {\n return T(this, N, D).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 || w(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 / C(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 = H(r);\n return s === \"0\" || s === \"undefined\" ? 0n : T(this, v, 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), o = `${c}`.slice(0, t);\n return `0.${o.padStart(\n i.length - `${c}`.length + o.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 a = parseInt(i), c = `${a}`.slice(0, t);\n return `0.${c.padStart(\n i.length - `${a}`.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 a = 10 ** (s * 3);\n return `${(n / a).toFixed(t)}${i}`;\n }\n toCurrency(t = \"$\", {\n currencyPosition: n = \"start\",\n decimal: r = 2,\n decimalSeparator: s = \".\",\n thousandSeparator: i = \",\"\n } = {}) {\n const a = this.getValue(\"number\"), [c, o = \"\"] = a.toFixed(6).split(\".\"), _ = c.replace(/\\B(?=(\\d{3})+(?!\\d))/g, i), h = !c && !o ? \"0.00\" : c === \"0\" ? `${parseFloat(`0.${o}`)}`.replace(\".\", s) : `${_}${parseInt(o) ? `${s}${o.slice(0, r)}` : \"\"}`;\n return `${n === \"start\" ? t : \"\"}${h}${n === \"end\" ? t : \"\"}`;\n }\n formatBigIntToSafeValue(t, n) {\n const r = n || this.decimal || U, s = Math.max(\n r,\n w(this.decimalMultiplier)\n ), i = t < 0n, a = t.toString().substring(i ? 1 : 0), c = s - (a.length - 1), o = c > 0 ? \"0\".repeat(c) + a : a, _ = o.length - s;\n let h = o.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 ? \"-\" : \"\"}${o.slice(\n 0,\n _\n )}.${h}`.replace(/\\.?0*$/, \"\");\n }\n};\ng = new WeakSet(), V = function(t, ...n) {\n const r = T(this, $, Z).call(this, this, ...n), s = Math.max(r, w(this.decimalMultiplier)), i = C(s), a = n.reduce(\n (o, _) => {\n const h = this.getBigIntValue(_, s);\n switch (t) {\n case \"add\":\n return o + h;\n case \"sub\":\n return o - h;\n case \"mul\":\n return o * h / i;\n case \"div\": {\n if (h === 0n)\n throw new RangeError(\"Division by zero\");\n return o * i / h;\n }\n default:\n return o;\n }\n },\n //normalize is to precision multiplier base\n this.bigIntValue * i / this.decimalMultiplier\n ), c = W({\n bigIntDecimal: s,\n decimal: s,\n value: a\n });\n return new this.constructor({\n decimalMultiplier: C(s),\n decimal: this.decimal,\n value: c,\n identifier: this.toString()\n });\n}, N = new WeakSet(), D = function(t, ...n) {\n const r = T(this, $, 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}, k = new WeakSet(), Ne = function(t) {\n const n = H(t) || \"0\";\n this.bigIntValue = T(this, v, ee).call(this, n);\n}, $ = new WeakSet(), Z = function(...t) {\n const n = t.map((r) => typeof r == \"object\" ? r.decimal || w(r.decimalMultiplier) : he(H(r))).filter(Boolean);\n return Math.max(...n, U);\n}, v = new WeakSet(), ee = function(t, n) {\n const r = n ? C(n) : this.decimalMultiplier, s = w(r), [i = \"\", a = \"\"] = t.split(\".\");\n return BigInt(`${i}${a.padEnd(s, \"0\")}`);\n};\nlet L = ie;\nconst Tt = Intl.NumberFormat(\"fullwide\", {\n useGrouping: !1,\n maximumFractionDigits: 20\n});\nfunction H(e) {\n const n = `${typeof e == \"number\" ? Tt.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, U);\n}\nfunction te(e) {\n return typeof e == \"object\" ? \"getValue\" in e ? e.getValue(\"string\") : e.value : e;\n}\nclass E extends L {\n eq(t) {\n return this.eqValue(t);\n }\n static fromBigInt(t, n) {\n return new E({\n decimal: n,\n value: W({ value: t, bigIntDecimal: n, decimal: n })\n });\n }\n}\nconst P = /* @__PURE__ */ new Map();\nclass R extends L {\n constructor({\n value: n,\n decimal: r,\n tax: s,\n chain: i,\n symbol: a,\n identifier: c\n }) {\n super(typeof n == \"object\" ? n : { decimal: r, value: n });\n p(this, \"address\");\n p(this, \"chain\");\n p(this, \"isGasAsset\", !1);\n p(this, \"isSynthetic\", !1);\n p(this, \"symbol\");\n p(this, \"tax\");\n p(this, \"ticker\");\n p(this, \"type\");\n const o = B(c || `${i}.${a}`);\n this.type = ot(o), this.tax = s, this.chain = o.chain, this.ticker = o.ticker, this.symbol = o.symbol, this.address = o.address, this.isSynthetic = o.isSynthetic, this.isGasAsset = o.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 Le[this.chain];\n }\n // THOR.RUNE\n // THOR.ETH.ETH\n // ETH.THOR-0x1234567890\n static fromUrl(n, r = 0) {\n const [s, i, a] = n.split(\".\");\n if (!s || !i)\n throw new Error(\"Invalid asset url\");\n const c = s === l.THORChain && a ? `${s}.${i}/${a}` : 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 } = B(n), a = P.get(n.toUpperCase());\n if (i)\n return Q(n, r);\n const { tax: c, decimal: o, identifier: _ } = a || {\n decimal: d[s],\n identifier: n\n };\n return new R({\n tax: c,\n value: b(r, o),\n identifier: i ? n : _,\n decimal: i ? 8 : o\n });\n }\n static async fromStringWithBase(n, r = 0, s = d.THOR) {\n const i = L.shiftDecimals({\n value: E.fromBigInt(BigInt(r)),\n from: 0,\n to: s\n }).getBaseValue(\"string\");\n return (await R.fromString(n, r)).set(i);\n }\n static fromStringWithBaseSync(n, r = 0, s = d.THOR) {\n const { chain: i, isSynthetic: a } = B(n), c = P.get(n.toUpperCase());\n if (a)\n return Q(n, r);\n const { tax: o, decimal: _, identifier: h } = c || {\n decimal: d[i],\n identifier: n\n };\n return new R({\n tax: o,\n value: b(BigInt(r), s),\n identifier: h,\n decimal: _\n });\n }\n static fromIdentifierSync(n, r = 0) {\n const { chain: s, isSynthetic: i } = B(n), a = P.get(n);\n if (i)\n return Q(n, r);\n const { tax: c, decimal: o, identifier: _ } = a || {\n decimal: d[s],\n identifier: n\n };\n return new R({ tax: c, decimal: o, identifier: _, value: b(r, o) });\n }\n static fromChainOrSignature(n, r = 0) {\n const { decimal: s, identifier: i } = at(n);\n return new R({ value: b(r, s), decimal: s, identifier: i });\n }\n static loadStaticAssets() {\n return new Promise(\n async (n, r) => {\n try {\n const s = await import(\"@swapkit/tokens\");\n Object.values(s).forEach((i) => {\n var a;\n (a = i == null ? void 0 : i.tokens) == null || a.forEach(({ identifier: c, chain: o, ..._ }) => {\n P.set(c.toUpperCase(), {\n identifier: c,\n decimal: \"decimals\" in _ ? _.decimals : d[o]\n });\n });\n }), n({ ok: !0 });\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 Vt(e) {\n const t = R.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 it(B(e));\n return n || P.set(e.toUpperCase(), { identifier: e, decimal: r }), new R({ decimal: r, value: b(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 R({\n decimal: 8,\n value: b(t, 8),\n identifier: `${l.THORChain}.${n}/${r}`\n });\n}\nfunction b(e, t) {\n return typeof e == \"bigint\" ? W({ value: e, bigIntDecimal: t, decimal: t }) : e;\n}\nfunction B(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, ...a] = s.split(\".\"), [c, o] = (t ? r : a.join(\".\")).split(\"-\"), _ = t ? r : a.join(\".\");\n return {\n address: o == null ? void 0 : o.toLowerCase(),\n chain: i,\n isGasAsset: fe({ chain: i, symbol: _ }),\n isSynthetic: t,\n symbol: (t ? `${n}/` : \"\") + (o ? `${c}-${(o == null ? void 0 : o.toLowerCase()) ?? \"\"}` : _),\n ticker: c\n };\n}\nconst At = {\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 /**\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 * Helpers\n */\n helpers_number_different_decimals: 99101\n};\nclass Ce extends Error {\n constructor(t, n) {\n n && console.error(n, { stack: n == null ? void 0 : n.stack, message: n == null ? void 0 : n.message }), super(t, { cause: { code: At[t], message: t } }), Object.setPrototypeOf(this, Ce.prototype);\n }\n}\nexport {\n m as ApiEndpoints,\n R as AssetValue,\n L as BigIntArithmetics,\n S as RequestClient,\n et as StreamingSwapProgressStatus,\n Et as SwapKitApi,\n Ce as SwapKitError,\n E as SwapKitNumber,\n ze as TransactionType,\n Ze as TxStatus,\n It as assetFromString,\n Re as defaultRequestHeaders,\n wt as derivationPathToString,\n ft as filterAssets,\n W as formatBigIntToSafeValue,\n Rt as gasFeeMultiplier,\n ot as getAssetType,\n _t as getAsymmetricAssetShare,\n Ct as getAsymmetricAssetWithdrawAmount,\n ut as getAsymmetricRuneShare,\n Nt as getAsymmetricRuneWithdrawAmount,\n at as getCommonAssetInfo,\n it as getDecimal,\n Ot as getEstimatedPoolShare,\n Dt as getLiquiditySlippage,\n Pt as getMemoFor,\n Vt as getMinAmountByChain,\n ht as getSymmetricPoolShare,\n gt as getSymmetricWithdraw,\n bt as getTHORNameCost,\n fe as isGasAsset,\n mt as setRequestClientConfig,\n yt as validateTHORName\n};\n//# sourceMappingURL=index.es.js.map\n","export const avaxGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const avaxWoofi = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n ],\n name: 'SwapOut',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IWoofi', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const bscGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'swapRouter', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const ethGeneric = [\n {\n inputs: [{ internalType: 'address', name: '_ttp', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const pancakeV2 = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_wbnb', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'from', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'out', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'SwapIn',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n ],\n name: 'SwapOut',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IPancakeRouterV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'wbnb',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const pangolin = [\n {\n inputs: [\n { internalType: 'address', name: '_ttp', type: 'address' },\n { internalType: 'address', name: '_weth', type: 'address' },\n { internalType: 'address', name: '_swapRouter', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },\n ],\n name: 'FeeSet',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'OwnerSet',\n type: 'event',\n },\n {\n inputs: [],\n name: 'fee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'owners',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_fee', type: 'uint256' },\n { internalType: 'address', name: '_feeRecipient', type: 'address' },\n ],\n name: 'setFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'owner', type: 'address' },\n { internalType: 'bool', name: 'active', type: 'bool' },\n ],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'tcRouter', type: 'address' },\n { internalType: 'address', name: 'tcVault', type: 'address' },\n { internalType: 'string', name: 'tcMemo', type: 'string' },\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n ],\n name: 'swapIn',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n ],\n name: 'swapOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'swapRouter',\n outputs: [{ internalType: 'contract IUniswapRouterV2AVAX', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'tokenTransferProxy',\n outputs: [\n { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'weth',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n];\n","export const 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 { Chain, ChainToExplorerUrl } from '@swapkit/types';\n\nexport const getExplorerTxUrl = ({ chain, txHash }: { txHash: string; chain: Chain }) => {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Binance:\n case Chain.Maya:\n case Chain.Kujira:\n case Chain.THORChain:\n return `${baseUrl}/tx/${txHash.startsWith('0x') ? txHash.slice(2) : txHash}`;\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon:\n return `${baseUrl}/tx/${txHash.startsWith('0x') ? txHash : `0x${txHash}`}`;\n\n case Chain.Cosmos:\n return `${baseUrl}/transactions/${txHash}`;\n\n case Chain.Litecoin:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n return `${baseUrl}/transaction/${txHash.toLowerCase()}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n\nexport const getExplorerAddressUrl = ({ chain, address }: { address: string; chain: Chain }) => {\n const baseUrl = ChainToExplorerUrl[chain];\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Binance:\n case Chain.BinanceSmartChain:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Ethereum:\n case Chain.Kujira:\n case Chain.Litecoin:\n case Chain.Maya:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.THORChain:\n return `${baseUrl}/address/${address}`;\n\n case Chain.Cosmos:\n return `${baseUrl}/account/${address}`;\n\n default:\n throw new Error(`Unsupported chain: ${chain}`);\n }\n};\n","import { RequestClient } from '@swapkit/helpers';\nimport type { Chain } from '@swapkit/types';\nimport { ApiUrl } from '@swapkit/types';\n\ntype InboundAddressData = {\n address: string;\n chain: Chain;\n chain_lp_actions_paused: boolean;\n chain_trading_paused: boolean;\n dust_threshold: string;\n gas_rate: string;\n gas_rate_units: string;\n global_trading_paused: boolean;\n halted: boolean;\n outbound_fee: string;\n outbound_tx_size: string;\n pub_key: string;\n router: string;\n}[];\n\nexport const getInboundData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<InboundAddressData>(`${baseUrl}/thorchain/inbound_addresses`);\n};\n\nexport const getMimirData = (stagenet: boolean) => {\n const baseUrl = stagenet ? ApiUrl.ThornodeStagenet : ApiUrl.ThornodeMainnet;\n\n return RequestClient.get<Record<string, number>>(`${baseUrl}/thorchain/mimir`);\n};\n","import type { ErrorKeys, ThornameRegisterParam } from '@swapkit/helpers';\nimport {\n AssetValue,\n gasFeeMultiplier,\n getMemoFor,\n getMinAmountByChain,\n SwapKitError,\n SwapKitNumber,\n} from '@swapkit/helpers';\nimport type { CosmosLikeToolbox } from '@swapkit/toolbox-cosmos';\nimport type { AVAXToolbox, BSCToolbox, ETHToolbox, EVMToolbox } from '@swapkit/toolbox-evm';\nimport type { UTXOToolbox } from '@swapkit/toolbox-utxo';\nimport type {\n AddChainWalletParams,\n EVMChain,\n EVMWalletOptions,\n ExtendParams,\n WalletOption,\n} from '@swapkit/types';\nimport {\n AGG_SWAP,\n Chain,\n ChainToChainId,\n FeeOption,\n MemoType,\n SWAP_IN,\n SWAP_OUT,\n TCAvalancheDepositABI,\n TCBscDepositABI,\n TCEthereumVaultAbi,\n} from '@swapkit/types';\n\nimport type { AGG_CONTRACT_ADDRESS } from '../aggregator/contracts/index.ts';\nimport { lowercasedContractAbiMapping } from '../aggregator/contracts/index.ts';\nimport { getSwapInParams } from '../aggregator/getSwapParams.ts';\n\nimport { getExplorerAddressUrl, getExplorerTxUrl } from './explorerUrls.ts';\nimport { getInboundData, getMimirData } from './thornode.ts';\nimport type {\n CoreTxParams,\n EVMWallet,\n SwapParams,\n ThorchainWallet,\n Wallet,\n WalletMethods,\n} from './types.ts';\n\nconst getEmptyWalletStructure = () =>\n (Object.values(Chain) as Chain[]).reduce(\n (acc, chain) => {\n acc[chain] = null;\n return acc;\n },\n {} as Record<Chain, null>,\n );\n\nconst validateAddressType = async ({ chain, address }: { chain: Chain; address?: string }) => {\n if (!address) return false;\n\n switch (chain) {\n case Chain.Bitcoin:\n // filter out taproot addresses\n return !address.startsWith('bc1p');\n default:\n return true;\n }\n};\n\nexport class SwapKitCore<T = ''> {\n public connectedChains: Wallet = getEmptyWalletStructure();\n public connectedWallets: WalletMethods = getEmptyWalletStructure();\n public readonly stagenet: boolean = false;\n\n constructor({ stagenet }: { stagenet?: boolean } | undefined = {}) {\n this.stagenet = !!stagenet;\n }\n\n getAddress = (chain: Chain) => this.connectedChains[chain]?.address || '';\n getExplorerTxUrl = (chain: Chain, txHash: string) => getExplorerTxUrl({ chain, txHash });\n getWallet = <T extends Chain>(chain: Chain) => this.connectedWallets[chain] as WalletMethods[T];\n getExplorerAddressUrl = (chain: Chain, address: string) =>\n getExplorerAddressUrl({ chain, address });\n getBalance = async (chain: Chain, potentialScamFilter?: boolean) => {\n const wallet = await this.getWalletByChain(chain, potentialScamFilter);\n\n return wallet?.balance || [];\n };\n\n swap = async ({ streamSwap, recipient, route, feeOptionKey }: SwapParams) => {\n const {\n meta: { quoteMode },\n // evmTransactionDetails: contractCallParams,\n } = route;\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.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 ? route?.streamingSwap?.transaction : route?.transaction;\n if (!transaction) throw new SwapKitError('core_swap_route_transaction_not_found');\n\n const { data, from, to, value } = route.transaction;\n\n const params = {\n data,\n from,\n to: to.toLowerCase(),\n chainId: BigInt(ChainToChainId[evmChain]),\n value: value ? BigInt(value) : 0n,\n };\n\n return walletMethods.sendTransaction(params, feeOptionKey) as Promise<string>;\n }\n\n if (SWAP_OUT.includes(quoteMode)) {\n if (!route.calldata.fromAsset) throw new SwapKitError('core_swap_asset_not_recognized');\n const asset = await AssetValue.fromString(route.calldata.fromAsset);\n if (!asset) throw new SwapKitError('core_swap_asset_not_recognized');\n\n const { address: recipient } = await this.#getInboundDataByChain(asset.chain);\n const {\n contract: router,\n calldata: { expiration, amountIn, memo, memoStreamingSwap },\n } = route;\n\n const assetValue = asset.add(SwapKitNumber.fromBigInt(BigInt(amountIn), asset.decimal));\n const swapMemo = (streamSwap ? memoStreamingSwap || memo : memo) as string;\n\n return this.deposit({\n expiration,\n assetValue,\n memo: swapMemo,\n feeOptionKey,\n router,\n recipient,\n });\n }\n\n if (SWAP_IN.includes(quoteMode) && evmChain) {\n const { calldata, contract: contractAddress } = route;\n if (!contractAddress) throw new SwapKitError('core_swap_contract_not_found');\n\n const walletMethods = this.connectedWallets[evmChain];\n const from = this.getAddress(evmChain);\n\n if (!walletMethods?.sendTransaction || !from) {\n throw new SwapKitError('core_wallet_connection_not_found');\n }\n\n const { getProvider, toChecksumAddress } = await import('@swapkit/toolbox-evm');\n const provider = getProvider(evmChain);\n const abi = lowercasedContractAbiMapping[contractAddress.toLowerCase()];\n\n if (!abi) throw new SwapKitError('core_swap_contract_not_supported', { contractAddress });\n\n const contract = await walletMethods.createContract?.(contractAddress, abi, provider);\n\n const tx = await contract.getFunction('swapIn').populateTransaction(\n ...getSwapInParams({\n streamSwap,\n toChecksumAddress,\n contractAddress: contractAddress as AGG_CONTRACT_ADDRESS,\n recipient,\n calldata,\n }),\n { from },\n );\n\n return walletMethods.sendTransaction(tx, feeOptionKey) as Promise<string>;\n }\n\n throw new SwapKitError('core_swap_quote_mode_not_supported', { quoteMode });\n };\n\n getWalletByChain = async (chain: Chain, potentialScamFilter?: boolean) => {\n const address = this.getAddress(chain);\n if (!address) return null;\n const defaultBalance = [AssetValue.fromChainOrSignature(chain)];\n const walletType = this.connectedChains[chain]?.walletType as WalletOption;\n\n try {\n const balance = await this.getWallet(chain)?.getBalance(address, potentialScamFilter);\n\n this.connectedChains[chain] = {\n address,\n balance: balance?.length ? balance : defaultBalance,\n walletType,\n };\n\n return { ...this.connectedChains[chain] };\n } catch (error) {\n console.error(error);\n\n return { address, balance: defaultBalance, walletType };\n }\n };\n\n approveAssetValue = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve({ assetValue, type: 'approve', contractAddress });\n\n isAssetValueApproved = (assetValue: AssetValue, contractAddress?: string) =>\n this.#approve<boolean>({ assetValue, contractAddress, type: 'checkOnly' });\n\n validateAddress = ({ address, chain }: { address: string; chain: Chain }) =>\n this.getWallet(chain)?.validateAddress?.(address);\n\n transfer = async (params: CoreTxParams & { router?: string }) => {\n const walletInstance = this.connectedWallets[params.assetValue.chain];\n if (!walletInstance) throw new SwapKitError('core_wallet_connection_not_found');\n\n try {\n return await walletInstance.transfer(this.#prepareTxParams(params));\n } catch (error) {\n throw new SwapKitError('core_swap_transaction_error', error);\n }\n };\n\n deposit = async ({\n assetValue,\n recipient,\n router,\n ...rest\n }: CoreTxParams & { router?: string }) => {\n const { chain, symbol, ticker } = assetValue;\n const walletInstance = this.connectedWallets[chain];\n const isAddressValidated = await validateAddressType({\n address: await walletInstance?.getAddress(),\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({ assetValue, recipient, router, ...rest });\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 = (error?.message || error?.toString()).toLowerCase();\n const isInsufficientFunds = errorMessage?.includes('insufficient funds');\n const isGas = errorMessage?.includes('gas');\n const isServer = errorMessage?.includes('server');\n const 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 }) => {\n const { chain, symbol } = assetValue;\n const isSym = mode === 'sym';\n const runeTransfer = runeAssetValue?.gt(0) && (isSym || mode === 'rune');\n const assetTransfer = assetValue?.gt(0) && (isSym || mode === 'asset');\n const includeRuneAddress = isPendingSymmAsset || runeTransfer;\n const runeAddress = includeRuneAddress ? runeAddr || this.getAddress(Chain.THORChain) : '';\n const assetAddress = isSym || mode === 'asset' ? assetAddr || this.getAddress(chain) : '';\n\n if (!runeTransfer && !assetTransfer) {\n throw new SwapKitError('core_transaction_add_liquidity_invalid_params');\n }\n if (includeRuneAddress && !runeAddress) {\n throw new SwapKitError('core_transaction_add_liquidity_no_rune_address');\n }\n\n let runeTx, assetTx;\n\n if (runeTransfer && runeAssetValue) {\n try {\n runeTx = await this.#depositToPool({\n assetValue: runeAssetValue,\n memo: getMemoFor(MemoType.DEPOSIT, { chain, symbol, address: assetAddress }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_add_liquidity_rune_error', error);\n }\n }\n\n if (assetTransfer && assetValue) {\n try {\n assetTx = await this.#depositToPool({\n assetValue,\n memo: getMemoFor(MemoType.DEPOSIT, { chain, symbol, address: runeAddress }),\n });\n } catch (error) {\n throw new SwapKitError('core_transaction_add_liquidity_asset_error', error);\n }\n }\n\n return { runeTx, assetTx };\n };\n\n addLiquidityPart = ({\n assetValue,\n poolAddress,\n address,\n symmetric,\n }: {\n assetValue: AssetValue;\n address?: string;\n poolAddress: string;\n symmetric: boolean;\n }) => {\n if (symmetric && !address) {\n throw new SwapKitError('core_transaction_add_liquidity_invalid_params');\n }\n const memo = getMemoFor(MemoType.DEPOSIT, {\n chain: poolAddress.split('.')[0] as Chain,\n symbol: poolAddress.split('.')[1],\n address: symmetric ? address : '',\n });\n\n return this.#depositToPool({ assetValue, memo });\n };\n\n withdraw = async ({\n memo,\n assetValue,\n percent,\n from,\n to,\n }: {\n memo?: string;\n assetValue: AssetValue;\n percent: number;\n from: 'sym' | 'rune' | 'asset';\n to: 'sym' | 'rune' | 'asset';\n }) => {\n const targetAsset =\n to === 'rune' && 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 = async ({\n assetValue,\n memo,\n percent,\n type,\n }: { assetValue: AssetValue; memo?: string } & (\n | { type: 'add'; percent?: undefined }\n | { type: 'withdraw'; percent: number }\n )) => {\n const memoType = type === 'add' ? MemoType.DEPOSIT : MemoType.WITHDRAW;\n const memoString =\n memo ||\n getMemoFor(memoType, {\n ticker: assetValue.ticker,\n symbol: assetValue.symbol,\n chain: assetValue.chain,\n singleSide: true,\n basisPoints: percent ? Math.min(10000, Math.round(percent * 100)) : undefined,\n });\n\n const value =\n memoType === MemoType.DEPOSIT ? assetValue : getMinAmountByChain(assetValue.chain);\n\n return this.#depositToPool({ memo: memoString, assetValue: value });\n };\n\n loan = ({\n assetValue,\n memo,\n minAmount,\n type,\n }: {\n assetValue: AssetValue;\n memo?: string;\n minAmount: AssetValue;\n type: 'open' | 'close';\n }) =>\n this.#depositToPool({\n assetValue,\n memo:\n memo ||\n getMemoFor(type === 'open' ? MemoType.OPEN_LOAN : MemoType.CLOSE_LOAN, {\n asset: assetValue.toString(),\n minAmount: minAmount.toString(),\n address: this.getAddress(assetValue.chain),\n }),\n });\n\n nodeAction = ({\n type,\n assetValue,\n address,\n }: { address: string } & (\n | { type: 'bond' | 'unbond'; assetValue: AssetValue }\n | { type: 'leave'; assetValue?: undefined }\n )) => {\n const memoType =\n type === 'bond' ? MemoType.BOND : type === 'unbond' ? MemoType.UNBOND : MemoType.LEAVE;\n const memo = getMemoFor(memoType, {\n address,\n unbondAmount: type === 'unbond' ? assetValue.getBaseValue('number') : undefined,\n });\n\n return this.#thorchainTransfer({\n memo,\n assetValue: type === 'bond' ? assetValue : getMinAmountByChain(Chain.THORChain),\n });\n };\n\n registerThorname = ({\n assetValue,\n ...param\n }: ThornameRegisterParam & { assetValue: AssetValue }) =>\n this.#thorchainTransfer({ assetValue, memo: getMemoFor(MemoType.THORNAME_REGISTER, param) });\n\n extend = ({ wallets, config, apis = {}, rpcUrls = {} }: ExtendParams<T>) => {\n try {\n wallets.forEach((wallet) => {\n // @ts-expect-error - this is fine as we are extending the class\n this[wallet.connectMethodName] = wallet.connect({\n addChain: this.#addConnectedChain,\n config: config || {},\n apis,\n rpcUrls,\n });\n });\n } catch (error) {\n throw new SwapKitError('core_extend_error', error);\n }\n };\n\n estimateMaxSendableAmount = async ({\n chain,\n params,\n }: {\n chain: Chain;\n params: { from: string; recipient: string; assetValue: AssetValue };\n }) => {\n const walletMethods = this.getWallet<typeof chain>(chain);\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { estimateMaxSendableAmount } = await import('@swapkit/toolbox-evm');\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as EVMToolbox,\n });\n }\n\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin:\n return (walletMethods as UTXOToolbox).estimateMaxSendableAmount(params);\n\n case Chain.Binance:\n case Chain.THORChain:\n case Chain.Cosmos: {\n const { estimateMaxSendableAmount } = await import('@swapkit/toolbox-cosmos');\n return estimateMaxSendableAmount({\n ...params,\n toolbox: walletMethods as CosmosLikeToolbox,\n });\n }\n\n default:\n throw new SwapKitError('core_estimated_max_spendable_chain_not_supported');\n }\n };\n\n /**\n * Wallet connection methods\n */\n connectXDEFI = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError('core_wallet_xdefi_not_installed');\n };\n connectEVMWallet = async (_chains: Chain[] | Chain, _wallet: EVMWalletOptions): Promise<void> => {\n throw new SwapKitError('core_wallet_evmwallet_not_installed');\n };\n connectWalletconnect = async (_chains: Chain[], _options?: any): Promise<void> => {\n throw new SwapKitError('core_wallet_walletconnect_not_installed');\n };\n connectKeepkey = async (_chains: Chain[], _derivationPath: number[][]): Promise<string> => {\n throw new SwapKitError('core_wallet_keepkey_not_installed');\n };\n connectKeystore = async (_chains: Chain[], _phrase: string): Promise<void> => {\n throw new SwapKitError('core_wallet_keystore_not_installed');\n };\n connectLedger = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError('core_wallet_ledger_not_installed');\n };\n connectTrezor = async (_chains: Chain, _derivationPath: number[]): Promise<void> => {\n throw new SwapKitError('core_wallet_trezor_not_installed');\n };\n connectKeplr = async (_chain: Chain): Promise<void> => {\n throw new SwapKitError('core_wallet_keplr_not_installed');\n };\n connectOkx = async (_chains: Chain[]): Promise<void> => {\n throw new SwapKitError('core_wallet_okx_not_installed');\n };\n disconnectChain = (chain: Chain) => {\n this.connectedChains[chain] = null;\n this.connectedWallets[chain] = null;\n };\n\n #getInboundDataByChain = async (chain: Chain) => {\n 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 getInboundData(this.stagenet);\n const chainAddressData = inboundData.find((item) => item.chain === chain);\n\n if (!chainAddressData) throw new SwapKitError('core_inbound_data_not_found');\n if (chainAddressData?.halted) throw new SwapKitError('core_chain_halted');\n\n return chainAddressData;\n }\n }\n };\n\n #addConnectedChain = ({ chain, wallet, walletMethods }: AddChainWalletParams) => {\n this.connectedChains[chain] = wallet;\n this.connectedWallets[chain] = walletMethods;\n };\n\n #approve = async <T = string>({\n assetValue,\n type = 'checkOnly',\n contractAddress,\n }: {\n assetValue: AssetValue;\n type?: 'checkOnly' | 'approve';\n contractAddress?: string;\n }) => {\n const { address, chain, isGasAsset, isSynthetic } = assetValue;\n const isEVMChain = [Chain.Ethereum, Chain.Avalanche, Chain.BinanceSmartChain].includes(chain);\n const isNativeEVM = isEVMChain && isGasAsset;\n\n if (isNativeEVM || !isEVMChain || isSynthetic) return true;\n\n const walletMethods = this.connectedWallets[chain as EVMChain];\n const walletAction = type === 'checkOnly' ? walletMethods?.isApproved : walletMethods?.approve;\n\n if (!walletAction) throw new SwapKitError('core_wallet_connection_not_found');\n\n const from = this.getAddress(chain);\n\n if (!address || !from) throw new SwapKitError('core_approve_asset_address_or_from_not_found');\n\n const spenderAddress =\n contractAddress || ((await this.#getInboundDataByChain(chain)).router as string);\n\n return walletAction({\n amount: assetValue.getBaseValue('bigint'),\n assetAddress: address,\n from,\n spenderAddress,\n }) as Promise<T>;\n };\n\n #depositToPool = async ({\n assetValue,\n memo,\n feeOptionKey = FeeOption.Fast,\n }: {\n assetValue: AssetValue;\n memo: string;\n feeOptionKey?: FeeOption;\n }) => {\n const {\n gas_rate,\n router,\n address: poolAddress,\n } = await this.#getInboundDataByChain(assetValue.chain);\n const feeRate = (parseInt(gas_rate) || 0) * gasFeeMultiplier[feeOptionKey];\n\n return this.deposit({\n assetValue,\n recipient: poolAddress,\n memo,\n router,\n feeRate,\n });\n };\n\n #thorchainTransfer = async ({ memo, assetValue }: { assetValue: AssetValue; memo: string }) => {\n const mimir = await getMimirData(this.stagenet);\n\n // check if trading is halted or not\n if (mimir['HALTCHAINGLOBAL'] >= 1 || mimir['HALTTHORCHAIN'] >= 1) {\n throw new SwapKitError('core_chain_halted');\n }\n\n return this.deposit({ assetValue, recipient: '', memo });\n };\n\n #prepareTxParams = ({ assetValue, ...restTxParams }: CoreTxParams & { router?: string }) => ({\n ...restTxParams,\n memo: restTxParams.memo || '',\n from: this.getAddress(assetValue.chain),\n assetValue,\n });\n}\n"],"names":["h","O","a","s","X","k","K","W","C","Y","j","J","m","P","t","V","o","r","A","n","S","d","_","N","E","c","f","y","l","i","g","b","$","B","q","x","Z","H","z","L","Q","D","ee","u","I","v","p","M","T","te","ne","ae","se","re","R","G","w","U","ye","we","Ve","de","$e","ce","Te","Ae","ve","Me","He","xe","pe","Fe","Se","Ge","We","ke","je","qe","me","le","Xe","Ye","Ke","Je","Ee","F","Re","ue","mt","Qe","Et","ze","Ze","et","tt","Ie","Ue","nt","rt","st","it","Rt","fe","at","ot","It","ct","lt","Be","ft","ut","_t","Nt","Ct","ht","gt","Ot","ge","Oe","De","Pe","oe","be","Dt","Pt","bt","yt","wt","_e","dt","Ne","ie","he","Tt","Le","Vt","At","Ce","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","contractAddress","recipient","toChecksumAddress","amount","amountOutMin","data","deadline","memo","router","memoStreamingSwap","tcMemo","tcRouter","tcVault","vault","token","isGeneric","baseMemo","transactionMemo","baseParams","contractParams","getExplorerTxUrl","chain","txHash","baseUrl","ChainToExplorerUrl","Chain","getExplorerAddressUrl","address","getInboundData","stagenet","ApiUrl","RequestClient","getMimirData","getEmptyWalletStructure","acc","validateAddressType","SwapKitCore","__publicField","_a","potentialScamFilter","wallet","route","feeOptionKey","quoteMode","evmChain","SwapKitError","AGG_SWAP","walletMethods","from","to","value","params","ChainToChainId","SWAP_OUT","asset","AssetValue","__privateGet","_getInboundDataByChain","expiration","amountIn","assetValue","SwapKitNumber","swapMemo","SWAP_IN","calldata","getProvider","provider","abi","tx","_b","defaultBalance","walletType","balance","error","_approve","walletInstance","_prepareTxParams","rest","symbol","ticker","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","type","memoType","minAmount","_thorchainTransfer","param","wallets","config","apis","rpcUrls","_addConnectedChain","estimateMaxSendableAmount","_chains","_wallet","_options","_derivationPath","_phrase","_chain","__privateAdd","chainAddressData","item","isGasAsset","isSynthetic","isEVMChain","walletAction","spenderAddress","FeeOption","gas_rate","feeRate","gasFeeMultiplier","mimir","restTxParams"],"mappings":"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CN,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,uBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,kBACd,KAAM,WACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,cACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,cACN,QAAS,CA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C,EACT,KAAM,sBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,yBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACR,EACA,CACE,aAAc,QACd,KAAM,MACN,KAAM,OACR,CACF,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,uBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,wBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,sBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,iCACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,iCACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,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,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,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,sBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,gBAAiB,UACjB,KAAM,SACR,CACF,EC3oEaC,GAAoB,CAC/B,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU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"}