@shapeshiftoss/swapper 17.6.3 → 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 -145
- 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,142 @@
|
|
|
1
|
+
import { fromAssetId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { evm } from '@shapeshiftoss/chain-adapters';
|
|
3
|
+
import { bn, bnOrZero } from '@shapeshiftoss/utils';
|
|
4
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
5
|
+
import { v4 as uuid } from 'uuid';
|
|
6
|
+
import { zeroAddress } from 'viem';
|
|
7
|
+
import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../index.js';
|
|
8
|
+
import { SwapperName, TradeQuoteError } from '../../../types.js';
|
|
9
|
+
import { getInputOutputRate, makeSwapErrorRight } from '../../../utils.js';
|
|
10
|
+
import { isNativeEvmAsset } from '../../utils/helpers/helpers.js';
|
|
11
|
+
import { chainIdToPortalsNetwork } from '../constants.js';
|
|
12
|
+
import { fetchPortalsTradeEstimate } from '../utils/fetchPortalsTradeOrder.js';
|
|
13
|
+
import { getPortalsRouterAddressByChainId, isSupportedChainId } from '../utils/helpers.js';
|
|
14
|
+
export async function getPortalsTradeRate(input, assertGetEvmChainAdapter, swapperConfig) {
|
|
15
|
+
const { sellAsset, buyAsset, accountNumber, affiliateBps, chainId, sellAmountIncludingProtocolFeesCryptoBaseUnit, receiveAddress, } = input;
|
|
16
|
+
const adapter = assertGetEvmChainAdapter(chainId);
|
|
17
|
+
const sellAssetChainId = sellAsset.chainId;
|
|
18
|
+
const buyAssetChainId = buyAsset.chainId;
|
|
19
|
+
if (!isSupportedChainId(sellAssetChainId)) {
|
|
20
|
+
return Err(makeSwapErrorRight({
|
|
21
|
+
message: `unsupported chainId`,
|
|
22
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
23
|
+
details: { chainId: sellAsset.chainId },
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
if (!isSupportedChainId(buyAssetChainId)) {
|
|
27
|
+
return Err(makeSwapErrorRight({
|
|
28
|
+
message: `unsupported chainId`,
|
|
29
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
30
|
+
details: { chainId: sellAsset.chainId },
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
if (sellAssetChainId !== buyAssetChainId) {
|
|
34
|
+
return Err(makeSwapErrorRight({
|
|
35
|
+
message: `cross-chain not supported - both assets must be on chainId ${sellAsset.chainId}`,
|
|
36
|
+
code: TradeQuoteError.CrossChainNotSupported,
|
|
37
|
+
details: { buyAsset, sellAsset },
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
if (!isSupportedChainId(chainId))
|
|
42
|
+
throw new Error(`Unsupported chainId ${sellAsset.chainId}`);
|
|
43
|
+
const portalsNetwork = chainIdToPortalsNetwork[chainId];
|
|
44
|
+
if (!portalsNetwork) {
|
|
45
|
+
return Err(makeSwapErrorRight({
|
|
46
|
+
message: `unsupported ChainId`,
|
|
47
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
48
|
+
details: { chainId: input.chainId },
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
const sellAssetAddress = isNativeEvmAsset(sellAsset.assetId)
|
|
52
|
+
? zeroAddress
|
|
53
|
+
: fromAssetId(sellAsset.assetId).assetReference;
|
|
54
|
+
const buyAssetAddress = isNativeEvmAsset(buyAsset.assetId)
|
|
55
|
+
? zeroAddress
|
|
56
|
+
: fromAssetId(buyAsset.assetId).assetReference;
|
|
57
|
+
const inputToken = `${portalsNetwork}:${sellAssetAddress}`;
|
|
58
|
+
const outputToken = `${portalsNetwork}:${buyAssetAddress}`;
|
|
59
|
+
const userSlippageTolerancePercentageDecimalOrDefault = input.slippageTolerancePercentageDecimal
|
|
60
|
+
? bnOrZero(input.slippageTolerancePercentageDecimal).times(100).toNumber()
|
|
61
|
+
: bnOrZero(getDefaultSlippageDecimalPercentageForSwapper(SwapperName.Portals))
|
|
62
|
+
.times(100)
|
|
63
|
+
.toNumber();
|
|
64
|
+
const quoteEstimateResponse = await fetchPortalsTradeEstimate({
|
|
65
|
+
inputToken,
|
|
66
|
+
outputToken,
|
|
67
|
+
inputAmount: sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
68
|
+
slippageTolerancePercentage: userSlippageTolerancePercentageDecimalOrDefault,
|
|
69
|
+
swapperConfig,
|
|
70
|
+
});
|
|
71
|
+
// Estimate has no protocol fees, so after-fees = expected output amount
|
|
72
|
+
const buyAmountAfterFeesCryptoBaseUnit = quoteEstimateResponse.outputAmount;
|
|
73
|
+
// Use the quote estimate endpoint to get a quote without a wallet
|
|
74
|
+
const inputOutputRate = getInputOutputRate({
|
|
75
|
+
sellAmountCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
76
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
77
|
+
sellAsset,
|
|
78
|
+
buyAsset,
|
|
79
|
+
});
|
|
80
|
+
const allowanceContract = getPortalsRouterAddressByChainId(chainId);
|
|
81
|
+
// Don't use Portals' slippageTolerancePercentage field (it's a price indicator, not actual buffer)
|
|
82
|
+
// Instead, calculate the actual buffer Portals applied from the amounts
|
|
83
|
+
const actualBufferDecimal = bnOrZero(quoteEstimateResponse.outputAmount)
|
|
84
|
+
.minus(quoteEstimateResponse.minOutputAmount)
|
|
85
|
+
.div(quoteEstimateResponse.outputAmount)
|
|
86
|
+
.toString();
|
|
87
|
+
// Reverse the buffer to recover the expected output (minOutput / (1 - buffer) = output)
|
|
88
|
+
const buyAmountBeforeSlippageCryptoBaseUnit = bnOrZero(quoteEstimateResponse.minOutputAmount)
|
|
89
|
+
.div(bn(1).minus(actualBufferDecimal))
|
|
90
|
+
.toFixed(0);
|
|
91
|
+
const slippageTolerancePercentageDecimal = actualBufferDecimal;
|
|
92
|
+
const gasLimit = quoteEstimateResponse.context.gasLimit;
|
|
93
|
+
const { average } = await adapter.getGasFeeData();
|
|
94
|
+
const networkFeeCryptoBaseUnit = evm.calcNetworkFeeCryptoBaseUnit({
|
|
95
|
+
...average,
|
|
96
|
+
supportsEIP1559: Boolean(input.supportsEIP1559),
|
|
97
|
+
gasLimit: gasLimit.toString(),
|
|
98
|
+
});
|
|
99
|
+
const tradeRate = {
|
|
100
|
+
id: uuid(),
|
|
101
|
+
quoteOrRate: 'rate',
|
|
102
|
+
accountNumber,
|
|
103
|
+
receiveAddress,
|
|
104
|
+
affiliateBps,
|
|
105
|
+
rate: inputOutputRate,
|
|
106
|
+
slippageTolerancePercentageDecimal,
|
|
107
|
+
swapperName: SwapperName.Portals,
|
|
108
|
+
steps: [
|
|
109
|
+
{
|
|
110
|
+
// Assume instant execution since this is a same-chain AMM Tx which will happen within the same block
|
|
111
|
+
estimatedExecutionTimeMs: 0,
|
|
112
|
+
allowanceContract,
|
|
113
|
+
accountNumber,
|
|
114
|
+
rate: inputOutputRate,
|
|
115
|
+
buyAsset,
|
|
116
|
+
sellAsset,
|
|
117
|
+
// Before slippage on the right vs. before fees on the left is not a mistake.
|
|
118
|
+
// Portals will yield different `outputAmount` (expected out) on estimate vs. quote and is an upstream bug, so we can't use that
|
|
119
|
+
// To circumvent that and not mislead users into very optimistic expected out in rate (not taking slippage into account) but pessimistic in rate in the end,
|
|
120
|
+
// we simply add the slippage back to the min out, which yields values very close to the actual quote amounts (with a small upside on the quote, so users actually get a better quote
|
|
121
|
+
// than what they've seen as a rate, which is much better than a *huge* downside on the quote)
|
|
122
|
+
buyAmountBeforeFeesCryptoBaseUnit: buyAmountBeforeSlippageCryptoBaseUnit,
|
|
123
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
124
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
125
|
+
feeData: {
|
|
126
|
+
networkFeeCryptoBaseUnit,
|
|
127
|
+
protocolFees: undefined, // We don't have protocol fees on Portals during the estimate step
|
|
128
|
+
},
|
|
129
|
+
source: SwapperName.Portals,
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
};
|
|
133
|
+
return Ok(tradeRate);
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
return Err(makeSwapErrorRight({
|
|
137
|
+
message: 'failed to get Portals quote',
|
|
138
|
+
cause: err,
|
|
139
|
+
code: TradeQuoteError.NetworkFeeEstimationFailed,
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KnownChainIds } from '@shapeshiftoss/types';
|
|
2
|
+
// https://api.portals.fi/v1/networks
|
|
3
|
+
export const PortalsSupportedChainIds = [
|
|
4
|
+
KnownChainIds.EthereumMainnet,
|
|
5
|
+
KnownChainIds.ArbitrumMainnet,
|
|
6
|
+
KnownChainIds.AvalancheMainnet,
|
|
7
|
+
KnownChainIds.PolygonMainnet,
|
|
8
|
+
KnownChainIds.BnbSmartChainMainnet,
|
|
9
|
+
KnownChainIds.OptimismMainnet,
|
|
10
|
+
KnownChainIds.GnosisMainnet,
|
|
11
|
+
KnownChainIds.BaseMainnet,
|
|
12
|
+
];
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
import type { SwapperConfig } from '../../../types.js';
|
|
3
|
+
type PortalsTradeOrderParams = {
|
|
4
|
+
sender: string;
|
|
5
|
+
inputToken: string;
|
|
6
|
+
inputAmount: string;
|
|
7
|
+
outputToken: string;
|
|
8
|
+
partner: string;
|
|
9
|
+
feePercentage?: number;
|
|
10
|
+
validate: boolean;
|
|
11
|
+
swapperConfig: SwapperConfig;
|
|
12
|
+
} & ({
|
|
13
|
+
slippageTolerancePercentage: number;
|
|
14
|
+
autoSlippage?: never;
|
|
15
|
+
} | {
|
|
16
|
+
slippageTolerancePercentage?: never;
|
|
17
|
+
autoSlippage: true;
|
|
18
|
+
});
|
|
19
|
+
type PortalsTradeOrderEstimateParams = Omit<PortalsTradeOrderParams, 'partner' | 'validate' | 'sender'>;
|
|
20
|
+
type PortalsTradeOrderResponse = {
|
|
21
|
+
context: {
|
|
22
|
+
orderId: string;
|
|
23
|
+
inputToken: string;
|
|
24
|
+
inputAmount: string;
|
|
25
|
+
inputAmountUsd: number;
|
|
26
|
+
outputToken: string;
|
|
27
|
+
outputAmount: string;
|
|
28
|
+
outputAmountUsd: number;
|
|
29
|
+
minOutputAmount: string;
|
|
30
|
+
minOutputAmountUsd: number;
|
|
31
|
+
slippageTolerancePercentage: number;
|
|
32
|
+
target: string;
|
|
33
|
+
partner: string;
|
|
34
|
+
sender: string;
|
|
35
|
+
recipient: string;
|
|
36
|
+
value: string;
|
|
37
|
+
route: string[];
|
|
38
|
+
routeHash: string;
|
|
39
|
+
steps: string[];
|
|
40
|
+
gasLimit?: string;
|
|
41
|
+
feeToken?: string;
|
|
42
|
+
feeAmount?: string;
|
|
43
|
+
feeAmountUsd?: number;
|
|
44
|
+
};
|
|
45
|
+
tx?: {
|
|
46
|
+
to: Address;
|
|
47
|
+
from: Address;
|
|
48
|
+
data: string;
|
|
49
|
+
value: string;
|
|
50
|
+
gasLimit: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
type PortalsTradeOrderEstimateResponse = {
|
|
54
|
+
outputAmount: string;
|
|
55
|
+
minOutputAmount: string;
|
|
56
|
+
outputToken: string;
|
|
57
|
+
outputTokenDecimals: number;
|
|
58
|
+
context: {
|
|
59
|
+
slippageTolerancePercentage: number;
|
|
60
|
+
inputAmount: string;
|
|
61
|
+
inputAmountUsd: number;
|
|
62
|
+
inputToken: string;
|
|
63
|
+
outputToken: string;
|
|
64
|
+
outputAmount: string;
|
|
65
|
+
outputAmountUsd: number;
|
|
66
|
+
minOutputAmountUsd: number;
|
|
67
|
+
gasLimit: number;
|
|
68
|
+
sender?: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export declare class PortalsError extends Error {
|
|
72
|
+
constructor(message: string);
|
|
73
|
+
}
|
|
74
|
+
export declare const fetchPortalsTradeOrder: ({ sender, inputToken, inputAmount, outputToken, slippageTolerancePercentage, autoSlippage, partner, feePercentage, validate, swapperConfig, }: PortalsTradeOrderParams) => Promise<PortalsTradeOrderResponse>;
|
|
75
|
+
export declare const fetchPortalsTradeEstimate: ({ inputToken, inputAmount, outputToken, slippageTolerancePercentage, swapperConfig, }: PortalsTradeOrderEstimateParams) => Promise<PortalsTradeOrderEstimateResponse>;
|
|
76
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
export class PortalsError extends Error {
|
|
3
|
+
constructor(message) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = 'PortalsError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export const fetchPortalsTradeOrder = async ({ sender, inputToken, inputAmount, outputToken, slippageTolerancePercentage, autoSlippage, partner, feePercentage, validate, swapperConfig, }) => {
|
|
9
|
+
const url = `${swapperConfig.VITE_PORTALS_BASE_URL}/v2/portal`;
|
|
10
|
+
const params = new URLSearchParams({
|
|
11
|
+
partner,
|
|
12
|
+
...(sender ? { sender } : {}),
|
|
13
|
+
inputToken,
|
|
14
|
+
inputAmount,
|
|
15
|
+
outputToken,
|
|
16
|
+
validate: validate.toString(),
|
|
17
|
+
});
|
|
18
|
+
if (!autoSlippage) {
|
|
19
|
+
params.append('slippageTolerancePercentage', slippageTolerancePercentage.toFixed(2)); // Portals API expects a string with at most 2 decimal places
|
|
20
|
+
}
|
|
21
|
+
if (feePercentage) {
|
|
22
|
+
params.append('feePercentage', feePercentage.toString());
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const response = await axios.get(url, { params });
|
|
26
|
+
return response.data;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (axios.isAxiosError(error)) {
|
|
30
|
+
const message = error.response?.data?.message;
|
|
31
|
+
if (message) {
|
|
32
|
+
throw new PortalsError(message);
|
|
33
|
+
}
|
|
34
|
+
throw new Error(`Failed to fetch Portals trade order: ${error.message}`);
|
|
35
|
+
}
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export const fetchPortalsTradeEstimate = async ({ inputToken, inputAmount, outputToken, slippageTolerancePercentage, swapperConfig, }) => {
|
|
40
|
+
const url = `${swapperConfig.VITE_PORTALS_BASE_URL}/v2/portal/estimate`;
|
|
41
|
+
const params = new URLSearchParams({
|
|
42
|
+
inputToken,
|
|
43
|
+
inputAmount,
|
|
44
|
+
outputToken,
|
|
45
|
+
});
|
|
46
|
+
if (slippageTolerancePercentage !== undefined) {
|
|
47
|
+
params.append('slippageTolerancePercentage', slippageTolerancePercentage.toFixed(2)); // Portals API expects a string with at most 2 decimal places
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const response = await axios.get(url, { params });
|
|
51
|
+
return response.data;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (axios.isAxiosError(error)) {
|
|
55
|
+
throw new Error(`Failed to fetch Portals trade estimate: ${error.message}`);
|
|
56
|
+
}
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import type { PortalsSupportedChainId } from '../types.js';
|
|
3
|
+
export declare const isSupportedChainId: (chainId: ChainId) => chainId is import("@shapeshiftoss/types").KnownChainIds;
|
|
4
|
+
export declare const getPortalsRouterAddressByChainId: (chainId: PortalsSupportedChainId) => string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { arbitrumChainId, avalancheChainId, baseChainId, binanceChainId, ethChainId, gnosisChainId, optimismChainId, polygonChainId, } from '@shapeshiftoss/caip';
|
|
2
|
+
import { PortalsSupportedChainIds } from '../types.js';
|
|
3
|
+
export const isSupportedChainId = (chainId) => {
|
|
4
|
+
return PortalsSupportedChainIds.includes(chainId);
|
|
5
|
+
};
|
|
6
|
+
export const getPortalsRouterAddressByChainId = (chainId) => {
|
|
7
|
+
switch (chainId) {
|
|
8
|
+
case polygonChainId:
|
|
9
|
+
return '0xC74063fdb47fe6dCE6d029A489BAb37b167Da57f';
|
|
10
|
+
case ethChainId:
|
|
11
|
+
return '0xbf5a7f3629fb325e2a8453d595ab103465f75e62';
|
|
12
|
+
case avalancheChainId:
|
|
13
|
+
return '0xbf5A7F3629fB325E2a8453D595AB103465F75E62';
|
|
14
|
+
case binanceChainId:
|
|
15
|
+
return '0x34b6a821d2f26c6b7cdb01cd91895170c6574a0d';
|
|
16
|
+
case optimismChainId:
|
|
17
|
+
return '0x43838f0c0d499f5c3101589f0f452b1fc7515178';
|
|
18
|
+
case arbitrumChainId:
|
|
19
|
+
return '0x34b6a821d2f26c6b7cdb01cd91895170c6574a0d';
|
|
20
|
+
case baseChainId:
|
|
21
|
+
return '0xb0324286b3ef7dddc93fb2ff7c8b7b8a3524803c';
|
|
22
|
+
case gnosisChainId:
|
|
23
|
+
return '0x8e74454b2cf2f6cc2a06083ef122187551cf391c';
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`Router address not found for chainId: ${chainId}`);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { executeEvmTransaction, executeSolanaTransaction } from '../../utils.js';
|
|
2
|
+
export const relaySwapper = {
|
|
3
|
+
executeEvmTransaction,
|
|
4
|
+
executeSolanaTransaction,
|
|
5
|
+
executeUtxoTransaction: (txToSign, { signAndBroadcastTransaction }) => {
|
|
6
|
+
return signAndBroadcastTransaction(txToSign);
|
|
7
|
+
},
|
|
8
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { KnownChainIds } from '@shapeshiftoss/types';
|
|
2
|
+
import { TradeQuoteError } from '../../types.js';
|
|
3
|
+
import { RelayErrorCode } from './utils/types.js';
|
|
4
|
+
export declare const relaySupportedChainIds: KnownChainIds[];
|
|
5
|
+
export declare const chainIdToRelayChainId: {
|
|
6
|
+
[x: string]: number;
|
|
7
|
+
};
|
|
8
|
+
export declare enum RelayStatusMessage {
|
|
9
|
+
WaitingForDeposit = "Waiting for deposit...",
|
|
10
|
+
DepositDetected = "Deposit detected, processing swap...",
|
|
11
|
+
Retrying = "Taking a bit longer than usual to find a route, hang tight...",
|
|
12
|
+
SwapComplete = "Swap complete",
|
|
13
|
+
SwapFailed = "Swap failed"
|
|
14
|
+
}
|
|
15
|
+
export declare const relayChainIdToChainId: import("lodash").Dictionary<string>;
|
|
16
|
+
export declare const DEFAULT_RELAY_EVM_TOKEN_ADDRESS: "0x0000000000000000000000000000000000000000";
|
|
17
|
+
export declare const RELAY_BTC_TOKEN_ADDRESS = "bc1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmql8k8";
|
|
18
|
+
export declare const RELAY_SOLANA_TOKEN_ADDRESS = "11111111111111111111111111111111";
|
|
19
|
+
export declare const DEFAULT_RELAY_EVM_USER_ADDRESS = "0x000000000000000000000000000000000000dead";
|
|
20
|
+
export declare const DEFAULT_RELAY_BTC_USER_ADDRESS = "bc1q4vxn43l44h30nkluqfxd9eckf45vr2awz38lwa";
|
|
21
|
+
export declare const DEFAULT_RELAY_SOLANA_USER_ADDRESS = "CbKGgVKLJFb8bBrf58DnAkdryX6ubewVytn7X957YwNr";
|
|
22
|
+
export declare const MAXIMUM_SUPPORTED_RELAY_STEPS = 2;
|
|
23
|
+
export declare const relayErrorCodeToTradeQuoteError: Record<RelayErrorCode, TradeQuoteError>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { arbitrumChainId, avalancheChainId, baseChainId, bscChainId, btcChainId, ethChainId, gnosisChainId, optimismChainId, polygonChainId, solanaChainId, } from '@shapeshiftoss/caip';
|
|
2
|
+
import { KnownChainIds } from '@shapeshiftoss/types';
|
|
3
|
+
import invert from 'lodash/invert';
|
|
4
|
+
import { zeroAddress } from 'viem';
|
|
5
|
+
import { arbitrum, avalanche, base, bsc, gnosis, mainnet as ethereum, optimism, polygon, } from 'viem/chains';
|
|
6
|
+
import { TradeQuoteError } from '../../types.js';
|
|
7
|
+
import { RelayErrorCode } from './utils/types.js';
|
|
8
|
+
export const relaySupportedChainIds = [
|
|
9
|
+
KnownChainIds.EthereumMainnet,
|
|
10
|
+
KnownChainIds.ArbitrumMainnet,
|
|
11
|
+
KnownChainIds.BaseMainnet,
|
|
12
|
+
KnownChainIds.OptimismMainnet,
|
|
13
|
+
KnownChainIds.PolygonMainnet,
|
|
14
|
+
KnownChainIds.GnosisMainnet,
|
|
15
|
+
KnownChainIds.AvalancheMainnet,
|
|
16
|
+
KnownChainIds.BitcoinMainnet,
|
|
17
|
+
KnownChainIds.SolanaMainnet,
|
|
18
|
+
KnownChainIds.BnbSmartChainMainnet,
|
|
19
|
+
];
|
|
20
|
+
export const chainIdToRelayChainId = {
|
|
21
|
+
// https://docs.relay.link/resources/supported-chains
|
|
22
|
+
[btcChainId]: 8253038,
|
|
23
|
+
[ethChainId]: ethereum.id,
|
|
24
|
+
[arbitrumChainId]: arbitrum.id,
|
|
25
|
+
[baseChainId]: base.id,
|
|
26
|
+
[optimismChainId]: optimism.id,
|
|
27
|
+
[polygonChainId]: polygon.id,
|
|
28
|
+
// https://docs.relay.link/resources/supported-chains
|
|
29
|
+
[solanaChainId]: 792703809,
|
|
30
|
+
[gnosisChainId]: gnosis.id,
|
|
31
|
+
[avalancheChainId]: avalanche.id,
|
|
32
|
+
[bscChainId]: bsc.id,
|
|
33
|
+
};
|
|
34
|
+
export var RelayStatusMessage;
|
|
35
|
+
(function (RelayStatusMessage) {
|
|
36
|
+
RelayStatusMessage["WaitingForDeposit"] = "Waiting for deposit...";
|
|
37
|
+
RelayStatusMessage["DepositDetected"] = "Deposit detected, processing swap...";
|
|
38
|
+
RelayStatusMessage["Retrying"] = "Taking a bit longer than usual to find a route, hang tight...";
|
|
39
|
+
RelayStatusMessage["SwapComplete"] = "Swap complete";
|
|
40
|
+
RelayStatusMessage["SwapFailed"] = "Swap failed";
|
|
41
|
+
})(RelayStatusMessage || (RelayStatusMessage = {}));
|
|
42
|
+
export const relayChainIdToChainId = invert(chainIdToRelayChainId);
|
|
43
|
+
export const DEFAULT_RELAY_EVM_TOKEN_ADDRESS = zeroAddress;
|
|
44
|
+
export const RELAY_BTC_TOKEN_ADDRESS = 'bc1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmql8k8';
|
|
45
|
+
export const RELAY_SOLANA_TOKEN_ADDRESS = '11111111111111111111111111111111';
|
|
46
|
+
export const DEFAULT_RELAY_EVM_USER_ADDRESS = '0x000000000000000000000000000000000000dead';
|
|
47
|
+
export const DEFAULT_RELAY_BTC_USER_ADDRESS = 'bc1q4vxn43l44h30nkluqfxd9eckf45vr2awz38lwa';
|
|
48
|
+
export const DEFAULT_RELAY_SOLANA_USER_ADDRESS = 'CbKGgVKLJFb8bBrf58DnAkdryX6ubewVytn7X957YwNr';
|
|
49
|
+
export const MAXIMUM_SUPPORTED_RELAY_STEPS = 2;
|
|
50
|
+
export const relayErrorCodeToTradeQuoteError = {
|
|
51
|
+
[RelayErrorCode.AmountTooLow]: TradeQuoteError.SellAmountBelowMinimum,
|
|
52
|
+
[RelayErrorCode.Erc20RouterAddressNotFound]: TradeQuoteError.UnsupportedTradePair,
|
|
53
|
+
[RelayErrorCode.ExtraTransactionsNotSupported]: TradeQuoteError.UnsupportedTradePair,
|
|
54
|
+
[RelayErrorCode.InsufficientFunds]: TradeQuoteError.SellAmountBelowTradeFee,
|
|
55
|
+
[RelayErrorCode.InsufficientLiquidity]: TradeQuoteError.SellAmountBelowTradeFee,
|
|
56
|
+
[RelayErrorCode.InvalidAddress]: TradeQuoteError.UnsupportedTradePair,
|
|
57
|
+
[RelayErrorCode.InvalidExtraTransactions]: TradeQuoteError.UnsupportedTradePair,
|
|
58
|
+
[RelayErrorCode.NoQuotes]: TradeQuoteError.NoRouteFound,
|
|
59
|
+
[RelayErrorCode.NoSwapRoutesFound]: TradeQuoteError.NoRouteFound,
|
|
60
|
+
[RelayErrorCode.UnsupportedRoute]: TradeQuoteError.UnsupportedTradePair,
|
|
61
|
+
[RelayErrorCode.UnsupportedExecutionType]: TradeQuoteError.UnknownError,
|
|
62
|
+
[RelayErrorCode.UserRecipientMismatch]: TradeQuoteError.UnknownError,
|
|
63
|
+
[RelayErrorCode.PermitFailed]: TradeQuoteError.UnknownError,
|
|
64
|
+
[RelayErrorCode.SwapImpactTooHigh]: TradeQuoteError.UnknownError,
|
|
65
|
+
[RelayErrorCode.SwapQuoteFailed]: TradeQuoteError.UnknownError,
|
|
66
|
+
[RelayErrorCode.Unauthorized]: TradeQuoteError.UnknownError,
|
|
67
|
+
[RelayErrorCode.UnknownError]: TradeQuoteError.UnknownError,
|
|
68
|
+
[RelayErrorCode.UnsupportedChain]: TradeQuoteError.UnknownError,
|
|
69
|
+
[RelayErrorCode.UnsupportedCurrency]: TradeQuoteError.UnknownError,
|
|
70
|
+
};
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { evm, isEvmChainId } from '@shapeshiftoss/chain-adapters';
|
|
2
|
+
import { TxStatus } from '@shapeshiftoss/unchained-client';
|
|
3
|
+
import BigNumber from 'bignumber.js';
|
|
4
|
+
import { getSolanaTransactionFees } from '../../solana-utils/getSolanaTransactionFees.js';
|
|
5
|
+
import { getUnsignedSolanaTransaction } from '../../solana-utils/getUnsignedSolanaTransaction.js';
|
|
6
|
+
import { checkSafeTransactionStatus, getExecutableTradeStep, isExecutableTradeQuote, } from '../../utils.js';
|
|
7
|
+
import { chainIdToRelayChainId } from './constant.js';
|
|
8
|
+
import { getTradeQuote } from './getTradeQuote/getTradeQuote.js';
|
|
9
|
+
import { getTradeRate } from './getTradeRate/getTradeRate.js';
|
|
10
|
+
import { getLatestRelayStatusMessage } from './utils/getLatestRelayStatusMessage.js';
|
|
11
|
+
import { notifyTransactionIndexing } from './utils/notifyTransactionIndexing.js';
|
|
12
|
+
import { relayService } from './utils/relayService.js';
|
|
13
|
+
// Keep track of the trades we already notified the relay indexer about
|
|
14
|
+
const txIndexingMap = new Map();
|
|
15
|
+
export const relayApi = {
|
|
16
|
+
getTradeQuote: (input, deps) => getTradeQuote(input, deps, chainIdToRelayChainId),
|
|
17
|
+
getTradeRate: (input, deps) => getTradeRate(input, deps, chainIdToRelayChainId),
|
|
18
|
+
getEvmTransactionFees: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
19
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
20
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
21
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
22
|
+
const { relayTransactionMetadata, sellAsset } = step;
|
|
23
|
+
if (!relayTransactionMetadata)
|
|
24
|
+
throw Error('Missing relay transaction metadata');
|
|
25
|
+
const { to, value, data } = relayTransactionMetadata;
|
|
26
|
+
if (to === undefined || value === undefined || data === undefined) {
|
|
27
|
+
const undefinedRequiredValues = [to, value, data].filter(value => value === undefined);
|
|
28
|
+
throw Error('undefined required values in transactionRequest', {
|
|
29
|
+
cause: {
|
|
30
|
+
undefinedRequiredValues,
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
35
|
+
const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
|
|
36
|
+
return feeData.networkFeeCryptoBaseUnit;
|
|
37
|
+
},
|
|
38
|
+
getUnsignedEvmTransaction: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
39
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
40
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
41
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
42
|
+
const { accountNumber, relayTransactionMetadata, sellAsset } = step;
|
|
43
|
+
if (!relayTransactionMetadata)
|
|
44
|
+
throw Error('Transaction metadata is required');
|
|
45
|
+
const { to, value, data, gasLimit: gasLimitFromApi } = relayTransactionMetadata;
|
|
46
|
+
if (to === undefined || value === undefined || data === undefined) {
|
|
47
|
+
const undefinedRequiredValues = [to, value, data].filter(value => value === undefined);
|
|
48
|
+
throw Error('undefined required values in swap step', {
|
|
49
|
+
cause: {
|
|
50
|
+
undefinedRequiredValues,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
55
|
+
const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
|
|
56
|
+
const unsignedTx = await adapter.buildCustomApiTx({
|
|
57
|
+
accountNumber,
|
|
58
|
+
data,
|
|
59
|
+
from,
|
|
60
|
+
to,
|
|
61
|
+
value,
|
|
62
|
+
...feeData,
|
|
63
|
+
// Use the higher amount of the node or the API, as the node doesn't always provide enough gas padding for total gas used.
|
|
64
|
+
gasLimit: BigNumber.max(gasLimitFromApi ?? '0', feeData.gasLimit).toFixed(),
|
|
65
|
+
});
|
|
66
|
+
return unsignedTx;
|
|
67
|
+
},
|
|
68
|
+
getUnsignedUtxoTransaction: async ({ stepIndex, tradeQuote, xpub, accountType, assertGetUtxoChainAdapter, }) => {
|
|
69
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
70
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
71
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
72
|
+
const { accountNumber, sellAsset, relayTransactionMetadata } = step;
|
|
73
|
+
if (!relayTransactionMetadata)
|
|
74
|
+
throw new Error('Missing relay transaction metadata');
|
|
75
|
+
const { to, opReturnData } = relayTransactionMetadata;
|
|
76
|
+
if (!to)
|
|
77
|
+
throw new Error('Missing transaction destination');
|
|
78
|
+
if (!opReturnData)
|
|
79
|
+
throw new Error('Missing opReturnData');
|
|
80
|
+
const adapter = assertGetUtxoChainAdapter(sellAsset.chainId);
|
|
81
|
+
const { fast } = await adapter.getFeeData({
|
|
82
|
+
to,
|
|
83
|
+
value: step.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
84
|
+
chainSpecific: { pubkey: xpub, opReturnData },
|
|
85
|
+
sendMax: false,
|
|
86
|
+
});
|
|
87
|
+
return assertGetUtxoChainAdapter(sellAsset.chainId).buildSendApiTransaction({
|
|
88
|
+
value: step.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
89
|
+
xpub,
|
|
90
|
+
to,
|
|
91
|
+
accountNumber,
|
|
92
|
+
chainSpecific: {
|
|
93
|
+
accountType,
|
|
94
|
+
opReturnData,
|
|
95
|
+
satoshiPerByte: fast.chainSpecific.satoshiPerByte,
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
getUtxoTransactionFees: async ({ stepIndex, tradeQuote, xpub, assertGetUtxoChainAdapter }) => {
|
|
100
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
101
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
102
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
103
|
+
const { sellAsset, relayTransactionMetadata } = step;
|
|
104
|
+
if (!relayTransactionMetadata?.psbt)
|
|
105
|
+
throw new Error('Missing psbt');
|
|
106
|
+
const { to, opReturnData } = relayTransactionMetadata;
|
|
107
|
+
if (!to)
|
|
108
|
+
throw new Error('Missing transaction destination');
|
|
109
|
+
if (!opReturnData)
|
|
110
|
+
throw new Error('Missing opReturnData');
|
|
111
|
+
const adapter = assertGetUtxoChainAdapter(sellAsset.chainId);
|
|
112
|
+
const { fast } = await adapter.getFeeData({
|
|
113
|
+
to,
|
|
114
|
+
value: step.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
115
|
+
chainSpecific: { pubkey: xpub, opReturnData },
|
|
116
|
+
sendMax: false,
|
|
117
|
+
});
|
|
118
|
+
return fast.txFee;
|
|
119
|
+
},
|
|
120
|
+
getSolanaTransactionFees,
|
|
121
|
+
getUnsignedSolanaTransaction,
|
|
122
|
+
checkTradeStatus: async ({ swap, txHash, chainId, address, config, fetchIsSmartContractAddressQuery, assertGetEvmChainAdapter, }) => {
|
|
123
|
+
const maybeSafeTransactionStatus = await checkSafeTransactionStatus({
|
|
124
|
+
txHash,
|
|
125
|
+
chainId,
|
|
126
|
+
assertGetEvmChainAdapter,
|
|
127
|
+
address,
|
|
128
|
+
fetchIsSmartContractAddressQuery,
|
|
129
|
+
});
|
|
130
|
+
if (!swap?.metadata.relayTransactionMetadata)
|
|
131
|
+
throw new Error('Missing swap metadata');
|
|
132
|
+
if (maybeSafeTransactionStatus) {
|
|
133
|
+
// return any safe transaction status that has not yet executed on chain (no buyTxHash)
|
|
134
|
+
if (!maybeSafeTransactionStatus.buyTxHash)
|
|
135
|
+
return maybeSafeTransactionStatus;
|
|
136
|
+
// The safe buyTxHash is the on chain transaction hash (not the safe transaction hash).
|
|
137
|
+
// Mutate txHash and continue with regular status check flow.
|
|
138
|
+
txHash = maybeSafeTransactionStatus.buyTxHash;
|
|
139
|
+
}
|
|
140
|
+
if (swap.metadata.relayTransactionMetadata &&
|
|
141
|
+
!txIndexingMap.has(swap.id) &&
|
|
142
|
+
isEvmChainId(chainId)) {
|
|
143
|
+
const relayTxParam = {
|
|
144
|
+
...swap.metadata.relayTransactionMetadata,
|
|
145
|
+
txHash,
|
|
146
|
+
};
|
|
147
|
+
// We don't need to handle the response here, we just want to notify the relay indexer
|
|
148
|
+
await notifyTransactionIndexing({
|
|
149
|
+
requestId: swap.metadata.relayTransactionMetadata.relayId,
|
|
150
|
+
chainId: chainIdToRelayChainId[chainId].toString(),
|
|
151
|
+
tx: JSON.stringify(relayTxParam),
|
|
152
|
+
}, config);
|
|
153
|
+
txIndexingMap.set(swap.id, true);
|
|
154
|
+
}
|
|
155
|
+
const maybeStatusResponse = await relayService.get(`${config.VITE_RELAY_API_URL}/intents/status/v2?requestId=${swap.metadata.relayTransactionMetadata.relayId}`);
|
|
156
|
+
if (maybeStatusResponse.isErr()) {
|
|
157
|
+
return {
|
|
158
|
+
buyTxHash: undefined,
|
|
159
|
+
status: TxStatus.Unknown,
|
|
160
|
+
message: undefined,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
const { data: statusResponse } = maybeStatusResponse.unwrap();
|
|
164
|
+
const status = (() => {
|
|
165
|
+
switch (statusResponse.status) {
|
|
166
|
+
case 'success':
|
|
167
|
+
return TxStatus.Confirmed;
|
|
168
|
+
case 'pending':
|
|
169
|
+
return TxStatus.Pending;
|
|
170
|
+
case 'failed':
|
|
171
|
+
case 'refund':
|
|
172
|
+
return TxStatus.Failed;
|
|
173
|
+
default:
|
|
174
|
+
return TxStatus.Unknown;
|
|
175
|
+
}
|
|
176
|
+
})();
|
|
177
|
+
// Relay refers to in Txs as "inTxHashes" but to out Txs as simply "txHashes" when they really mean "outTxHashes"
|
|
178
|
+
// One thing to note is that for same-chain Txs, there is no "out Tx" per se since the in Tx *is* the out Tx
|
|
179
|
+
const outTxHashes = statusResponse.txHashes;
|
|
180
|
+
const isSameChainSwap = statusResponse.destinationChainId === statusResponse.originChainId;
|
|
181
|
+
const buyTxHash = isSameChainSwap ? txHash : outTxHashes?.[0];
|
|
182
|
+
return {
|
|
183
|
+
status,
|
|
184
|
+
buyTxHash,
|
|
185
|
+
message: getLatestRelayStatusMessage(statusResponse),
|
|
186
|
+
};
|
|
187
|
+
},
|
|
188
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, TradeQuote } from '../../../types.js';
|
|
3
|
+
import type { chainIdToRelayChainId as relayChainMapImplementation } from '../constant.js';
|
|
4
|
+
export declare const getTradeQuote: (input: CommonTradeQuoteInput, deps: SwapperDeps, relayChainMap: typeof relayChainMapImplementation) => Promise<Result<TradeQuote[], SwapErrorRight>>;
|