@shapeshiftoss/swapper 17.6.2 → 17.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/.tsbuildinfo +1 -0
- package/dist/cjs/constants.d.ts +8 -0
- package/dist/cjs/constants.js +133 -0
- package/dist/cjs/cowswap-utils/constants.d.ts +14 -0
- package/dist/cjs/cowswap-utils/constants.js +34 -0
- package/dist/cjs/cowswap-utils/index.d.ts +24 -0
- package/dist/cjs/cowswap-utils/index.js +177 -0
- package/dist/cjs/index.d.ts +18 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/safe-utils/constants.d.ts +2 -0
- package/dist/cjs/safe-utils/constants.js +14 -0
- package/dist/cjs/safe-utils/index.d.ts +3 -0
- package/dist/cjs/safe-utils/index.js +66 -0
- package/dist/cjs/safe-utils/types.d.ts +57 -0
- package/dist/cjs/solana-utils/getSolanaTransactionFees.d.ts +2 -0
- package/dist/cjs/solana-utils/getSolanaTransactionFees.js +22 -0
- package/dist/cjs/solana-utils/getUnsignedSolanaTransaction.d.ts +3 -0
- package/dist/cjs/solana-utils/getUnsignedSolanaTransaction.js +39 -0
- package/dist/cjs/swapper.d.ts +3 -0
- package/dist/cjs/swapper.js +56 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.js +7 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/endpoints.d.ts +13 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/endpoints.js +238 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.d.ts +6 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +86 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +174 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.js +75 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/index.d.ts +2 -0
- package/dist/{index.js → cjs/swappers/ArbitrumBridgeSwapper/index.js} +2 -3
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/types.d.ts +13 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/types.js +10 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/constants.d.ts +6 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/constants.js +33 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.d.ts +35 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.js +148 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/helpers.d.ts +16 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/helpers.js +100 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/types.d.ts +3 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/types.js +8 -0
- package/dist/cjs/swappers/BebopSwapper/BebopSwapper.d.ts +2 -0
- package/dist/cjs/swappers/BebopSwapper/BebopSwapper.js +7 -0
- package/dist/cjs/swappers/BebopSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/BebopSwapper/endpoints.js +61 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.d.ts +6 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +117 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.d.ts +6 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +92 -0
- package/dist/cjs/swappers/BebopSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/BebopSwapper/index.js +7 -0
- package/dist/cjs/swappers/BebopSwapper/types.d.ts +89 -0
- package/dist/cjs/swappers/BebopSwapper/types.js +27 -0
- package/dist/cjs/swappers/BebopSwapper/utils/bebopService.d.ts +9 -0
- package/dist/cjs/swappers/BebopSwapper/utils/bebopService.js +31 -0
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +23 -0
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +93 -0
- package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -0
- package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.js +58 -0
- package/dist/cjs/swappers/ButterSwap/ButterSwap.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/ButterSwap.js +11 -0
- package/dist/cjs/swappers/ButterSwap/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/endpoints.js +75 -0
- package/dist/cjs/swappers/ButterSwap/index.d.ts +1 -0
- package/dist/{manager → cjs/swappers/ButterSwap}/index.js +1 -1
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.js +89 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.test.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.test.js +205 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +191 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +60 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.js +119 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.js +95 -0
- package/dist/cjs/swappers/ButterSwap/test-data/eth-btc.json +461 -0
- package/dist/cjs/swappers/ButterSwap/test-data/routeQuote.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/test-data/routeQuote.js +79 -0
- package/dist/cjs/swappers/ButterSwap/types.d.ts +236 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapHistoryService.d.ts +6 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapHistoryService.js +16 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapService.d.ts +6 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapService.js +16 -0
- package/dist/cjs/swappers/ButterSwap/utils/constants.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/utils/constants.js +10 -0
- package/dist/cjs/swappers/ButterSwap/utils/helpers.d.ts +3 -0
- package/dist/cjs/swappers/ButterSwap/utils/helpers.js +27 -0
- package/dist/cjs/swappers/ButterSwap/xhr.d.ts +50 -0
- package/dist/cjs/swappers/ButterSwap/xhr.js +141 -0
- package/dist/cjs/swappers/ChainflipSwapper/ChainflipSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/ChainflipSwapper.js +11 -0
- package/dist/cjs/swappers/ChainflipSwapper/constants.d.ts +26 -0
- package/dist/cjs/swappers/ChainflipSwapper/constants.js +55 -0
- package/dist/cjs/swappers/ChainflipSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/endpoints.js +194 -0
- package/dist/cjs/swappers/ChainflipSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/index.js +18 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.d.ts +130 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.js +74 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.d.ts +43 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.js +51 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.d.ts +157 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.js +86 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.d.ts +61 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.js +63 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.d.ts +103 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.js +61 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.d.ts +50 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.js +56 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.d.ts +98 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.js +63 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.d.ts +99 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.js +75 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.d.ts +79 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.js +59 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/index.d.ts +3 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/index.js +19 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +143 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeRate.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeRate.js +13 -0
- package/dist/cjs/swappers/ChainflipSwapper/types.d.ts +15 -0
- package/dist/cjs/swappers/ChainflipSwapper/types.js +10 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/chainflipService.d.ts +5 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/chainflipService.js +15 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getEvmTxFees.d.ts +8 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getEvmTxFees.js +15 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.js +28 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.d.ts +3 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +297 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getUtxoTxFees.d.ts +9 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getUtxoTxFees.js +25 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.d.ts +36 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.js +84 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.d.ts +2 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.js +27 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.test.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.test.js +180 -0
- package/dist/cjs/swappers/CowSwapper/constants.d.ts +6 -0
- package/dist/cjs/swappers/CowSwapper/constants.js +10 -0
- package/dist/cjs/swappers/CowSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/CowSwapper/endpoints.js +148 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +128 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +522 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +127 -0
- package/dist/cjs/swappers/CowSwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/index.js +17 -0
- package/dist/cjs/swappers/CowSwapper/types.d.ts +18 -0
- package/dist/{swappers/cow → cjs/swappers/CowSwapper}/utils/blacklist.js +1 -0
- package/dist/cjs/swappers/CowSwapper/utils/cowService.d.ts +6 -0
- package/dist/cjs/swappers/CowSwapper/utils/cowService.js +15 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.d.ts +44 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.js +86 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.test.js +60 -0
- package/dist/cjs/swappers/JupiterSwapper/JupiterSwapper.d.ts +2 -0
- package/dist/cjs/swappers/JupiterSwapper/JupiterSwapper.js +27 -0
- package/dist/cjs/swappers/JupiterSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/JupiterSwapper/endpoints.js +15 -0
- package/dist/cjs/swappers/JupiterSwapper/errorPatterns.d.ts +15 -0
- package/dist/cjs/swappers/JupiterSwapper/errorPatterns.js +29 -0
- package/dist/cjs/swappers/JupiterSwapper/idls/referral.d.ts +739 -0
- package/dist/cjs/swappers/JupiterSwapper/idls/referral.js +741 -0
- package/dist/cjs/swappers/JupiterSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/JupiterSwapper/index.js +18 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +191 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeRate.js +172 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/constants.d.ts +9 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/constants.js +14 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/helpers.d.ts +58 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/helpers.js +178 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/jupiterService.d.ts +5 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/jupiterService.js +15 -0
- package/dist/cjs/swappers/MayachainSwapper/MayachainSwapper.d.ts +2 -0
- package/dist/cjs/swappers/MayachainSwapper/MayachainSwapper.js +13 -0
- package/dist/cjs/swappers/MayachainSwapper/constants.d.ts +6 -0
- package/dist/cjs/swappers/MayachainSwapper/constants.js +13 -0
- package/dist/cjs/swappers/MayachainSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/MayachainSwapper/endpoints.js +68 -0
- package/dist/cjs/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +25 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeQuote.js +24 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeRate.js +24 -0
- package/dist/cjs/swappers/MayachainSwapper/index.d.ts +4 -0
- package/dist/cjs/swappers/MayachainSwapper/index.js +22 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/index.d.ts +7 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/index.js +40 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +14 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +56 -0
- package/dist/cjs/swappers/PortalsSwapper/PortalsSwapper.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/PortalsSwapper.js +7 -0
- package/dist/cjs/swappers/PortalsSwapper/constants.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/constants.js +14 -0
- package/dist/cjs/swappers/PortalsSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/endpoints.js +56 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +5 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +208 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +5 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +146 -0
- package/dist/cjs/swappers/PortalsSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/index.js +18 -0
- package/dist/cjs/swappers/PortalsSwapper/types.d.ts +3 -0
- package/dist/cjs/swappers/PortalsSwapper/types.js +15 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +76 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.js +68 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/helpers.d.ts +4 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/helpers.js +32 -0
- package/dist/cjs/swappers/RelaySwapper/RelaySwapper.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/RelaySwapper.js +11 -0
- package/dist/cjs/swappers/RelaySwapper/constant.d.ts +23 -0
- package/dist/cjs/swappers/RelaySwapper/constant.js +76 -0
- package/dist/cjs/swappers/RelaySwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/endpoints.js +194 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +32 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeRate/getTradeRate.js +20 -0
- package/dist/cjs/swappers/RelaySwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/RelaySwapper/index.js +17 -0
- package/dist/cjs/swappers/RelaySwapper/utils/fetchRelayTrade.d.ts +5 -0
- package/dist/cjs/swappers/RelaySwapper/utils/fetchRelayTrade.js +8 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.js +22 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.d.ts +3 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.js +19 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.js +16 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayPsbtRelayer.d.ts +1 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayPsbtRelayer.js +47 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getTrade.d.ts +14 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getTrade.js +453 -0
- package/dist/cjs/swappers/RelaySwapper/utils/notifyTransactionIndexing.d.ts +11 -0
- package/dist/cjs/swappers/RelaySwapper/utils/notifyTransactionIndexing.js +8 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayService.d.ts +5 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayService.js +15 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAsset.d.ts +6 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAsset.js +16 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.d.ts +3 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +97 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +157 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.js +41 -0
- package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.js +13 -0
- package/dist/cjs/swappers/ThorchainSwapper/constants.d.ts +7 -0
- package/dist/cjs/swappers/ThorchainSwapper/constants.js +14 -0
- package/dist/cjs/swappers/ThorchainSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +81 -0
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +4618 -0
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +45 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.js +65 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +210 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeRate/getTradeRate.js +65 -0
- package/dist/cjs/swappers/ThorchainSwapper/index.d.ts +7 -0
- package/dist/cjs/swappers/ThorchainSwapper/index.js +27 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.d.ts +14 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +72 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +118 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/constants.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/constants.js +8 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getBestAggregator.d.ts +6 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getBestAggregator.js +36 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +146 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +134 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.js +73 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailRate.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailRate.js +73 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.d.ts +5 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.js +55 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.js +99 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +27 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +38 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/longTailHelpers.d.ts +48 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/longTailHelpers.js +146 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +14 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +56 -0
- package/dist/{swappers/thorchain → cjs/swappers/ThorchainSwapper}/utils/test-data/responses.d.ts +1 -1
- package/dist/{swappers/thorchain → cjs/swappers/ThorchainSwapper}/utils/test-data/responses.js +20 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.js +37 -0
- package/dist/cjs/swappers/ZrxSwapper/ZrxSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ZrxSwapper/ZrxSwapper.js +7 -0
- package/dist/cjs/swappers/ZrxSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ZrxSwapper/endpoints.js +78 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.d.ts +6 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +116 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +159 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +72 -0
- package/dist/cjs/swappers/ZrxSwapper/types.d.ts +76 -0
- package/dist/cjs/swappers/ZrxSwapper/types.js +13 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/constants.d.ts +4 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/constants.js +26 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/fetchFromZrx.d.ts +25 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/fetchFromZrx.js +54 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +34 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/helpers/helpers.js +145 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/zrxService.d.ts +9 -0
- package/dist/{swappers/zrx → cjs/swappers/ZrxSwapper}/utils/zrxService.js +7 -9
- package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.d.ts +4 -0
- package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +26 -0
- package/dist/cjs/swappers/utils/helpers/helpers.d.ts +3 -0
- package/dist/cjs/swappers/utils/helpers/helpers.js +52 -0
- package/dist/cjs/swappers/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/cjs/swappers/utils/helpers/helpers.test.js +10 -0
- package/dist/cjs/swappers/utils/test-data/assets.d.ts +17 -0
- package/dist/cjs/swappers/utils/test-data/assets.js +221 -0
- package/dist/cjs/swappers/utils/test-data/cryptoMarketDataById.d.ts +5 -0
- package/dist/cjs/swappers/utils/test-data/cryptoMarketDataById.js +18 -0
- package/dist/cjs/swappers/utils/test-data/fees.d.ts +2 -0
- package/dist/cjs/swappers/utils/test-data/fees.js +20 -0
- package/dist/cjs/swappers/utils/test-data/index.d.ts +2 -0
- package/dist/cjs/swappers/utils/test-data/index.js +18 -0
- package/dist/cjs/swappers/utils/test-data/setupSwapQuote.d.ts +8 -0
- package/dist/cjs/swappers/utils/test-data/setupSwapQuote.js +52 -0
- package/dist/cjs/thorchain-utils/checkTradeStatus.d.ts +8 -0
- package/dist/cjs/thorchain-utils/checkTradeStatus.js +75 -0
- package/dist/cjs/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.js +15 -0
- package/dist/cjs/thorchain-utils/cosmossdk/index.d.ts +1 -0
- package/dist/cjs/thorchain-utils/cosmossdk/index.js +17 -0
- package/dist/cjs/thorchain-utils/evm/getEvmData.d.ts +13 -0
- package/dist/cjs/thorchain-utils/evm/getEvmData.js +94 -0
- package/dist/cjs/thorchain-utils/evm/getEvmTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/evm/getEvmTransactionFees.js +23 -0
- package/dist/cjs/thorchain-utils/evm/getThorTxData.d.ts +18 -0
- package/dist/cjs/thorchain-utils/evm/getThorTxData.js +33 -0
- package/dist/cjs/thorchain-utils/evm/getUnsignedEvmTransaction.d.ts +4 -0
- package/dist/cjs/thorchain-utils/evm/getUnsignedEvmTransaction.js +23 -0
- package/dist/cjs/thorchain-utils/evm/index.d.ts +3 -0
- package/dist/cjs/thorchain-utils/evm/index.js +19 -0
- package/dist/cjs/thorchain-utils/getCallDataFromQuote.d.ts +9 -0
- package/dist/cjs/thorchain-utils/getCallDataFromQuote.js +54 -0
- package/dist/cjs/thorchain-utils/getInboundAddressDataForChain.d.ts +5 -0
- package/dist/cjs/thorchain-utils/getInboundAddressDataForChain.js +35 -0
- package/dist/cjs/thorchain-utils/getL1RateOrQuote.d.ts +6 -0
- package/dist/cjs/thorchain-utils/getL1RateOrQuote.js +302 -0
- package/dist/cjs/thorchain-utils/getLatestThorTxStatusMessage.d.ts +2 -0
- package/dist/cjs/thorchain-utils/getLatestThorTxStatusMessage.js +83 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.d.ts +5 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.js +14 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.js +16 -0
- package/dist/cjs/thorchain-utils/getPoolDetails.d.ts +20 -0
- package/dist/cjs/thorchain-utils/getPoolDetails.js +51 -0
- package/dist/cjs/thorchain-utils/getQuote.d.ts +21 -0
- package/dist/cjs/thorchain-utils/getQuote.js +70 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.d.ts +11 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.js +40 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.js +94 -0
- package/dist/cjs/thorchain-utils/index.d.ts +30 -0
- package/dist/cjs/thorchain-utils/index.js +171 -0
- package/dist/cjs/thorchain-utils/memo/addAggregatorAddressToMemo.d.ts +12 -0
- package/dist/cjs/thorchain-utils/memo/addAggregatorAddressToMemo.js +43 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetAddressToMemo.d.ts +15 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetAddressToMemo.js +48 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetLimitToMemo.d.ts +16 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetLimitToMemo.js +51 -0
- package/dist/cjs/thorchain-utils/memo/addLimitToMemo.d.ts +18 -0
- package/dist/cjs/thorchain-utils/memo/addLimitToMemo.js +59 -0
- package/dist/cjs/thorchain-utils/memo/assertAndProcessMemo.d.ts +4 -0
- package/dist/cjs/thorchain-utils/memo/assertAndProcessMemo.js +197 -0
- package/dist/cjs/thorchain-utils/memo/constants.d.ts +1 -0
- package/dist/{swappers/zrx/types.js → cjs/thorchain-utils/memo/constants.js} +2 -0
- package/dist/cjs/thorchain-utils/memo/index.d.ts +6 -0
- package/dist/cjs/thorchain-utils/memo/index.js +22 -0
- package/dist/cjs/thorchain-utils/memo/index.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/memo/index.test.js +892 -0
- package/dist/cjs/thorchain-utils/parseBuyTxHash.d.ts +2 -0
- package/dist/cjs/thorchain-utils/parseBuyTxHash.js +14 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCallData.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCallData.test.js +20 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCalldata.d.ts +8 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCalldata.js +14 -0
- package/dist/cjs/thorchain-utils/service.d.ts +5 -0
- package/dist/cjs/thorchain-utils/service.js +15 -0
- package/dist/cjs/thorchain-utils/types.d.ts +273 -0
- package/dist/cjs/thorchain-utils/types.js +26 -0
- package/dist/cjs/thorchain-utils/utxo/getThorTxData.d.ts +12 -0
- package/dist/cjs/thorchain-utils/utxo/getThorTxData.js +14 -0
- package/dist/cjs/thorchain-utils/utxo/getUnsignedUtxoTransaction.d.ts +4 -0
- package/dist/cjs/thorchain-utils/utxo/getUnsignedUtxoTransaction.js +34 -0
- package/dist/cjs/thorchain-utils/utxo/getUtxoTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/utxo/getUtxoTransactionFees.js +29 -0
- package/dist/cjs/thorchain-utils/utxo/index.d.ts +3 -0
- package/dist/cjs/thorchain-utils/utxo/index.js +19 -0
- package/dist/cjs/types.d.ts +516 -0
- package/dist/cjs/types.js +81 -0
- package/dist/cjs/utils.d.ts +62 -0
- package/dist/cjs/utils.js +205 -0
- package/dist/esm/.tsbuildinfo +1 -0
- package/dist/esm/constants.d.ts +8 -0
- package/dist/esm/constants.js +128 -0
- package/dist/esm/cowswap-utils/constants.d.ts +14 -0
- package/dist/esm/cowswap-utils/constants.js +31 -0
- package/dist/esm/cowswap-utils/index.d.ts +24 -0
- package/dist/esm/cowswap-utils/index.js +152 -0
- package/dist/esm/index.d.ts +18 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/safe-utils/constants.d.ts +2 -0
- package/dist/esm/safe-utils/constants.js +11 -0
- package/dist/esm/safe-utils/index.d.ts +3 -0
- package/dist/esm/safe-utils/index.js +45 -0
- package/dist/esm/safe-utils/types.d.ts +57 -0
- package/dist/esm/safe-utils/types.js +1 -0
- package/dist/esm/solana-utils/getSolanaTransactionFees.d.ts +2 -0
- package/dist/esm/solana-utils/getSolanaTransactionFees.js +18 -0
- package/dist/esm/solana-utils/getUnsignedSolanaTransaction.d.ts +3 -0
- package/dist/esm/solana-utils/getUnsignedSolanaTransaction.js +35 -0
- package/dist/esm/swapper.d.ts +3 -0
- package/dist/esm/swapper.js +51 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.d.ts +2 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.js +4 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/endpoints.d.ts +13 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/endpoints.js +234 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.d.ts +6 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +80 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +172 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.js +71 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/index.js +2 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/types.d.ts +13 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/types.js +7 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/constants.d.ts +6 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/constants.js +30 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.d.ts +35 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.js +143 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/helpers.d.ts +16 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/helpers.js +95 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/types.d.ts +3 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/types.js +5 -0
- package/dist/esm/swappers/BebopSwapper/BebopSwapper.d.ts +2 -0
- package/dist/esm/swappers/BebopSwapper/BebopSwapper.js +4 -0
- package/dist/esm/swappers/BebopSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/BebopSwapper/endpoints.js +55 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.d.ts +6 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +113 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.d.ts +6 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +88 -0
- package/dist/esm/swappers/BebopSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/BebopSwapper/index.js +2 -0
- package/dist/esm/swappers/BebopSwapper/types.d.ts +89 -0
- package/dist/esm/swappers/BebopSwapper/types.js +24 -0
- package/dist/esm/swappers/BebopSwapper/utils/bebopService.d.ts +9 -0
- package/dist/esm/swappers/BebopSwapper/utils/bebopService.js +24 -0
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +23 -0
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +88 -0
- package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -0
- package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.js +51 -0
- package/dist/esm/swappers/ButterSwap/ButterSwap.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/ButterSwap.js +8 -0
- package/dist/esm/swappers/ButterSwap/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/endpoints.js +69 -0
- package/dist/esm/swappers/ButterSwap/index.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/index.js +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.js +85 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.test.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.test.js +180 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +187 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +58 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.js +115 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.js +90 -0
- package/dist/esm/swappers/ButterSwap/test-data/eth-btc.json +461 -0
- package/dist/esm/swappers/ButterSwap/test-data/routeQuote.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/test-data/routeQuote.js +76 -0
- package/dist/esm/swappers/ButterSwap/types.d.ts +236 -0
- package/dist/esm/swappers/ButterSwap/types.js +1 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapHistoryService.d.ts +6 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapHistoryService.js +13 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapService.d.ts +6 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapService.js +13 -0
- package/dist/esm/swappers/ButterSwap/utils/constants.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/utils/constants.js +6 -0
- package/dist/esm/swappers/ButterSwap/utils/helpers.d.ts +3 -0
- package/dist/esm/swappers/ButterSwap/utils/helpers.js +22 -0
- package/dist/esm/swappers/ButterSwap/xhr.d.ts +50 -0
- package/dist/esm/swappers/ButterSwap/xhr.js +132 -0
- package/dist/esm/swappers/ChainflipSwapper/ChainflipSwapper.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/ChainflipSwapper.js +8 -0
- package/dist/esm/swappers/ChainflipSwapper/constants.d.ts +26 -0
- package/dist/esm/swappers/ChainflipSwapper/constants.js +52 -0
- package/dist/esm/swappers/ChainflipSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/endpoints.js +191 -0
- package/dist/esm/swappers/ChainflipSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/index.js +2 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.d.ts +130 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.js +67 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.d.ts +43 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.js +44 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.d.ts +157 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.js +79 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.d.ts +61 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.js +56 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.d.ts +103 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.js +54 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.d.ts +50 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.js +49 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.d.ts +98 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.js +56 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.d.ts +99 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.js +68 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.d.ts +79 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.js +52 -0
- package/dist/esm/swappers/ChainflipSwapper/models/index.d.ts +3 -0
- package/dist/esm/swappers/ChainflipSwapper/models/index.js +3 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +139 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeRate.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeRate.js +9 -0
- package/dist/esm/swappers/ChainflipSwapper/types.d.ts +15 -0
- package/dist/esm/swappers/ChainflipSwapper/types.js +7 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/chainflipService.d.ts +5 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/chainflipService.js +12 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getEvmTxFees.d.ts +8 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getEvmTxFees.js +11 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.js +24 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.d.ts +3 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +293 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getUtxoTxFees.d.ts +9 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getUtxoTxFees.js +21 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/helpers.d.ts +36 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/helpers.js +76 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.d.ts +2 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.js +24 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.test.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.test.js +178 -0
- package/dist/esm/swappers/CowSwapper/constants.d.ts +6 -0
- package/dist/esm/swappers/CowSwapper/constants.js +7 -0
- package/dist/esm/swappers/CowSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/CowSwapper/endpoints.js +145 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +124 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +520 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.d.ts +3 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +123 -0
- package/dist/esm/swappers/CowSwapper/index.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/index.js +1 -0
- package/dist/esm/swappers/CowSwapper/types.d.ts +18 -0
- package/dist/esm/swappers/CowSwapper/types.js +1 -0
- package/dist/esm/swappers/CowSwapper/utils/blacklist.d.ts +1 -0
- package/dist/{swappers/zrx → esm/swappers/CowSwapper}/utils/blacklist.js +4 -6
- package/dist/esm/swappers/CowSwapper/utils/cowService.d.ts +6 -0
- package/dist/esm/swappers/CowSwapper/utils/cowService.js +12 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.d.ts +44 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.js +78 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.test.js +58 -0
- package/dist/esm/swappers/JupiterSwapper/JupiterSwapper.d.ts +2 -0
- package/dist/esm/swappers/JupiterSwapper/JupiterSwapper.js +24 -0
- package/dist/esm/swappers/JupiterSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/JupiterSwapper/endpoints.js +12 -0
- package/dist/esm/swappers/JupiterSwapper/errorPatterns.d.ts +15 -0
- package/dist/esm/swappers/JupiterSwapper/errorPatterns.js +25 -0
- package/dist/esm/swappers/JupiterSwapper/idls/referral.d.ts +739 -0
- package/dist/esm/swappers/JupiterSwapper/idls/referral.js +738 -0
- package/dist/esm/swappers/JupiterSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/JupiterSwapper/index.js +2 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +187 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeRate.js +168 -0
- package/dist/esm/swappers/JupiterSwapper/utils/constants.d.ts +9 -0
- package/dist/esm/swappers/JupiterSwapper/utils/constants.js +11 -0
- package/dist/esm/swappers/JupiterSwapper/utils/helpers.d.ts +58 -0
- package/dist/esm/swappers/JupiterSwapper/utils/helpers.js +169 -0
- package/dist/esm/swappers/JupiterSwapper/utils/jupiterService.d.ts +5 -0
- package/dist/esm/swappers/JupiterSwapper/utils/jupiterService.js +12 -0
- package/dist/esm/swappers/MayachainSwapper/MayachainSwapper.d.ts +2 -0
- package/dist/esm/swappers/MayachainSwapper/MayachainSwapper.js +10 -0
- package/dist/esm/swappers/MayachainSwapper/constants.d.ts +6 -0
- package/dist/esm/swappers/MayachainSwapper/constants.js +10 -0
- package/dist/esm/swappers/MayachainSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/MayachainSwapper/endpoints.js +65 -0
- package/dist/esm/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +25 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeQuote.js +20 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeRate.js +20 -0
- package/dist/esm/swappers/MayachainSwapper/index.d.ts +4 -0
- package/dist/esm/swappers/MayachainSwapper/index.js +4 -0
- package/dist/esm/swappers/MayachainSwapper/utils/index.d.ts +7 -0
- package/dist/esm/swappers/MayachainSwapper/utils/index.js +36 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +6 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +54 -0
- package/dist/esm/swappers/PortalsSwapper/PortalsSwapper.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/PortalsSwapper.js +4 -0
- package/dist/esm/swappers/PortalsSwapper/constants.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/constants.js +11 -0
- package/dist/esm/swappers/PortalsSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/endpoints.js +50 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +5 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +204 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +5 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +142 -0
- package/dist/esm/swappers/PortalsSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/index.js +2 -0
- package/dist/esm/swappers/PortalsSwapper/types.d.ts +3 -0
- package/dist/esm/swappers/PortalsSwapper/types.js +12 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +76 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.js +59 -0
- package/dist/esm/swappers/PortalsSwapper/utils/helpers.d.ts +4 -0
- package/dist/esm/swappers/PortalsSwapper/utils/helpers.js +27 -0
- package/dist/esm/swappers/RelaySwapper/RelaySwapper.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/RelaySwapper.js +8 -0
- package/dist/esm/swappers/RelaySwapper/constant.d.ts +23 -0
- package/dist/esm/swappers/RelaySwapper/constant.js +70 -0
- package/dist/esm/swappers/RelaySwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/endpoints.js +188 -0
- package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +28 -0
- package/dist/esm/swappers/RelaySwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/RelaySwapper/getTradeRate/getTradeRate.js +16 -0
- package/dist/esm/swappers/RelaySwapper/index.d.ts +1 -0
- package/dist/esm/swappers/RelaySwapper/index.js +1 -0
- package/dist/esm/swappers/RelaySwapper/utils/fetchRelayTrade.d.ts +5 -0
- package/dist/esm/swappers/RelaySwapper/utils/fetchRelayTrade.js +4 -0
- package/dist/esm/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.js +18 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.d.ts +3 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.js +15 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.js +12 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayPsbtRelayer.d.ts +1 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayPsbtRelayer.js +20 -0
- package/dist/esm/swappers/RelaySwapper/utils/getTrade.d.ts +14 -0
- package/dist/esm/swappers/RelaySwapper/utils/getTrade.js +446 -0
- package/dist/esm/swappers/RelaySwapper/utils/notifyTransactionIndexing.d.ts +11 -0
- package/dist/esm/swappers/RelaySwapper/utils/notifyTransactionIndexing.js +4 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayService.d.ts +5 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayService.js +12 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAsset.d.ts +6 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAsset.js +12 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.d.ts +3 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +93 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +157 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.js +34 -0
- package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.js +10 -0
- package/dist/esm/swappers/ThorchainSwapper/constants.d.ts +7 -0
- package/dist/esm/swappers/ThorchainSwapper/constants.js +11 -0
- package/dist/esm/swappers/ThorchainSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/endpoints.js +78 -0
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +4618 -0
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +45 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.js +61 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +208 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeRate/getTradeRate.js +61 -0
- package/dist/esm/swappers/ThorchainSwapper/index.d.ts +7 -0
- package/dist/esm/swappers/ThorchainSwapper/index.js +7 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.d.ts +14 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +64 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +116 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/constants.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/constants.js +5 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getBestAggregator.d.ts +6 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getBestAggregator.js +29 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +119 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +107 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.js +66 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailRate.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailRate.js +66 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.d.ts +5 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.js +48 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.js +97 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +23 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +36 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/longTailHelpers.d.ts +48 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/longTailHelpers.js +136 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +6 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +54 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/responses.d.ts +7 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/responses.js +198 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.js +34 -0
- package/dist/esm/swappers/ZrxSwapper/ZrxSwapper.d.ts +2 -0
- package/dist/esm/swappers/ZrxSwapper/ZrxSwapper.js +4 -0
- package/dist/esm/swappers/ZrxSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ZrxSwapper/endpoints.js +72 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.d.ts +6 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +112 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +134 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.d.ts +4 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +68 -0
- package/dist/esm/swappers/ZrxSwapper/types.d.ts +76 -0
- package/dist/esm/swappers/ZrxSwapper/types.js +10 -0
- package/dist/esm/swappers/ZrxSwapper/utils/constants.d.ts +4 -0
- package/dist/esm/swappers/ZrxSwapper/utils/constants.js +23 -0
- package/dist/esm/swappers/ZrxSwapper/utils/fetchFromZrx.d.ts +25 -0
- package/dist/esm/swappers/ZrxSwapper/utils/fetchFromZrx.js +49 -0
- package/dist/esm/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +34 -0
- package/dist/esm/swappers/ZrxSwapper/utils/helpers/helpers.js +135 -0
- package/dist/esm/swappers/ZrxSwapper/utils/zrxService.d.ts +9 -0
- package/dist/esm/swappers/ZrxSwapper/utils/zrxService.js +12 -0
- package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.d.ts +4 -0
- package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +21 -0
- package/dist/esm/swappers/utils/helpers/helpers.d.ts +3 -0
- package/dist/esm/swappers/utils/helpers/helpers.js +47 -0
- package/dist/esm/swappers/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/esm/swappers/utils/helpers/helpers.test.js +8 -0
- package/dist/esm/swappers/utils/test-data/assets.d.ts +17 -0
- package/dist/esm/swappers/utils/test-data/assets.js +218 -0
- package/dist/esm/swappers/utils/test-data/cryptoMarketDataById.d.ts +5 -0
- package/dist/esm/swappers/utils/test-data/cryptoMarketDataById.js +15 -0
- package/dist/esm/swappers/utils/test-data/fees.d.ts +2 -0
- package/dist/esm/swappers/utils/test-data/fees.js +17 -0
- package/dist/esm/swappers/utils/test-data/index.d.ts +2 -0
- package/dist/esm/swappers/utils/test-data/index.js +2 -0
- package/dist/esm/swappers/utils/test-data/setupSwapQuote.d.ts +8 -0
- package/dist/esm/swappers/utils/test-data/setupSwapQuote.js +48 -0
- package/dist/esm/thorchain-utils/checkTradeStatus.d.ts +8 -0
- package/dist/esm/thorchain-utils/checkTradeStatus.js +68 -0
- package/dist/esm/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.js +11 -0
- package/dist/esm/thorchain-utils/cosmossdk/index.d.ts +1 -0
- package/dist/esm/thorchain-utils/cosmossdk/index.js +1 -0
- package/dist/esm/thorchain-utils/evm/getEvmData.d.ts +13 -0
- package/dist/esm/thorchain-utils/evm/getEvmData.js +87 -0
- package/dist/esm/thorchain-utils/evm/getEvmTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/evm/getEvmTransactionFees.js +19 -0
- package/dist/esm/thorchain-utils/evm/getThorTxData.d.ts +18 -0
- package/dist/esm/thorchain-utils/evm/getThorTxData.js +29 -0
- package/dist/esm/thorchain-utils/evm/getUnsignedEvmTransaction.d.ts +4 -0
- package/dist/esm/thorchain-utils/evm/getUnsignedEvmTransaction.js +19 -0
- package/dist/esm/thorchain-utils/evm/index.d.ts +3 -0
- package/dist/esm/thorchain-utils/evm/index.js +3 -0
- package/dist/esm/thorchain-utils/getCallDataFromQuote.d.ts +9 -0
- package/dist/esm/thorchain-utils/getCallDataFromQuote.js +50 -0
- package/dist/esm/thorchain-utils/getInboundAddressDataForChain.d.ts +5 -0
- package/dist/esm/thorchain-utils/getInboundAddressDataForChain.js +31 -0
- package/dist/esm/thorchain-utils/getL1RateOrQuote.d.ts +6 -0
- package/dist/esm/thorchain-utils/getL1RateOrQuote.js +275 -0
- package/dist/esm/thorchain-utils/getLatestThorTxStatusMessage.d.ts +2 -0
- package/dist/esm/thorchain-utils/getLatestThorTxStatusMessage.js +76 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.d.ts +5 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.js +7 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.js +14 -0
- package/dist/esm/thorchain-utils/getPoolDetails.d.ts +20 -0
- package/dist/esm/thorchain-utils/getPoolDetails.js +47 -0
- package/dist/esm/thorchain-utils/getQuote.d.ts +21 -0
- package/dist/esm/thorchain-utils/getQuote.js +63 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.d.ts +11 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.js +34 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.js +92 -0
- package/dist/esm/thorchain-utils/index.d.ts +30 -0
- package/dist/esm/thorchain-utils/index.js +131 -0
- package/dist/esm/thorchain-utils/memo/addAggregatorAddressToMemo.d.ts +12 -0
- package/dist/esm/thorchain-utils/memo/addAggregatorAddressToMemo.js +39 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetAddressToMemo.d.ts +15 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetAddressToMemo.js +44 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetLimitToMemo.d.ts +16 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetLimitToMemo.js +47 -0
- package/dist/esm/thorchain-utils/memo/addLimitToMemo.d.ts +18 -0
- package/dist/esm/thorchain-utils/memo/addLimitToMemo.js +55 -0
- package/dist/esm/thorchain-utils/memo/assertAndProcessMemo.d.ts +4 -0
- package/dist/esm/thorchain-utils/memo/assertAndProcessMemo.js +193 -0
- package/dist/esm/thorchain-utils/memo/constants.d.ts +1 -0
- package/dist/esm/thorchain-utils/memo/constants.js +1 -0
- package/dist/esm/thorchain-utils/memo/index.d.ts +6 -0
- package/dist/esm/thorchain-utils/memo/index.js +6 -0
- package/dist/esm/thorchain-utils/memo/index.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/memo/index.test.js +890 -0
- package/dist/esm/thorchain-utils/parseBuyTxHash.d.ts +2 -0
- package/dist/esm/thorchain-utils/parseBuyTxHash.js +10 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCallData.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCallData.test.js +18 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCalldata.d.ts +8 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCalldata.js +10 -0
- package/dist/esm/thorchain-utils/service.d.ts +5 -0
- package/dist/esm/thorchain-utils/service.js +12 -0
- package/dist/esm/thorchain-utils/types.d.ts +273 -0
- package/dist/esm/thorchain-utils/types.js +23 -0
- package/dist/esm/thorchain-utils/utxo/getThorTxData.d.ts +12 -0
- package/dist/esm/thorchain-utils/utxo/getThorTxData.js +10 -0
- package/dist/esm/thorchain-utils/utxo/getUnsignedUtxoTransaction.d.ts +4 -0
- package/dist/esm/thorchain-utils/utxo/getUnsignedUtxoTransaction.js +30 -0
- package/dist/esm/thorchain-utils/utxo/getUtxoTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/utxo/getUtxoTransactionFees.js +25 -0
- package/dist/esm/thorchain-utils/utxo/index.d.ts +3 -0
- package/dist/esm/thorchain-utils/utxo/index.js +3 -0
- package/dist/esm/types.d.ts +516 -0
- package/dist/esm/types.js +78 -0
- package/dist/esm/utils.d.ts +62 -0
- package/dist/esm/utils.js +183 -0
- package/package.json +25 -39
- package/README.md +0 -72
- package/dist/adapters.d.ts +0 -2
- package/dist/adapters.js +0 -94
- package/dist/api.d.ts +0 -279
- package/dist/api.js +0 -57
- package/dist/index.d.ts +0 -3
- package/dist/manager/SwapperManager.d.ts +0 -41
- package/dist/manager/SwapperManager.js +0 -110
- package/dist/manager/index.d.ts +0 -1
- package/dist/manager/testData.d.ts +0 -12
- package/dist/manager/testData.js +0 -108
- package/dist/manager/utils.d.ts +0 -4
- package/dist/manager/utils.js +0 -40
- package/dist/swappercli.js +0 -194
- package/dist/swappers/cow/CowSwapper.d.ts +0 -30
- package/dist/swappers/cow/CowSwapper.js +0 -81
- package/dist/swappers/cow/cowApprovalNeeded/cowApprovalNeeded.d.ts +0 -4
- package/dist/swappers/cow/cowApprovalNeeded/cowApprovalNeeded.js +0 -43
- package/dist/swappers/cow/cowApprove/cowApprove.d.ts +0 -5
- package/dist/swappers/cow/cowApprove/cowApprove.js +0 -56
- package/dist/swappers/cow/cowBuildTrade/cowBuildTrade.d.ts +0 -5
- package/dist/swappers/cow/cowBuildTrade/cowBuildTrade.js +0 -124
- package/dist/swappers/cow/cowExecuteTrade/cowExecuteTrade.d.ts +0 -4
- package/dist/swappers/cow/cowExecuteTrade/cowExecuteTrade.js +0 -98
- package/dist/swappers/cow/cowGetTradeTxs/cowGetTradeTxs.d.ts +0 -3
- package/dist/swappers/cow/cowGetTradeTxs/cowGetTradeTxs.js +0 -31
- package/dist/swappers/cow/getCowSwapMinMax/getCowSwapMinMax.d.ts +0 -4
- package/dist/swappers/cow/getCowSwapMinMax/getCowSwapMinMax.js +0 -31
- package/dist/swappers/cow/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +0 -4
- package/dist/swappers/cow/getCowSwapTradeQuote/getCowSwapTradeQuote.js +0 -144
- package/dist/swappers/cow/types.d.ts +0 -29
- package/dist/swappers/cow/utils/constants.d.ts +0 -19
- package/dist/swappers/cow/utils/constants.js +0 -22
- package/dist/swappers/cow/utils/cowService.d.ts +0 -1
- package/dist/swappers/cow/utils/cowService.js +0 -20
- package/dist/swappers/cow/utils/helpers/helpers.d.ts +0 -57
- package/dist/swappers/cow/utils/helpers/helpers.js +0 -124
- package/dist/swappers/cow/utils.d.ts +0 -4
- package/dist/swappers/cow/utils.js +0 -5
- package/dist/swappers/index.d.ts +0 -7
- package/dist/swappers/index.js +0 -26
- package/dist/swappers/osmosis/OsmosisSwapper.d.ts +0 -28
- package/dist/swappers/osmosis/OsmosisSwapper.js +0 -256
- package/dist/swappers/osmosis/utils/constants.d.ts +0 -9
- package/dist/swappers/osmosis/utils/constants.js +0 -9
- package/dist/swappers/osmosis/utils/helpers.d.ts +0 -44
- package/dist/swappers/osmosis/utils/helpers.js +0 -277
- package/dist/swappers/osmosis/utils/osmoService.d.ts +0 -1
- package/dist/swappers/osmosis/utils/osmoService.js +0 -20
- package/dist/swappers/osmosis/utils/types.d.ts +0 -27
- package/dist/swappers/test/TestSwapper.d.ts +0 -24
- package/dist/swappers/test/TestSwapper.js +0 -61
- package/dist/swappers/thorchain/ThorchainSwapper.d.ts +0 -38
- package/dist/swappers/thorchain/ThorchainSwapper.js +0 -209
- package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.d.ts +0 -9
- package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.js +0 -116
- package/dist/swappers/thorchain/constants.d.ts +0 -1
- package/dist/swappers/thorchain/constants.js +0 -6
- package/dist/swappers/thorchain/cosmossdk/getCosmosTxData.d.ts +0 -22
- package/dist/swappers/thorchain/cosmossdk/getCosmosTxData.js +0 -70
- package/dist/swappers/thorchain/evm/makeTradeTx.d.ts +0 -30
- package/dist/swappers/thorchain/evm/makeTradeTx.js +0 -42
- package/dist/swappers/thorchain/evm/routerAbi.d.ts +0 -2
- package/dist/swappers/thorchain/evm/routerAbi.js +0 -153
- package/dist/swappers/thorchain/evm/routerCalldata.d.ts +0 -1
- package/dist/swappers/thorchain/evm/routerCalldata.js +0 -15
- package/dist/swappers/thorchain/evm/utils/getThorTxData.d.ts +0 -18
- package/dist/swappers/thorchain/evm/utils/getThorTxData.js +0 -44
- package/dist/swappers/thorchain/getThorTradeQuote/getSlippage.d.ts +0 -23
- package/dist/swappers/thorchain/getThorTradeQuote/getSlippage.js +0 -69
- package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.d.ts +0 -11
- package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.js +0 -146
- package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.d.ts +0 -7
- package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.js +0 -62
- package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.d.ts +0 -7
- package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.js +0 -52
- package/dist/swappers/thorchain/types.d.ts +0 -72
- package/dist/swappers/thorchain/utils/constants.d.ts +0 -7
- package/dist/swappers/thorchain/utils/constants.js +0 -10
- package/dist/swappers/thorchain/utils/getInboundAddressDataForChain.d.ts +0 -3
- package/dist/swappers/thorchain/utils/getInboundAddressDataForChain.js +0 -15
- package/dist/swappers/thorchain/utils/getLimit/getLimit.d.ts +0 -11
- package/dist/swappers/thorchain/utils/getLimit/getLimit.js +0 -73
- package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.d.ts +0 -6
- package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.js +0 -75
- package/dist/swappers/thorchain/utils/getTradeRate/getTradeRate.d.ts +0 -6
- package/dist/swappers/thorchain/utils/getTradeRate/getTradeRate.js +0 -84
- package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.d.ts +0 -2
- package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.js +0 -79
- package/dist/swappers/thorchain/utils/isRune/isRune.d.ts +0 -2
- package/dist/swappers/thorchain/utils/isRune/isRune.js +0 -6
- package/dist/swappers/thorchain/utils/makeSwapMemo/assertIsValidMemo.d.ts +0 -3
- package/dist/swappers/thorchain/utils/makeSwapMemo/assertIsValidMemo.js +0 -69
- package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.d.ts +0 -20
- package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.js +0 -68
- package/dist/swappers/thorchain/utils/test-data/setupThorswapDeps.d.ts +0 -2
- package/dist/swappers/thorchain/utils/test-data/setupThorswapDeps.js +0 -50
- package/dist/swappers/thorchain/utils/thorService.d.ts +0 -1
- package/dist/swappers/thorchain/utils/thorService.js +0 -25
- package/dist/swappers/thorchain/utils/txFeeHelpers/evmTxFees/getEvmTxFees.d.ts +0 -11
- package/dist/swappers/thorchain/utils/txFeeHelpers/evmTxFees/getEvmTxFees.js +0 -46
- package/dist/swappers/thorchain/utils/txFeeHelpers/utxoTxFees/getUtxoTxFees.d.ts +0 -14
- package/dist/swappers/thorchain/utils/txFeeHelpers/utxoTxFees/getUtxoTxFees.js +0 -44
- package/dist/swappers/thorchain/utxo/utils/getThorTxData.d.ts +0 -20
- package/dist/swappers/thorchain/utxo/utils/getThorTxData.js +0 -42
- package/dist/swappers/utils/abi/erc20-abi.d.ts +0 -2
- package/dist/swappers/utils/abi/erc20-abi.js +0 -225
- package/dist/swappers/utils/abi/erc20Allowance-abi.d.ts +0 -2
- package/dist/swappers/utils/abi/erc20Allowance-abi.js +0 -28
- package/dist/swappers/utils/bignumber.d.ts +0 -6
- package/dist/swappers/utils/bignumber.js +0 -27
- package/dist/swappers/utils/constants.d.ts +0 -3
- package/dist/swappers/utils/constants.js +0 -6
- package/dist/swappers/utils/helpers/helpers.d.ts +0 -47
- package/dist/swappers/utils/helpers/helpers.js +0 -123
- package/dist/swappers/utils/test-data/assets.d.ts +0 -12
- package/dist/swappers/utils/test-data/assets.js +0 -140
- package/dist/swappers/utils/test-data/setupDeps.d.ts +0 -7
- package/dist/swappers/utils/test-data/setupDeps.js +0 -52
- package/dist/swappers/utils/test-data/setupSwapQuote.d.ts +0 -28
- package/dist/swappers/utils/test-data/setupSwapQuote.js +0 -54
- package/dist/swappers/zrx/ZrxSwapper.d.ts +0 -25
- package/dist/swappers/zrx/ZrxSwapper.js +0 -73
- package/dist/swappers/zrx/getZrxMinMax/getZrxMinMax.d.ts +0 -3
- package/dist/swappers/zrx/getZrxMinMax/getZrxMinMax.js +0 -30
- package/dist/swappers/zrx/getZrxTradeQuote/getZrxTradeQuote.d.ts +0 -3
- package/dist/swappers/zrx/getZrxTradeQuote/getZrxTradeQuote.js +0 -86
- package/dist/swappers/zrx/types.d.ts +0 -32
- package/dist/swappers/zrx/utils/applyAxiosRetry.d.ts +0 -3
- package/dist/swappers/zrx/utils/applyAxiosRetry.js +0 -13
- package/dist/swappers/zrx/utils/blacklist.d.ts +0 -1
- package/dist/swappers/zrx/utils/constants.d.ts +0 -5
- package/dist/swappers/zrx/utils/constants.js +0 -8
- package/dist/swappers/zrx/utils/helpers/helpers.d.ts +0 -7
- package/dist/swappers/zrx/utils/helpers/helpers.js +0 -96
- package/dist/swappers/zrx/utils/test-data/setupZrxSwapQuote.d.ts +0 -35
- package/dist/swappers/zrx/utils/test-data/setupZrxSwapQuote.js +0 -51
- package/dist/swappers/zrx/utils/zrxService.d.ts +0 -2
- package/dist/swappers/zrx/zrxApprovalNeeded/zrxApprovalNeeded.d.ts +0 -4
- package/dist/swappers/zrx/zrxApprovalNeeded/zrxApprovalNeeded.js +0 -58
- package/dist/swappers/zrx/zrxApprove/zrxApprove.d.ts +0 -5
- package/dist/swappers/zrx/zrxApprove/zrxApprove.js +0 -61
- package/dist/swappers/zrx/zrxBuildTrade/zrxBuildTrade.d.ts +0 -4
- package/dist/swappers/zrx/zrxBuildTrade/zrxBuildTrade.js +0 -135
- package/dist/swappers/zrx/zrxExecuteTrade/zrxExecuteTrade.d.ts +0 -4
- package/dist/swappers/zrx/zrxExecuteTrade/zrxExecuteTrade.js +0 -54
- package/dist/typeGuards.d.ts +0 -2
- package/dist/typeGuards.js +0 -7
- package/dist/utils.d.ts +0 -3
- package/dist/utils.js +0 -24
- /package/dist/{swappers/cow → cjs/safe-utils}/types.js +0 -0
- /package/dist/{swappercli.d.ts → cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.d.ts} +0 -0
- /package/dist/{swappers/osmosis/utils → cjs/swappers/ButterSwap}/types.js +0 -0
- /package/dist/{swappers/thorchain → cjs/swappers/CowSwapper}/types.js +0 -0
- /package/dist/{swappers/cow → cjs/swappers/CowSwapper}/utils/blacklist.d.ts +0 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { CHAIN_NAMESPACE, fromAssetId } from '@shapeshiftoss/caip';
|
|
2
|
+
import * as adapters from '@shapeshiftoss/chain-adapters';
|
|
3
|
+
import { assertUnreachable, bn, bnOrZero, convertDecimalPercentageToBasisPoints, convertPrecision, fromBaseUnit, isFulfilled, isRejected, toBaseUnit, } from '@shapeshiftoss/utils';
|
|
4
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
5
|
+
import { v4 as uuid } from 'uuid';
|
|
6
|
+
import { getDefaultSlippageDecimalPercentageForSwapper } from '../index.js';
|
|
7
|
+
import { TradeQuoteError } from '../types.js';
|
|
8
|
+
import { getInputOutputRate, makeSwapErrorRight } from '../utils.js';
|
|
9
|
+
import * as evm from './evm/index.js';
|
|
10
|
+
import { getLimitWithManualSlippage } from './getLimitWithManualSlippage/getLimitWithManualSlippage.js';
|
|
11
|
+
import { getQuote } from './getQuote.js';
|
|
12
|
+
import { addLimitToMemo, assertAndProcessMemo, getAffiliate, getNativePrecision, getSwapSource, } from './index.js';
|
|
13
|
+
import * as utxo from './utxo/index.js';
|
|
14
|
+
const SAFE_GAS_LIMIT = '100000'; // depositWithExpiry()
|
|
15
|
+
export const getL1RateOrQuote = async (input, deps, streamingInterval, tradeType, swapperName) => {
|
|
16
|
+
const { sellAsset, buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, accountNumber, receiveAddress, affiliateBps: requestedAffiliateBps, } = input;
|
|
17
|
+
const { config, assertGetEvmChainAdapter, assertGetUtxoChainAdapter, assertGetCosmosSdkChainAdapter, } = deps;
|
|
18
|
+
// "NativePrecision" is intended to indicate the base unit precision of the asset
|
|
19
|
+
// for the corresponding swapper network (THORChain or MAYAChain)
|
|
20
|
+
// (CACAO = 10, everything else = 8)
|
|
21
|
+
const sellAssetNativePrecision = getNativePrecision(sellAsset.assetId, swapperName);
|
|
22
|
+
const buyAssetNativePrecision = getNativePrecision(buyAsset.assetId, swapperName);
|
|
23
|
+
const { chainNamespace } = fromAssetId(sellAsset.assetId);
|
|
24
|
+
const slippageTolerancePercentageDecimal = input.slippageTolerancePercentageDecimal ??
|
|
25
|
+
getDefaultSlippageDecimalPercentageForSwapper(swapperName);
|
|
26
|
+
const inputSlippageBps = convertDecimalPercentageToBasisPoints(slippageTolerancePercentageDecimal);
|
|
27
|
+
const baseQuoteArgs = {
|
|
28
|
+
sellAsset,
|
|
29
|
+
buyAssetId: buyAsset.assetId,
|
|
30
|
+
sellAmountCryptoBaseUnit,
|
|
31
|
+
receiveAddress,
|
|
32
|
+
affiliateBps: requestedAffiliateBps,
|
|
33
|
+
swapperName,
|
|
34
|
+
};
|
|
35
|
+
const maybeSwapQuote = await getQuote({ ...baseQuoteArgs, streaming: false }, deps);
|
|
36
|
+
if (maybeSwapQuote.isErr())
|
|
37
|
+
return Err(maybeSwapQuote.unwrapErr());
|
|
38
|
+
const swapQuote = maybeSwapQuote.unwrap();
|
|
39
|
+
const maybeStreamingSwapQuote = await getQuote({ ...baseQuoteArgs, streaming: true, streamingInterval }, deps);
|
|
40
|
+
if (maybeStreamingSwapQuote?.isErr())
|
|
41
|
+
return Err(maybeStreamingSwapQuote.unwrapErr());
|
|
42
|
+
const streamingSwapQuote = maybeStreamingSwapQuote?.unwrap();
|
|
43
|
+
// recommended_min_amount_in should be the same value for both types of swaps
|
|
44
|
+
const recommendedMinimumCryptoBaseUnit = swapQuote.recommended_min_amount_in
|
|
45
|
+
? convertPrecision({
|
|
46
|
+
value: swapQuote.recommended_min_amount_in,
|
|
47
|
+
inputExponent: sellAssetNativePrecision,
|
|
48
|
+
outputExponent: sellAsset.precision,
|
|
49
|
+
}).toFixed()
|
|
50
|
+
: '0';
|
|
51
|
+
const getRouteValues = (quote, isStreaming) => {
|
|
52
|
+
const source = getSwapSource(tradeType, isStreaming, swapperName);
|
|
53
|
+
return {
|
|
54
|
+
source,
|
|
55
|
+
quote,
|
|
56
|
+
expectedAmountOutThorBaseUnit: bnOrZero(quote.expected_amount_out).toFixed(),
|
|
57
|
+
isStreaming,
|
|
58
|
+
affiliateBps: quote.fees.affiliate === '0' ? '0' : requestedAffiliateBps,
|
|
59
|
+
// always use auto stream slippage limit (0 limit = 5bps - 50bps, sometimes up to 100bps)
|
|
60
|
+
// see: https://discord.com/channels/838986635756044328/1166265575941619742/1166500062101250100
|
|
61
|
+
slippageBps: isStreaming ? bn(0) : inputSlippageBps,
|
|
62
|
+
estimatedExecutionTimeMs: quote.total_swap_seconds
|
|
63
|
+
? 1000 * quote.total_swap_seconds
|
|
64
|
+
: undefined,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
const perRouteValues = [getRouteValues(swapQuote, false)];
|
|
68
|
+
if (streamingSwapQuote) {
|
|
69
|
+
perRouteValues.push(getRouteValues(streamingSwapQuote, true));
|
|
70
|
+
}
|
|
71
|
+
const getRouteBuyAmountBeforeFeesCryptoBaseUnit = (quote) => {
|
|
72
|
+
const buyAmountBeforeFeesCryptoThorPrecision = bn(quote.expected_amount_out).plus(quote.fees.total);
|
|
73
|
+
return toBaseUnit(fromBaseUnit(buyAmountBeforeFeesCryptoThorPrecision, buyAssetNativePrecision), buyAsset.precision);
|
|
74
|
+
};
|
|
75
|
+
const getProtocolFees = (quote) => {
|
|
76
|
+
// Fees consist of liquidity, outbound, and affiliate fees
|
|
77
|
+
// For the purpose of displaying protocol fees to the user, we don't need the latter
|
|
78
|
+
// The reason for that is the affiliate fee is shown as its own "ShapeShift fee" section
|
|
79
|
+
// Including the affiliate fee here would result in the protocol fee being wrong, as affiliate fees would be
|
|
80
|
+
// double accounted for both in protocol fees, and affiliate fee
|
|
81
|
+
const buyAssetTradeFeeBuyAssetCryptoThorPrecision = bnOrZero(quote.fees.total).minus(quote.fees.affiliate);
|
|
82
|
+
const buyAssetTradeFeeBuyAssetCryptoBaseUnit = convertPrecision({
|
|
83
|
+
value: buyAssetTradeFeeBuyAssetCryptoThorPrecision,
|
|
84
|
+
inputExponent: buyAssetNativePrecision,
|
|
85
|
+
outputExponent: buyAsset.precision,
|
|
86
|
+
});
|
|
87
|
+
const protocolFees = {};
|
|
88
|
+
if (!buyAssetTradeFeeBuyAssetCryptoBaseUnit.isZero()) {
|
|
89
|
+
protocolFees[buyAsset.assetId] = {
|
|
90
|
+
amountCryptoBaseUnit: buyAssetTradeFeeBuyAssetCryptoBaseUnit.toString(),
|
|
91
|
+
requiresBalance: false,
|
|
92
|
+
asset: buyAsset,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return protocolFees;
|
|
96
|
+
};
|
|
97
|
+
const getMemo = (route) => {
|
|
98
|
+
if (input.quoteOrRate === 'rate')
|
|
99
|
+
return '';
|
|
100
|
+
if (!route.quote.memo)
|
|
101
|
+
throw new Error('no memo provided');
|
|
102
|
+
// always use auto stream quote memo (0 limit = 5bps - 50bps, sometimes up to 100bps)
|
|
103
|
+
// see: https://discord.com/channels/838986635756044328/1166265575941619742/1166500062101250100
|
|
104
|
+
if (route.isStreaming)
|
|
105
|
+
return assertAndProcessMemo(route.quote.memo, getAffiliate(swapperName));
|
|
106
|
+
const limitWithManualSlippage = getLimitWithManualSlippage({
|
|
107
|
+
expectedAmountOutThorBaseUnit: route.expectedAmountOutThorBaseUnit,
|
|
108
|
+
slippageBps: route.slippageBps,
|
|
109
|
+
});
|
|
110
|
+
return addLimitToMemo({
|
|
111
|
+
memo: route.quote.memo,
|
|
112
|
+
limit: limitWithManualSlippage,
|
|
113
|
+
affilate: getAffiliate(swapperName),
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
const makeThorTradeRateOrQuote = ({ route, memo, allowanceContract, feeData, data, router, vault, }) => {
|
|
117
|
+
const buyAmountAfterFeesCryptoBaseUnit = convertPrecision({
|
|
118
|
+
value: route.expectedAmountOutThorBaseUnit,
|
|
119
|
+
inputExponent: buyAssetNativePrecision,
|
|
120
|
+
outputExponent: buyAsset.precision,
|
|
121
|
+
}).toFixed();
|
|
122
|
+
const rate = getInputOutputRate({
|
|
123
|
+
sellAmountCryptoBaseUnit,
|
|
124
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
125
|
+
sellAsset,
|
|
126
|
+
buyAsset,
|
|
127
|
+
});
|
|
128
|
+
const slippage = route.isStreaming ? undefined : slippageTolerancePercentageDecimal;
|
|
129
|
+
const buyAmountBeforeFeesCryptoBaseUnit = getRouteBuyAmountBeforeFeesCryptoBaseUnit(route.quote);
|
|
130
|
+
return {
|
|
131
|
+
id: uuid(),
|
|
132
|
+
quoteOrRate: input.quoteOrRate,
|
|
133
|
+
memo,
|
|
134
|
+
receiveAddress,
|
|
135
|
+
affiliateBps: route.affiliateBps,
|
|
136
|
+
isStreaming: route.isStreaming,
|
|
137
|
+
recommendedMinimumCryptoBaseUnit,
|
|
138
|
+
slippageTolerancePercentageDecimal: slippage,
|
|
139
|
+
rate,
|
|
140
|
+
data,
|
|
141
|
+
router,
|
|
142
|
+
vault,
|
|
143
|
+
expiry: route.quote.expiry,
|
|
144
|
+
tradeType,
|
|
145
|
+
swapperName,
|
|
146
|
+
steps: [
|
|
147
|
+
{
|
|
148
|
+
estimatedExecutionTimeMs: route.estimatedExecutionTimeMs,
|
|
149
|
+
rate,
|
|
150
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit,
|
|
151
|
+
buyAmountBeforeFeesCryptoBaseUnit,
|
|
152
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
153
|
+
source: route.source,
|
|
154
|
+
buyAsset,
|
|
155
|
+
sellAsset,
|
|
156
|
+
accountNumber,
|
|
157
|
+
allowanceContract,
|
|
158
|
+
feeData,
|
|
159
|
+
thorchainSpecific: {
|
|
160
|
+
maxStreamingQuantity: route.quote.max_streaming_quantity,
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
switch (chainNamespace) {
|
|
167
|
+
case CHAIN_NAMESPACE.Evm: {
|
|
168
|
+
const { supportsEIP1559 } = input;
|
|
169
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
170
|
+
const maybeRoutes = await Promise.allSettled(perRouteValues.map(async (route) => {
|
|
171
|
+
const memo = getMemo(route);
|
|
172
|
+
const { data, router, vault } = await evm.getThorTxData({
|
|
173
|
+
sellAsset,
|
|
174
|
+
sellAmountCryptoBaseUnit,
|
|
175
|
+
memo,
|
|
176
|
+
expiry: route.quote.expiry,
|
|
177
|
+
config,
|
|
178
|
+
swapperName,
|
|
179
|
+
});
|
|
180
|
+
const { average } = await adapter.getGasFeeData();
|
|
181
|
+
const networkFeeCryptoBaseUnit = adapters.evm.calcNetworkFeeCryptoBaseUnit({
|
|
182
|
+
...average,
|
|
183
|
+
supportsEIP1559,
|
|
184
|
+
gasLimit: SAFE_GAS_LIMIT,
|
|
185
|
+
});
|
|
186
|
+
return makeThorTradeRateOrQuote({
|
|
187
|
+
route,
|
|
188
|
+
memo,
|
|
189
|
+
allowanceContract: router,
|
|
190
|
+
data,
|
|
191
|
+
router,
|
|
192
|
+
vault,
|
|
193
|
+
feeData: {
|
|
194
|
+
protocolFees: getProtocolFees(route.quote),
|
|
195
|
+
networkFeeCryptoBaseUnit,
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
}));
|
|
199
|
+
const routes = maybeRoutes.filter(isFulfilled).map(maybeRoute => maybeRoute.value);
|
|
200
|
+
if (!routes.length)
|
|
201
|
+
return Err(makeSwapErrorRight({
|
|
202
|
+
message: 'Unable to create any routes',
|
|
203
|
+
code: TradeQuoteError.UnsupportedTradePair,
|
|
204
|
+
cause: maybeRoutes.filter(isRejected).map(maybeRoute => maybeRoute.reason),
|
|
205
|
+
}));
|
|
206
|
+
return Ok(routes);
|
|
207
|
+
}
|
|
208
|
+
case CHAIN_NAMESPACE.Utxo: {
|
|
209
|
+
const { xpub = '' } = input;
|
|
210
|
+
const sellAdapter = assertGetUtxoChainAdapter(sellAsset.chainId);
|
|
211
|
+
const maybeRoutes = await Promise.allSettled(perRouteValues.map(async (route) => {
|
|
212
|
+
const memo = getMemo(route);
|
|
213
|
+
const { vault } = await utxo.getThorTxData({ sellAsset, config, swapperName });
|
|
214
|
+
const feeData = await (async () => {
|
|
215
|
+
const protocolFees = getProtocolFees(route.quote);
|
|
216
|
+
// This is a rate without a wallet connected, so we can't get fees
|
|
217
|
+
if (!xpub)
|
|
218
|
+
return { networkFeeCryptoBaseUnit: undefined, protocolFees };
|
|
219
|
+
const { fast } = await sellAdapter.getFeeData({
|
|
220
|
+
to: vault,
|
|
221
|
+
value: sellAmountCryptoBaseUnit,
|
|
222
|
+
chainSpecific: { pubkey: xpub, opReturnData: memo },
|
|
223
|
+
});
|
|
224
|
+
return {
|
|
225
|
+
networkFeeCryptoBaseUnit: fast.txFee,
|
|
226
|
+
protocolFees,
|
|
227
|
+
chainSpecific: {
|
|
228
|
+
satsPerByte: fast.chainSpecific.satoshiPerByte,
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
})();
|
|
232
|
+
return makeThorTradeRateOrQuote({
|
|
233
|
+
route,
|
|
234
|
+
allowanceContract: '0x0',
|
|
235
|
+
memo,
|
|
236
|
+
feeData,
|
|
237
|
+
});
|
|
238
|
+
}));
|
|
239
|
+
const routes = maybeRoutes.filter(isFulfilled).map(maybeRoute => maybeRoute.value);
|
|
240
|
+
if (!routes.length)
|
|
241
|
+
return Err(makeSwapErrorRight({
|
|
242
|
+
message: 'Unable to create any routes',
|
|
243
|
+
code: TradeQuoteError.UnsupportedTradePair,
|
|
244
|
+
cause: maybeRoutes.filter(isRejected).map(maybeRoute => maybeRoute.reason),
|
|
245
|
+
}));
|
|
246
|
+
return Ok(routes);
|
|
247
|
+
}
|
|
248
|
+
case CHAIN_NAMESPACE.CosmosSdk: {
|
|
249
|
+
const cosmosChainAdapter = assertGetCosmosSdkChainAdapter(sellAsset.chainId);
|
|
250
|
+
const { fast } = await cosmosChainAdapter.getFeeData({});
|
|
251
|
+
return Ok(perRouteValues.map((route) => {
|
|
252
|
+
return makeThorTradeRateOrQuote({
|
|
253
|
+
route,
|
|
254
|
+
memo: getMemo(route),
|
|
255
|
+
allowanceContract: '0x0',
|
|
256
|
+
feeData: {
|
|
257
|
+
networkFeeCryptoBaseUnit: fast.txFee,
|
|
258
|
+
protocolFees: getProtocolFees(route.quote),
|
|
259
|
+
chainSpecific: {
|
|
260
|
+
estimatedGasCryptoBaseUnit: fast.chainSpecific.gasLimit,
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
});
|
|
264
|
+
}));
|
|
265
|
+
}
|
|
266
|
+
case CHAIN_NAMESPACE.Solana: {
|
|
267
|
+
return Err(makeSwapErrorRight({
|
|
268
|
+
message: 'Solana is not supported',
|
|
269
|
+
code: TradeQuoteError.UnsupportedTradePair,
|
|
270
|
+
}));
|
|
271
|
+
}
|
|
272
|
+
default:
|
|
273
|
+
return assertUnreachable(chainNamespace);
|
|
274
|
+
}
|
|
275
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { assertUnreachable } from '@shapeshiftoss/utils';
|
|
2
|
+
import prettyMilliseconds from 'pretty-ms';
|
|
3
|
+
import { ThorchainStatusMessage } from './types.js';
|
|
4
|
+
export const getLatestThorTxStatusMessage = (response, hasOutboundTx) => {
|
|
5
|
+
const stages_reverse_ordered = [
|
|
6
|
+
'outbound_signed',
|
|
7
|
+
'outbound_delay',
|
|
8
|
+
'swap_finalised',
|
|
9
|
+
'swap_status',
|
|
10
|
+
'inbound_finalised',
|
|
11
|
+
'inbound_confirmation_counted',
|
|
12
|
+
'inbound_observed',
|
|
13
|
+
];
|
|
14
|
+
for (const key of stages_reverse_ordered) {
|
|
15
|
+
switch (key) {
|
|
16
|
+
case 'inbound_observed': {
|
|
17
|
+
const obj = response.stages[key];
|
|
18
|
+
return obj.completed
|
|
19
|
+
? ThorchainStatusMessage.InboundObserved
|
|
20
|
+
: ThorchainStatusMessage.InboundObservingPending;
|
|
21
|
+
}
|
|
22
|
+
case 'inbound_confirmation_counted': {
|
|
23
|
+
const obj = response.stages[key];
|
|
24
|
+
if (obj === undefined)
|
|
25
|
+
continue;
|
|
26
|
+
return obj.completed
|
|
27
|
+
? ThorchainStatusMessage.InboundConfirmationCounted
|
|
28
|
+
: ThorchainStatusMessage.InboundConfirmationPending;
|
|
29
|
+
}
|
|
30
|
+
case 'inbound_finalised': {
|
|
31
|
+
const obj = response.stages[key];
|
|
32
|
+
if (obj === undefined)
|
|
33
|
+
continue;
|
|
34
|
+
return obj.completed
|
|
35
|
+
? ThorchainStatusMessage.InboundFinalized
|
|
36
|
+
: ThorchainStatusMessage.InboundFinalizationPending;
|
|
37
|
+
}
|
|
38
|
+
case 'swap_status': {
|
|
39
|
+
const swapStatusStage = response.stages[key];
|
|
40
|
+
const inboundFinalizedStage = response.stages.inbound_finalised;
|
|
41
|
+
if (swapStatusStage === undefined || inboundFinalizedStage === undefined)
|
|
42
|
+
continue;
|
|
43
|
+
if (!inboundFinalizedStage.completed)
|
|
44
|
+
continue;
|
|
45
|
+
if (swapStatusStage.pending)
|
|
46
|
+
return ThorchainStatusMessage.SwapPending;
|
|
47
|
+
return hasOutboundTx
|
|
48
|
+
? ThorchainStatusMessage.SwapCompleteAwaitingOutbound
|
|
49
|
+
: ThorchainStatusMessage.SwapCompleteAwaitingDestination;
|
|
50
|
+
}
|
|
51
|
+
case 'swap_finalised': {
|
|
52
|
+
// to be deprecated in favor of swap_status (see https://thornode.ninerealms.com/thorchain/doc/)
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
case 'outbound_delay': {
|
|
56
|
+
const obj = response.stages[key];
|
|
57
|
+
if (obj === undefined || obj.completed)
|
|
58
|
+
continue;
|
|
59
|
+
return obj.remaining_delay_seconds
|
|
60
|
+
? // poor man's i18n
|
|
61
|
+
ThorchainStatusMessage.OutboundDelayTimeRemaining.replace('{timeRemaining}', prettyMilliseconds(obj.remaining_delay_seconds * 100))
|
|
62
|
+
: ThorchainStatusMessage.OutboundDelayPending;
|
|
63
|
+
}
|
|
64
|
+
case 'outbound_signed': {
|
|
65
|
+
const obj = response.stages[key];
|
|
66
|
+
if (obj === undefined)
|
|
67
|
+
continue;
|
|
68
|
+
return obj.completed
|
|
69
|
+
? ThorchainStatusMessage.OutboundSigned
|
|
70
|
+
: ThorchainStatusMessage.OutboundScheduled;
|
|
71
|
+
}
|
|
72
|
+
default:
|
|
73
|
+
return assertUnreachable(key);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { bn } from '@shapeshiftoss/chain-adapters';
|
|
2
|
+
import { subtractBasisPointAmount } from '@shapeshiftoss/utils';
|
|
3
|
+
import BigNumber from 'bignumber.js';
|
|
4
|
+
export const getLimitWithManualSlippage = ({ expectedAmountOutThorBaseUnit, slippageBps, }) => {
|
|
5
|
+
const limitWithManualSlippage = subtractBasisPointAmount(bn(expectedAmountOutThorBaseUnit).toFixed(0, BigNumber.ROUND_DOWN), slippageBps, BigNumber.ROUND_DOWN);
|
|
6
|
+
return limitWithManualSlippage;
|
|
7
|
+
};
|
package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { getLimitWithManualSlippage } from './getLimitWithManualSlippage.js';
|
|
3
|
+
describe('getLimitWithManualSlippage', () => {
|
|
4
|
+
it('should remove slippage from expected amount out', () => {
|
|
5
|
+
const amountOut = '100';
|
|
6
|
+
const expectedLimitWithManualSlippage = '50';
|
|
7
|
+
const slippageBps = 5000; // 50%
|
|
8
|
+
const limitWithManualSlippage = getLimitWithManualSlippage({
|
|
9
|
+
expectedAmountOutThorBaseUnit: amountOut,
|
|
10
|
+
slippageBps,
|
|
11
|
+
});
|
|
12
|
+
expect(limitWithManualSlippage).toBe(expectedLimitWithManualSlippage);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Asset } from '@shapeshiftoss/types';
|
|
2
|
+
import type { Result } from '@sniptt/monads';
|
|
3
|
+
import type { SwapErrorRight } from '../types.js';
|
|
4
|
+
import { SwapperName } from '../types.js';
|
|
5
|
+
import type { ThornodePoolResponse } from './types.js';
|
|
6
|
+
type GetPoolDetailsArgs = {
|
|
7
|
+
buyAsset: Asset;
|
|
8
|
+
sellAsset: Asset;
|
|
9
|
+
url: string;
|
|
10
|
+
swapperName: SwapperName;
|
|
11
|
+
};
|
|
12
|
+
type PoolDetails = {
|
|
13
|
+
buyPool?: ThornodePoolResponse;
|
|
14
|
+
buyPoolId?: string;
|
|
15
|
+
sellPool?: ThornodePoolResponse;
|
|
16
|
+
sellPoolId?: string;
|
|
17
|
+
streamingInterval: number;
|
|
18
|
+
};
|
|
19
|
+
export declare const getPoolDetails: (args: GetPoolDetailsArgs) => Promise<Result<PoolDetails, SwapErrorRight>>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { bn } from '@shapeshiftoss/utils';
|
|
2
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
3
|
+
import { SwapperName } from '../types.js';
|
|
4
|
+
import { getPoolAssetId, isNativeAsset } from './index.js';
|
|
5
|
+
import { thorService } from './service.js';
|
|
6
|
+
export const getPoolDetails = async (args) => {
|
|
7
|
+
const { buyAsset, sellAsset, url, swapperName } = args;
|
|
8
|
+
const res = await thorService.get(url);
|
|
9
|
+
if (res.isErr())
|
|
10
|
+
return Err(res.unwrapErr());
|
|
11
|
+
const { data: poolsResponse } = res.unwrap();
|
|
12
|
+
const buyPoolId = getPoolAssetId({ assetId: buyAsset.assetId, swapperName });
|
|
13
|
+
const sellPoolId = getPoolAssetId({ assetId: sellAsset.assetId, swapperName });
|
|
14
|
+
const sellPool = poolsResponse.find(pool => pool.asset === sellPoolId);
|
|
15
|
+
const buyPool = poolsResponse.find(pool => pool.asset === buyPoolId);
|
|
16
|
+
const streamingInterval = (() => {
|
|
17
|
+
// https://discord.com/channels/915368890475880468/1105576530354118706/1270235165062594560
|
|
18
|
+
if (swapperName === SwapperName.Mayachain)
|
|
19
|
+
return 3;
|
|
20
|
+
const sellAssetDepthBps = (() => {
|
|
21
|
+
// Sell pool is the same as buy pool if selling native fee asset
|
|
22
|
+
if (isNativeAsset(sellAsset.assetId, swapperName))
|
|
23
|
+
return buyPool?.derived_depth_bps;
|
|
24
|
+
return sellPool?.derived_depth_bps;
|
|
25
|
+
})();
|
|
26
|
+
const buyAssetDepthBps = (() => {
|
|
27
|
+
// Buy pool is the same as sell pool if buying native fee asset
|
|
28
|
+
if (isNativeAsset(buyAsset.assetId, swapperName))
|
|
29
|
+
return sellPool?.derived_depth_bps;
|
|
30
|
+
return buyPool?.derived_depth_bps;
|
|
31
|
+
})();
|
|
32
|
+
if (sellAssetDepthBps && buyAssetDepthBps) {
|
|
33
|
+
const swapDepthBps = bn(sellAssetDepthBps).plus(buyAssetDepthBps).div(2);
|
|
34
|
+
// Low health for the pools of this swap - use a longer streaming interval
|
|
35
|
+
if (swapDepthBps.lt(5000))
|
|
36
|
+
return 10;
|
|
37
|
+
// Moderate health for the pools of this swap - use a moderate streaming interval
|
|
38
|
+
if (swapDepthBps.lt(9000) && swapDepthBps.gte(5000))
|
|
39
|
+
return 5;
|
|
40
|
+
// Pool is at 90%+ health - use a 1 block streaming interval
|
|
41
|
+
return 1;
|
|
42
|
+
}
|
|
43
|
+
// Default streaming interval if derived depth bps are not available
|
|
44
|
+
return 10;
|
|
45
|
+
})();
|
|
46
|
+
return Ok({ buyPoolId, buyPool, sellPoolId, sellPool, streamingInterval });
|
|
47
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AssetId } from '@shapeshiftoss/caip';
|
|
2
|
+
import type { Asset } from '@shapeshiftoss/types';
|
|
3
|
+
import type { Result } from '@sniptt/monads';
|
|
4
|
+
import type { SwapErrorRight, SwapperDeps, SwapperName } from '../types.js';
|
|
5
|
+
import type { ThornodeQuoteResponseSuccess } from './types.js';
|
|
6
|
+
type GetQuoteArgs = {
|
|
7
|
+
sellAsset: Asset;
|
|
8
|
+
buyAssetId: AssetId;
|
|
9
|
+
sellAmountCryptoBaseUnit: string;
|
|
10
|
+
receiveAddress: string | undefined;
|
|
11
|
+
affiliateBps: string;
|
|
12
|
+
swapperName: SwapperName;
|
|
13
|
+
} & ({
|
|
14
|
+
streaming: true;
|
|
15
|
+
streamingInterval: number;
|
|
16
|
+
} | {
|
|
17
|
+
streaming?: false;
|
|
18
|
+
streamingInterval?: never;
|
|
19
|
+
});
|
|
20
|
+
export declare const getQuote: (input: GetQuoteArgs, deps: SwapperDeps) => Promise<Result<ThornodeQuoteResponseSuccess, SwapErrorRight>>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { bchAssetId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { bn, fromBaseUnit, toBaseUnit } from '@shapeshiftoss/utils';
|
|
3
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
4
|
+
import qs from 'qs';
|
|
5
|
+
import { TradeQuoteError } from '../types.js';
|
|
6
|
+
import { createTradeAmountTooSmallErr, makeSwapErrorRight } from '../utils.js';
|
|
7
|
+
import { getThresholdedAffiliateBps } from './getThresholdedAffiliateBps/getThresholdedAffiliateBps.js';
|
|
8
|
+
import { getAffiliate, getDaemonUrl, getNativePrecision, getPoolAssetId } from './index.js';
|
|
9
|
+
import { thorService } from './service.js';
|
|
10
|
+
export const getQuote = async (input, deps) => {
|
|
11
|
+
const { buyAssetId, receiveAddress, sellAsset, sellAmountCryptoBaseUnit, streaming, streamingInterval, affiliateBps, swapperName, } = input;
|
|
12
|
+
// don't apply an affiliate fee if it's below the outbound fee for the inbound pool
|
|
13
|
+
const thresholdedAffiliateBps = await getThresholdedAffiliateBps({
|
|
14
|
+
sellAsset,
|
|
15
|
+
sellAmountCryptoBaseUnit,
|
|
16
|
+
affiliateBps,
|
|
17
|
+
config: deps.config,
|
|
18
|
+
swapperName,
|
|
19
|
+
});
|
|
20
|
+
const buyPoolId = getPoolAssetId({ assetId: buyAssetId, swapperName });
|
|
21
|
+
const sellPoolId = getPoolAssetId({ assetId: sellAsset.assetId, swapperName });
|
|
22
|
+
const sellAmountCryptoPrecision = fromBaseUnit(sellAmountCryptoBaseUnit, sellAsset.precision);
|
|
23
|
+
// All pool amounts are native precision regardless of token precision
|
|
24
|
+
const sellAmountCryptoThorBaseUnit = bn(toBaseUnit(sellAmountCryptoPrecision, getNativePrecision(sellAsset.assetId, swapperName)));
|
|
25
|
+
// The swap endpoint expects BCH receiveAddress's to be stripped of the "bitcoincash:" prefix
|
|
26
|
+
const parsedReceiveAddress = receiveAddress && buyAssetId === bchAssetId
|
|
27
|
+
? receiveAddress.replace('bitcoincash:', '')
|
|
28
|
+
: receiveAddress;
|
|
29
|
+
const queryString = qs.stringify({
|
|
30
|
+
amount: sellAmountCryptoThorBaseUnit.toString(),
|
|
31
|
+
from_asset: sellPoolId,
|
|
32
|
+
to_asset: buyPoolId,
|
|
33
|
+
destination: parsedReceiveAddress,
|
|
34
|
+
affiliate_bps: thresholdedAffiliateBps,
|
|
35
|
+
affiliate: getAffiliate(swapperName),
|
|
36
|
+
...(streaming && { streaming_interval: streamingInterval }),
|
|
37
|
+
});
|
|
38
|
+
const daemonUrl = getDaemonUrl(deps.config, swapperName);
|
|
39
|
+
const res = await thorService.get(`${daemonUrl}/quote/swap?${queryString}`);
|
|
40
|
+
if (res.isErr())
|
|
41
|
+
return Err(res.unwrapErr());
|
|
42
|
+
const { data } = res.unwrap();
|
|
43
|
+
const isError = 'error' in data;
|
|
44
|
+
const notEnoughFeeError = isError && /not enough fee/i.test(data.error);
|
|
45
|
+
const notEnoughToPayTxFeeError = isError && /not enough to pay transaction fee/i.test(data.error);
|
|
46
|
+
const tradingIsHaltedError = isError && /trading is halted/.test(data.error);
|
|
47
|
+
if (notEnoughFeeError || notEnoughToPayTxFeeError)
|
|
48
|
+
return Err(createTradeAmountTooSmallErr());
|
|
49
|
+
if (tradingIsHaltedError) {
|
|
50
|
+
return Err(makeSwapErrorRight({
|
|
51
|
+
message: `[getQuote]: Trading is halted, cannot process swap`,
|
|
52
|
+
code: TradeQuoteError.TradingHalted,
|
|
53
|
+
details: { sellAssetId: sellAsset.assetId, buyAssetId },
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
if (isError) {
|
|
57
|
+
return Err(makeSwapErrorRight({
|
|
58
|
+
message: data.error,
|
|
59
|
+
code: TradeQuoteError.UnknownError,
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
return Ok(data);
|
|
63
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Asset } from '@shapeshiftoss/types';
|
|
2
|
+
import type { SwapperConfig, SwapperName } from '../../types.js';
|
|
3
|
+
export declare const getOutboundFeeInSellAssetThorBaseUnit: (runePerAsset: string, swapperName: SwapperName) => BigNumber;
|
|
4
|
+
export declare const getExpectedAffiliateFeeSellAssetThorUnit: (sellAmountCryptoBaseUnit: string, sellAsset: Asset, affiliateBps: string, swapperName: SwapperName) => BigNumber;
|
|
5
|
+
export declare const getThresholdedAffiliateBps: ({ sellAsset, affiliateBps, sellAmountCryptoBaseUnit, config, swapperName, }: {
|
|
6
|
+
sellAsset: Asset;
|
|
7
|
+
affiliateBps: string;
|
|
8
|
+
sellAmountCryptoBaseUnit: string;
|
|
9
|
+
config: SwapperConfig;
|
|
10
|
+
swapperName: SwapperName;
|
|
11
|
+
}) => Promise<string>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { bn, convertBasisPointsToDecimalPercentage, convertPrecision } from '@shapeshiftoss/utils';
|
|
2
|
+
import { getMidgardUrl, getNativeFee, getNativePrecision, getPoolAssetId, isNativeAsset, thorService, } from '../index.js';
|
|
3
|
+
export const getOutboundFeeInSellAssetThorBaseUnit = (runePerAsset, swapperName) => {
|
|
4
|
+
return bn(getNativeFee(swapperName)).dividedBy(runePerAsset);
|
|
5
|
+
};
|
|
6
|
+
export const getExpectedAffiliateFeeSellAssetThorUnit = (sellAmountCryptoBaseUnit, sellAsset, affiliateBps, swapperName) => {
|
|
7
|
+
const sellAmountThorUnit = convertPrecision({
|
|
8
|
+
value: sellAmountCryptoBaseUnit,
|
|
9
|
+
inputExponent: sellAsset.precision,
|
|
10
|
+
outputExponent: getNativePrecision(sellAsset.assetId, swapperName),
|
|
11
|
+
});
|
|
12
|
+
const affiliatePercent = convertBasisPointsToDecimalPercentage(affiliateBps);
|
|
13
|
+
return sellAmountThorUnit.times(affiliatePercent);
|
|
14
|
+
};
|
|
15
|
+
// don't apply an affiliate fee if it's below the outbound fee for the inbound pool
|
|
16
|
+
export const getThresholdedAffiliateBps = async ({ sellAsset, affiliateBps, sellAmountCryptoBaseUnit, config, swapperName, }) => {
|
|
17
|
+
const midgardUrl = getMidgardUrl(config, swapperName);
|
|
18
|
+
const outboundFeeSellAssetThorUnit = await (async () => {
|
|
19
|
+
if (isNativeAsset(sellAsset.assetId, swapperName))
|
|
20
|
+
return getNativeFee(swapperName);
|
|
21
|
+
const sellPoolId = getPoolAssetId({ assetId: sellAsset.assetId, swapperName });
|
|
22
|
+
// get pool data for the sell asset
|
|
23
|
+
const res = await thorService.get(`${midgardUrl}/pool/${sellPoolId}`);
|
|
24
|
+
if (res.isErr())
|
|
25
|
+
throw res.unwrapErr();
|
|
26
|
+
const pool = res.unwrap().data;
|
|
27
|
+
// calculate the rune outbound fee denominated in the sell asset, in native units
|
|
28
|
+
return getOutboundFeeInSellAssetThorBaseUnit(pool.assetPrice, swapperName);
|
|
29
|
+
})();
|
|
30
|
+
// calculate the expected affiliate fee, in native units
|
|
31
|
+
const expectedAffiliateFeeSellAssetThorUnit = getExpectedAffiliateFeeSellAssetThorUnit(sellAmountCryptoBaseUnit, sellAsset, affiliateBps, swapperName);
|
|
32
|
+
const isAffiliateFeeBelowOutboundFee = expectedAffiliateFeeSellAssetThorUnit.lte(outboundFeeSellAssetThorUnit);
|
|
33
|
+
return isAffiliateFeeBelowOutboundFee ? '0' : affiliateBps;
|
|
34
|
+
};
|
package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|