@shapeshiftoss/swapper 17.6.2 → 17.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/.tsbuildinfo +1 -0
- package/dist/cjs/constants.d.ts +8 -0
- package/dist/cjs/constants.js +133 -0
- package/dist/cjs/cowswap-utils/constants.d.ts +14 -0
- package/dist/cjs/cowswap-utils/constants.js +34 -0
- package/dist/cjs/cowswap-utils/index.d.ts +24 -0
- package/dist/cjs/cowswap-utils/index.js +177 -0
- package/dist/cjs/index.d.ts +18 -0
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/safe-utils/constants.d.ts +2 -0
- package/dist/cjs/safe-utils/constants.js +14 -0
- package/dist/cjs/safe-utils/index.d.ts +3 -0
- package/dist/cjs/safe-utils/index.js +66 -0
- package/dist/cjs/safe-utils/types.d.ts +57 -0
- package/dist/cjs/solana-utils/getSolanaTransactionFees.d.ts +2 -0
- package/dist/cjs/solana-utils/getSolanaTransactionFees.js +22 -0
- package/dist/cjs/solana-utils/getUnsignedSolanaTransaction.d.ts +3 -0
- package/dist/cjs/solana-utils/getUnsignedSolanaTransaction.js +39 -0
- package/dist/cjs/swapper.d.ts +3 -0
- package/dist/cjs/swapper.js +56 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.js +7 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/endpoints.d.ts +13 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/endpoints.js +238 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.d.ts +6 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +86 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +174 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.js +75 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/index.d.ts +2 -0
- package/dist/{index.js → cjs/swappers/ArbitrumBridgeSwapper/index.js} +2 -3
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/types.d.ts +13 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/types.js +10 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/constants.d.ts +6 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/constants.js +33 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.d.ts +35 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.js +148 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/helpers.d.ts +16 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/helpers.js +100 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/types.d.ts +3 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/types.js +8 -0
- package/dist/cjs/swappers/BebopSwapper/BebopSwapper.d.ts +2 -0
- package/dist/cjs/swappers/BebopSwapper/BebopSwapper.js +7 -0
- package/dist/cjs/swappers/BebopSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/BebopSwapper/endpoints.js +61 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.d.ts +6 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +117 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.d.ts +6 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +92 -0
- package/dist/cjs/swappers/BebopSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/BebopSwapper/index.js +7 -0
- package/dist/cjs/swappers/BebopSwapper/types.d.ts +89 -0
- package/dist/cjs/swappers/BebopSwapper/types.js +27 -0
- package/dist/cjs/swappers/BebopSwapper/utils/bebopService.d.ts +9 -0
- package/dist/cjs/swappers/BebopSwapper/utils/bebopService.js +31 -0
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +23 -0
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +93 -0
- package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -0
- package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.js +58 -0
- package/dist/cjs/swappers/ButterSwap/ButterSwap.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/ButterSwap.js +11 -0
- package/dist/cjs/swappers/ButterSwap/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/endpoints.js +75 -0
- package/dist/cjs/swappers/ButterSwap/index.d.ts +1 -0
- package/dist/{manager → cjs/swappers/ButterSwap}/index.js +1 -1
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.js +89 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.test.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.test.js +205 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +191 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +60 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.js +119 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.js +95 -0
- package/dist/cjs/swappers/ButterSwap/test-data/eth-btc.json +461 -0
- package/dist/cjs/swappers/ButterSwap/test-data/routeQuote.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/test-data/routeQuote.js +79 -0
- package/dist/cjs/swappers/ButterSwap/types.d.ts +236 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapHistoryService.d.ts +6 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapHistoryService.js +16 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapService.d.ts +6 -0
- package/dist/cjs/swappers/ButterSwap/utils/butterSwapService.js +16 -0
- package/dist/cjs/swappers/ButterSwap/utils/constants.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/utils/constants.js +10 -0
- package/dist/cjs/swappers/ButterSwap/utils/helpers.d.ts +3 -0
- package/dist/cjs/swappers/ButterSwap/utils/helpers.js +27 -0
- package/dist/cjs/swappers/ButterSwap/xhr.d.ts +50 -0
- package/dist/cjs/swappers/ButterSwap/xhr.js +141 -0
- package/dist/cjs/swappers/ChainflipSwapper/ChainflipSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/ChainflipSwapper.js +11 -0
- package/dist/cjs/swappers/ChainflipSwapper/constants.d.ts +26 -0
- package/dist/cjs/swappers/ChainflipSwapper/constants.js +55 -0
- package/dist/cjs/swappers/ChainflipSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/endpoints.js +194 -0
- package/dist/cjs/swappers/ChainflipSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/index.js +18 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.d.ts +130 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.js +74 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.d.ts +43 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.js +51 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.d.ts +157 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.js +86 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.d.ts +61 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.js +63 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.d.ts +103 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.js +61 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.d.ts +50 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.js +56 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.d.ts +98 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.js +63 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.d.ts +99 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.js +75 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.d.ts +79 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.js +59 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/index.d.ts +3 -0
- package/dist/cjs/swappers/ChainflipSwapper/models/index.js +19 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +143 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeRate.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeRate.js +13 -0
- package/dist/cjs/swappers/ChainflipSwapper/types.d.ts +15 -0
- package/dist/cjs/swappers/ChainflipSwapper/types.js +10 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/chainflipService.d.ts +5 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/chainflipService.js +15 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getEvmTxFees.d.ts +8 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getEvmTxFees.js +15 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.d.ts +2 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.js +28 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.d.ts +3 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +297 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getUtxoTxFees.d.ts +9 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getUtxoTxFees.js +25 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.d.ts +36 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.js +84 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.d.ts +2 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.js +27 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.test.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/CowSwapper.test.js +180 -0
- package/dist/cjs/swappers/CowSwapper/constants.d.ts +6 -0
- package/dist/cjs/swappers/CowSwapper/constants.js +10 -0
- package/dist/cjs/swappers/CowSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/CowSwapper/endpoints.js +148 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +128 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +522 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +127 -0
- package/dist/cjs/swappers/CowSwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/index.js +17 -0
- package/dist/cjs/swappers/CowSwapper/types.d.ts +18 -0
- package/dist/{swappers/cow → cjs/swappers/CowSwapper}/utils/blacklist.js +1 -0
- package/dist/cjs/swappers/CowSwapper/utils/cowService.d.ts +6 -0
- package/dist/cjs/swappers/CowSwapper/utils/cowService.js +15 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.d.ts +44 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.js +86 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.test.js +60 -0
- package/dist/cjs/swappers/JupiterSwapper/JupiterSwapper.d.ts +2 -0
- package/dist/cjs/swappers/JupiterSwapper/JupiterSwapper.js +27 -0
- package/dist/cjs/swappers/JupiterSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/JupiterSwapper/endpoints.js +15 -0
- package/dist/cjs/swappers/JupiterSwapper/errorPatterns.d.ts +15 -0
- package/dist/cjs/swappers/JupiterSwapper/errorPatterns.js +29 -0
- package/dist/cjs/swappers/JupiterSwapper/idls/referral.d.ts +739 -0
- package/dist/cjs/swappers/JupiterSwapper/idls/referral.js +741 -0
- package/dist/cjs/swappers/JupiterSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/JupiterSwapper/index.js +18 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +191 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeRate.js +172 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/constants.d.ts +9 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/constants.js +14 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/helpers.d.ts +58 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/helpers.js +178 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/jupiterService.d.ts +5 -0
- package/dist/cjs/swappers/JupiterSwapper/utils/jupiterService.js +15 -0
- package/dist/cjs/swappers/MayachainSwapper/MayachainSwapper.d.ts +2 -0
- package/dist/cjs/swappers/MayachainSwapper/MayachainSwapper.js +13 -0
- package/dist/cjs/swappers/MayachainSwapper/constants.d.ts +6 -0
- package/dist/cjs/swappers/MayachainSwapper/constants.js +13 -0
- package/dist/cjs/swappers/MayachainSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/MayachainSwapper/endpoints.js +68 -0
- package/dist/cjs/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +25 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeQuote.js +24 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/MayachainSwapper/getTradeRate.js +24 -0
- package/dist/cjs/swappers/MayachainSwapper/index.d.ts +4 -0
- package/dist/cjs/swappers/MayachainSwapper/index.js +22 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/index.d.ts +7 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/index.js +40 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +14 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +56 -0
- package/dist/cjs/swappers/PortalsSwapper/PortalsSwapper.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/PortalsSwapper.js +7 -0
- package/dist/cjs/swappers/PortalsSwapper/constants.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/constants.js +14 -0
- package/dist/cjs/swappers/PortalsSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/endpoints.js +56 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +5 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +208 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +5 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +146 -0
- package/dist/cjs/swappers/PortalsSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/PortalsSwapper/index.js +18 -0
- package/dist/cjs/swappers/PortalsSwapper/types.d.ts +3 -0
- package/dist/cjs/swappers/PortalsSwapper/types.js +15 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +76 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.js +68 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/helpers.d.ts +4 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/helpers.js +32 -0
- package/dist/cjs/swappers/RelaySwapper/RelaySwapper.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/RelaySwapper.js +11 -0
- package/dist/cjs/swappers/RelaySwapper/constant.d.ts +23 -0
- package/dist/cjs/swappers/RelaySwapper/constant.js +76 -0
- package/dist/cjs/swappers/RelaySwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/endpoints.js +194 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +32 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/RelaySwapper/getTradeRate/getTradeRate.js +20 -0
- package/dist/cjs/swappers/RelaySwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/RelaySwapper/index.js +17 -0
- package/dist/cjs/swappers/RelaySwapper/utils/fetchRelayTrade.d.ts +5 -0
- package/dist/cjs/swappers/RelaySwapper/utils/fetchRelayTrade.js +8 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.js +22 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.d.ts +3 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.js +19 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.js +16 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayPsbtRelayer.d.ts +1 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayPsbtRelayer.js +47 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getTrade.d.ts +14 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getTrade.js +453 -0
- package/dist/cjs/swappers/RelaySwapper/utils/notifyTransactionIndexing.d.ts +11 -0
- package/dist/cjs/swappers/RelaySwapper/utils/notifyTransactionIndexing.js +8 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayService.d.ts +5 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayService.js +15 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAsset.d.ts +6 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAsset.js +16 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.d.ts +3 -0
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +97 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +157 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.js +41 -0
- package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.js +13 -0
- package/dist/cjs/swappers/ThorchainSwapper/constants.d.ts +7 -0
- package/dist/cjs/swappers/ThorchainSwapper/constants.js +14 -0
- package/dist/cjs/swappers/ThorchainSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +81 -0
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +4618 -0
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +45 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.js +65 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +210 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeRate/getTradeRate.js +65 -0
- package/dist/cjs/swappers/ThorchainSwapper/index.d.ts +7 -0
- package/dist/cjs/swappers/ThorchainSwapper/index.js +27 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.d.ts +14 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +72 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +118 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/constants.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/constants.js +8 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getBestAggregator.d.ts +6 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getBestAggregator.js +36 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +146 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +134 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.js +73 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailRate.d.ts +4 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailRate.js +73 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.d.ts +5 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.js +55 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.js +99 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +27 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +38 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/longTailHelpers.d.ts +48 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/longTailHelpers.js +146 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +14 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +56 -0
- package/dist/{swappers/thorchain → cjs/swappers/ThorchainSwapper}/utils/test-data/responses.d.ts +1 -1
- package/dist/{swappers/thorchain → cjs/swappers/ThorchainSwapper}/utils/test-data/responses.js +20 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.js +37 -0
- package/dist/cjs/swappers/ZrxSwapper/ZrxSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ZrxSwapper/ZrxSwapper.js +7 -0
- package/dist/cjs/swappers/ZrxSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/ZrxSwapper/endpoints.js +78 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.d.ts +6 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +116 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +159 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +72 -0
- package/dist/cjs/swappers/ZrxSwapper/types.d.ts +76 -0
- package/dist/cjs/swappers/ZrxSwapper/types.js +13 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/constants.d.ts +4 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/constants.js +26 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/fetchFromZrx.d.ts +25 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/fetchFromZrx.js +54 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +34 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/helpers/helpers.js +145 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/zrxService.d.ts +9 -0
- package/dist/{swappers/zrx → cjs/swappers/ZrxSwapper}/utils/zrxService.js +7 -9
- package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.d.ts +4 -0
- package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +26 -0
- package/dist/cjs/swappers/utils/helpers/helpers.d.ts +3 -0
- package/dist/cjs/swappers/utils/helpers/helpers.js +52 -0
- package/dist/cjs/swappers/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/cjs/swappers/utils/helpers/helpers.test.js +10 -0
- package/dist/cjs/swappers/utils/test-data/assets.d.ts +17 -0
- package/dist/cjs/swappers/utils/test-data/assets.js +221 -0
- package/dist/cjs/swappers/utils/test-data/cryptoMarketDataById.d.ts +5 -0
- package/dist/cjs/swappers/utils/test-data/cryptoMarketDataById.js +18 -0
- package/dist/cjs/swappers/utils/test-data/fees.d.ts +2 -0
- package/dist/cjs/swappers/utils/test-data/fees.js +20 -0
- package/dist/cjs/swappers/utils/test-data/index.d.ts +2 -0
- package/dist/cjs/swappers/utils/test-data/index.js +18 -0
- package/dist/cjs/swappers/utils/test-data/setupSwapQuote.d.ts +8 -0
- package/dist/cjs/swappers/utils/test-data/setupSwapQuote.js +52 -0
- package/dist/cjs/thorchain-utils/checkTradeStatus.d.ts +8 -0
- package/dist/cjs/thorchain-utils/checkTradeStatus.js +75 -0
- package/dist/cjs/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.js +15 -0
- package/dist/cjs/thorchain-utils/cosmossdk/index.d.ts +1 -0
- package/dist/cjs/thorchain-utils/cosmossdk/index.js +17 -0
- package/dist/cjs/thorchain-utils/evm/getEvmData.d.ts +13 -0
- package/dist/cjs/thorchain-utils/evm/getEvmData.js +94 -0
- package/dist/cjs/thorchain-utils/evm/getEvmTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/evm/getEvmTransactionFees.js +23 -0
- package/dist/cjs/thorchain-utils/evm/getThorTxData.d.ts +18 -0
- package/dist/cjs/thorchain-utils/evm/getThorTxData.js +33 -0
- package/dist/cjs/thorchain-utils/evm/getUnsignedEvmTransaction.d.ts +4 -0
- package/dist/cjs/thorchain-utils/evm/getUnsignedEvmTransaction.js +23 -0
- package/dist/cjs/thorchain-utils/evm/index.d.ts +3 -0
- package/dist/cjs/thorchain-utils/evm/index.js +19 -0
- package/dist/cjs/thorchain-utils/getCallDataFromQuote.d.ts +9 -0
- package/dist/cjs/thorchain-utils/getCallDataFromQuote.js +54 -0
- package/dist/cjs/thorchain-utils/getInboundAddressDataForChain.d.ts +5 -0
- package/dist/cjs/thorchain-utils/getInboundAddressDataForChain.js +35 -0
- package/dist/cjs/thorchain-utils/getL1RateOrQuote.d.ts +6 -0
- package/dist/cjs/thorchain-utils/getL1RateOrQuote.js +302 -0
- package/dist/cjs/thorchain-utils/getLatestThorTxStatusMessage.d.ts +2 -0
- package/dist/cjs/thorchain-utils/getLatestThorTxStatusMessage.js +83 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.d.ts +5 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.js +14 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.js +16 -0
- package/dist/cjs/thorchain-utils/getPoolDetails.d.ts +20 -0
- package/dist/cjs/thorchain-utils/getPoolDetails.js +51 -0
- package/dist/cjs/thorchain-utils/getQuote.d.ts +21 -0
- package/dist/cjs/thorchain-utils/getQuote.js +70 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.d.ts +11 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.js +40 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.js +94 -0
- package/dist/cjs/thorchain-utils/index.d.ts +30 -0
- package/dist/cjs/thorchain-utils/index.js +171 -0
- package/dist/cjs/thorchain-utils/memo/addAggregatorAddressToMemo.d.ts +12 -0
- package/dist/cjs/thorchain-utils/memo/addAggregatorAddressToMemo.js +43 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetAddressToMemo.d.ts +15 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetAddressToMemo.js +48 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetLimitToMemo.d.ts +16 -0
- package/dist/cjs/thorchain-utils/memo/addFinalAssetLimitToMemo.js +51 -0
- package/dist/cjs/thorchain-utils/memo/addLimitToMemo.d.ts +18 -0
- package/dist/cjs/thorchain-utils/memo/addLimitToMemo.js +59 -0
- package/dist/cjs/thorchain-utils/memo/assertAndProcessMemo.d.ts +4 -0
- package/dist/cjs/thorchain-utils/memo/assertAndProcessMemo.js +197 -0
- package/dist/cjs/thorchain-utils/memo/constants.d.ts +1 -0
- package/dist/{swappers/zrx/types.js → cjs/thorchain-utils/memo/constants.js} +2 -0
- package/dist/cjs/thorchain-utils/memo/index.d.ts +6 -0
- package/dist/cjs/thorchain-utils/memo/index.js +22 -0
- package/dist/cjs/thorchain-utils/memo/index.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/memo/index.test.js +892 -0
- package/dist/cjs/thorchain-utils/parseBuyTxHash.d.ts +2 -0
- package/dist/cjs/thorchain-utils/parseBuyTxHash.js +14 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCallData.test.d.ts +1 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCallData.test.js +20 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCalldata.d.ts +8 -0
- package/dist/cjs/thorchain-utils/routerCallData/routerCalldata.js +14 -0
- package/dist/cjs/thorchain-utils/service.d.ts +5 -0
- package/dist/cjs/thorchain-utils/service.js +15 -0
- package/dist/cjs/thorchain-utils/types.d.ts +273 -0
- package/dist/cjs/thorchain-utils/types.js +26 -0
- package/dist/cjs/thorchain-utils/utxo/getThorTxData.d.ts +12 -0
- package/dist/cjs/thorchain-utils/utxo/getThorTxData.js +14 -0
- package/dist/cjs/thorchain-utils/utxo/getUnsignedUtxoTransaction.d.ts +4 -0
- package/dist/cjs/thorchain-utils/utxo/getUnsignedUtxoTransaction.js +34 -0
- package/dist/cjs/thorchain-utils/utxo/getUtxoTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/utxo/getUtxoTransactionFees.js +29 -0
- package/dist/cjs/thorchain-utils/utxo/index.d.ts +3 -0
- package/dist/cjs/thorchain-utils/utxo/index.js +19 -0
- package/dist/cjs/types.d.ts +516 -0
- package/dist/cjs/types.js +81 -0
- package/dist/cjs/utils.d.ts +62 -0
- package/dist/cjs/utils.js +205 -0
- package/dist/esm/.tsbuildinfo +1 -0
- package/dist/esm/constants.d.ts +8 -0
- package/dist/esm/constants.js +128 -0
- package/dist/esm/cowswap-utils/constants.d.ts +14 -0
- package/dist/esm/cowswap-utils/constants.js +31 -0
- package/dist/esm/cowswap-utils/index.d.ts +24 -0
- package/dist/esm/cowswap-utils/index.js +152 -0
- package/dist/esm/index.d.ts +18 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/safe-utils/constants.d.ts +2 -0
- package/dist/esm/safe-utils/constants.js +11 -0
- package/dist/esm/safe-utils/index.d.ts +3 -0
- package/dist/esm/safe-utils/index.js +45 -0
- package/dist/esm/safe-utils/types.d.ts +57 -0
- package/dist/esm/safe-utils/types.js +1 -0
- package/dist/esm/solana-utils/getSolanaTransactionFees.d.ts +2 -0
- package/dist/esm/solana-utils/getSolanaTransactionFees.js +18 -0
- package/dist/esm/solana-utils/getUnsignedSolanaTransaction.d.ts +3 -0
- package/dist/esm/solana-utils/getUnsignedSolanaTransaction.js +35 -0
- package/dist/esm/swapper.d.ts +3 -0
- package/dist/esm/swapper.js +51 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.d.ts +2 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.js +4 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/endpoints.d.ts +13 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/endpoints.js +234 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.d.ts +6 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +80 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +172 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.js +71 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/index.js +2 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/types.d.ts +13 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/types.js +7 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/constants.d.ts +6 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/constants.js +30 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.d.ts +35 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.js +143 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/helpers.d.ts +16 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/helpers.js +95 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/types.d.ts +3 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/types.js +5 -0
- package/dist/esm/swappers/BebopSwapper/BebopSwapper.d.ts +2 -0
- package/dist/esm/swappers/BebopSwapper/BebopSwapper.js +4 -0
- package/dist/esm/swappers/BebopSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/BebopSwapper/endpoints.js +55 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.d.ts +6 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +113 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.d.ts +6 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +88 -0
- package/dist/esm/swappers/BebopSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/BebopSwapper/index.js +2 -0
- package/dist/esm/swappers/BebopSwapper/types.d.ts +89 -0
- package/dist/esm/swappers/BebopSwapper/types.js +24 -0
- package/dist/esm/swappers/BebopSwapper/utils/bebopService.d.ts +9 -0
- package/dist/esm/swappers/BebopSwapper/utils/bebopService.js +24 -0
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +23 -0
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +88 -0
- package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -0
- package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.js +51 -0
- package/dist/esm/swappers/ButterSwap/ButterSwap.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/ButterSwap.js +8 -0
- package/dist/esm/swappers/ButterSwap/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/endpoints.js +69 -0
- package/dist/esm/swappers/ButterSwap/index.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/index.js +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.js +85 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.test.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.test.js +180 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +187 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +58 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.js +115 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.js +90 -0
- package/dist/esm/swappers/ButterSwap/test-data/eth-btc.json +461 -0
- package/dist/esm/swappers/ButterSwap/test-data/routeQuote.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/test-data/routeQuote.js +76 -0
- package/dist/esm/swappers/ButterSwap/types.d.ts +236 -0
- package/dist/esm/swappers/ButterSwap/types.js +1 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapHistoryService.d.ts +6 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapHistoryService.js +13 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapService.d.ts +6 -0
- package/dist/esm/swappers/ButterSwap/utils/butterSwapService.js +13 -0
- package/dist/esm/swappers/ButterSwap/utils/constants.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/utils/constants.js +6 -0
- package/dist/esm/swappers/ButterSwap/utils/helpers.d.ts +3 -0
- package/dist/esm/swappers/ButterSwap/utils/helpers.js +22 -0
- package/dist/esm/swappers/ButterSwap/xhr.d.ts +50 -0
- package/dist/esm/swappers/ButterSwap/xhr.js +132 -0
- package/dist/esm/swappers/ChainflipSwapper/ChainflipSwapper.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/ChainflipSwapper.js +8 -0
- package/dist/esm/swappers/ChainflipSwapper/constants.d.ts +26 -0
- package/dist/esm/swappers/ChainflipSwapper/constants.js +52 -0
- package/dist/esm/swappers/ChainflipSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/endpoints.js +191 -0
- package/dist/esm/swappers/ChainflipSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/index.js +2 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.d.ts +130 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteBoostQuote.js +67 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.d.ts +43 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteEstimatedDurationsSeconds.js +44 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.d.ts +157 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuote.js +79 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.d.ts +61 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasQuoteQuoteFee.js +56 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.d.ts +103 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusChunkInfo.js +54 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.d.ts +50 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusDca.js +49 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.d.ts +98 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusEgress.js +56 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.d.ts +99 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasStatusSwap.js +68 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.d.ts +79 -0
- package/dist/esm/swappers/ChainflipSwapper/models/ChainflipBaasSwapDepositAddress.js +52 -0
- package/dist/esm/swappers/ChainflipSwapper/models/index.d.ts +3 -0
- package/dist/esm/swappers/ChainflipSwapper/models/index.js +3 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +139 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeRate.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeRate.js +9 -0
- package/dist/esm/swappers/ChainflipSwapper/types.d.ts +15 -0
- package/dist/esm/swappers/ChainflipSwapper/types.js +7 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/chainflipService.d.ts +5 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/chainflipService.js +12 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getEvmTxFees.d.ts +8 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getEvmTxFees.js +11 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.d.ts +2 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getLatestChainflipStatusMessage.js +24 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.d.ts +3 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +293 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getUtxoTxFees.d.ts +9 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getUtxoTxFees.js +21 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/helpers.d.ts +36 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/helpers.js +76 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.d.ts +2 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.js +24 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.test.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/CowSwapper.test.js +178 -0
- package/dist/esm/swappers/CowSwapper/constants.d.ts +6 -0
- package/dist/esm/swappers/CowSwapper/constants.js +7 -0
- package/dist/esm/swappers/CowSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/CowSwapper/endpoints.js +145 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +124 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +520 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.d.ts +3 -0
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +123 -0
- package/dist/esm/swappers/CowSwapper/index.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/index.js +1 -0
- package/dist/esm/swappers/CowSwapper/types.d.ts +18 -0
- package/dist/esm/swappers/CowSwapper/types.js +1 -0
- package/dist/esm/swappers/CowSwapper/utils/blacklist.d.ts +1 -0
- package/dist/{swappers/zrx → esm/swappers/CowSwapper}/utils/blacklist.js +4 -6
- package/dist/esm/swappers/CowSwapper/utils/cowService.d.ts +6 -0
- package/dist/esm/swappers/CowSwapper/utils/cowService.js +12 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.d.ts +44 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.js +78 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.test.js +58 -0
- package/dist/esm/swappers/JupiterSwapper/JupiterSwapper.d.ts +2 -0
- package/dist/esm/swappers/JupiterSwapper/JupiterSwapper.js +24 -0
- package/dist/esm/swappers/JupiterSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/JupiterSwapper/endpoints.js +12 -0
- package/dist/esm/swappers/JupiterSwapper/errorPatterns.d.ts +15 -0
- package/dist/esm/swappers/JupiterSwapper/errorPatterns.js +25 -0
- package/dist/esm/swappers/JupiterSwapper/idls/referral.d.ts +739 -0
- package/dist/esm/swappers/JupiterSwapper/idls/referral.js +738 -0
- package/dist/esm/swappers/JupiterSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/JupiterSwapper/index.js +2 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +187 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeRate.js +168 -0
- package/dist/esm/swappers/JupiterSwapper/utils/constants.d.ts +9 -0
- package/dist/esm/swappers/JupiterSwapper/utils/constants.js +11 -0
- package/dist/esm/swappers/JupiterSwapper/utils/helpers.d.ts +58 -0
- package/dist/esm/swappers/JupiterSwapper/utils/helpers.js +169 -0
- package/dist/esm/swappers/JupiterSwapper/utils/jupiterService.d.ts +5 -0
- package/dist/esm/swappers/JupiterSwapper/utils/jupiterService.js +12 -0
- package/dist/esm/swappers/MayachainSwapper/MayachainSwapper.d.ts +2 -0
- package/dist/esm/swappers/MayachainSwapper/MayachainSwapper.js +10 -0
- package/dist/esm/swappers/MayachainSwapper/constants.d.ts +6 -0
- package/dist/esm/swappers/MayachainSwapper/constants.js +10 -0
- package/dist/esm/swappers/MayachainSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/MayachainSwapper/endpoints.js +65 -0
- package/dist/esm/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +25 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeQuote.js +20 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/MayachainSwapper/getTradeRate.js +20 -0
- package/dist/esm/swappers/MayachainSwapper/index.d.ts +4 -0
- package/dist/esm/swappers/MayachainSwapper/index.js +4 -0
- package/dist/esm/swappers/MayachainSwapper/utils/index.d.ts +7 -0
- package/dist/esm/swappers/MayachainSwapper/utils/index.js +36 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +6 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +54 -0
- package/dist/esm/swappers/PortalsSwapper/PortalsSwapper.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/PortalsSwapper.js +4 -0
- package/dist/esm/swappers/PortalsSwapper/constants.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/constants.js +11 -0
- package/dist/esm/swappers/PortalsSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/endpoints.js +50 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +5 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +204 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +5 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +142 -0
- package/dist/esm/swappers/PortalsSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/PortalsSwapper/index.js +2 -0
- package/dist/esm/swappers/PortalsSwapper/types.d.ts +3 -0
- package/dist/esm/swappers/PortalsSwapper/types.js +12 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +76 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.js +59 -0
- package/dist/esm/swappers/PortalsSwapper/utils/helpers.d.ts +4 -0
- package/dist/esm/swappers/PortalsSwapper/utils/helpers.js +27 -0
- package/dist/esm/swappers/RelaySwapper/RelaySwapper.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/RelaySwapper.js +8 -0
- package/dist/esm/swappers/RelaySwapper/constant.d.ts +23 -0
- package/dist/esm/swappers/RelaySwapper/constant.js +70 -0
- package/dist/esm/swappers/RelaySwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/endpoints.js +188 -0
- package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +28 -0
- package/dist/esm/swappers/RelaySwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/RelaySwapper/getTradeRate/getTradeRate.js +16 -0
- package/dist/esm/swappers/RelaySwapper/index.d.ts +1 -0
- package/dist/esm/swappers/RelaySwapper/index.js +1 -0
- package/dist/esm/swappers/RelaySwapper/utils/fetchRelayTrade.d.ts +5 -0
- package/dist/esm/swappers/RelaySwapper/utils/fetchRelayTrade.js +4 -0
- package/dist/esm/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.js +18 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.d.ts +3 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.js +15 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.js +12 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayPsbtRelayer.d.ts +1 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayPsbtRelayer.js +20 -0
- package/dist/esm/swappers/RelaySwapper/utils/getTrade.d.ts +14 -0
- package/dist/esm/swappers/RelaySwapper/utils/getTrade.js +446 -0
- package/dist/esm/swappers/RelaySwapper/utils/notifyTransactionIndexing.d.ts +11 -0
- package/dist/esm/swappers/RelaySwapper/utils/notifyTransactionIndexing.js +4 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayService.d.ts +5 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayService.js +12 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAsset.d.ts +6 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAsset.js +12 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.d.ts +3 -0
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +93 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +157 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.js +34 -0
- package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.js +10 -0
- package/dist/esm/swappers/ThorchainSwapper/constants.d.ts +7 -0
- package/dist/esm/swappers/ThorchainSwapper/constants.js +11 -0
- package/dist/esm/swappers/ThorchainSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/endpoints.js +78 -0
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +4618 -0
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +45 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.js +61 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +208 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeRate/getTradeRate.js +61 -0
- package/dist/esm/swappers/ThorchainSwapper/index.d.ts +7 -0
- package/dist/esm/swappers/ThorchainSwapper/index.js +7 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.d.ts +14 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +64 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +116 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/constants.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/constants.js +5 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getBestAggregator.d.ts +6 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getBestAggregator.js +29 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +119 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +107 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.js +66 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailRate.d.ts +4 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailRate.js +66 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.d.ts +5 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.js +48 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.js +97 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +23 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +36 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/longTailHelpers.d.ts +48 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/longTailHelpers.js +136 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +6 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +6 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.d.ts +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +54 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/responses.d.ts +7 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/responses.js +198 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.js +34 -0
- package/dist/esm/swappers/ZrxSwapper/ZrxSwapper.d.ts +2 -0
- package/dist/esm/swappers/ZrxSwapper/ZrxSwapper.js +4 -0
- package/dist/esm/swappers/ZrxSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/ZrxSwapper/endpoints.js +72 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.d.ts +6 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +112 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +134 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.d.ts +4 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +68 -0
- package/dist/esm/swappers/ZrxSwapper/types.d.ts +76 -0
- package/dist/esm/swappers/ZrxSwapper/types.js +10 -0
- package/dist/esm/swappers/ZrxSwapper/utils/constants.d.ts +4 -0
- package/dist/esm/swappers/ZrxSwapper/utils/constants.js +23 -0
- package/dist/esm/swappers/ZrxSwapper/utils/fetchFromZrx.d.ts +25 -0
- package/dist/esm/swappers/ZrxSwapper/utils/fetchFromZrx.js +49 -0
- package/dist/esm/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +34 -0
- package/dist/esm/swappers/ZrxSwapper/utils/helpers/helpers.js +135 -0
- package/dist/esm/swappers/ZrxSwapper/utils/zrxService.d.ts +9 -0
- package/dist/esm/swappers/ZrxSwapper/utils/zrxService.js +12 -0
- package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.d.ts +4 -0
- package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +21 -0
- package/dist/esm/swappers/utils/helpers/helpers.d.ts +3 -0
- package/dist/esm/swappers/utils/helpers/helpers.js +47 -0
- package/dist/esm/swappers/utils/helpers/helpers.test.d.ts +1 -0
- package/dist/esm/swappers/utils/helpers/helpers.test.js +8 -0
- package/dist/esm/swappers/utils/test-data/assets.d.ts +17 -0
- package/dist/esm/swappers/utils/test-data/assets.js +218 -0
- package/dist/esm/swappers/utils/test-data/cryptoMarketDataById.d.ts +5 -0
- package/dist/esm/swappers/utils/test-data/cryptoMarketDataById.js +15 -0
- package/dist/esm/swappers/utils/test-data/fees.d.ts +2 -0
- package/dist/esm/swappers/utils/test-data/fees.js +17 -0
- package/dist/esm/swappers/utils/test-data/index.d.ts +2 -0
- package/dist/esm/swappers/utils/test-data/index.js +2 -0
- package/dist/esm/swappers/utils/test-data/setupSwapQuote.d.ts +8 -0
- package/dist/esm/swappers/utils/test-data/setupSwapQuote.js +48 -0
- package/dist/esm/thorchain-utils/checkTradeStatus.d.ts +8 -0
- package/dist/esm/thorchain-utils/checkTradeStatus.js +68 -0
- package/dist/esm/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.js +11 -0
- package/dist/esm/thorchain-utils/cosmossdk/index.d.ts +1 -0
- package/dist/esm/thorchain-utils/cosmossdk/index.js +1 -0
- package/dist/esm/thorchain-utils/evm/getEvmData.d.ts +13 -0
- package/dist/esm/thorchain-utils/evm/getEvmData.js +87 -0
- package/dist/esm/thorchain-utils/evm/getEvmTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/evm/getEvmTransactionFees.js +19 -0
- package/dist/esm/thorchain-utils/evm/getThorTxData.d.ts +18 -0
- package/dist/esm/thorchain-utils/evm/getThorTxData.js +29 -0
- package/dist/esm/thorchain-utils/evm/getUnsignedEvmTransaction.d.ts +4 -0
- package/dist/esm/thorchain-utils/evm/getUnsignedEvmTransaction.js +19 -0
- package/dist/esm/thorchain-utils/evm/index.d.ts +3 -0
- package/dist/esm/thorchain-utils/evm/index.js +3 -0
- package/dist/esm/thorchain-utils/getCallDataFromQuote.d.ts +9 -0
- package/dist/esm/thorchain-utils/getCallDataFromQuote.js +50 -0
- package/dist/esm/thorchain-utils/getInboundAddressDataForChain.d.ts +5 -0
- package/dist/esm/thorchain-utils/getInboundAddressDataForChain.js +31 -0
- package/dist/esm/thorchain-utils/getL1RateOrQuote.d.ts +6 -0
- package/dist/esm/thorchain-utils/getL1RateOrQuote.js +275 -0
- package/dist/esm/thorchain-utils/getLatestThorTxStatusMessage.d.ts +2 -0
- package/dist/esm/thorchain-utils/getLatestThorTxStatusMessage.js +76 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.d.ts +5 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.js +7 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/getLimitWithManualSlippage/getLimitWithManualSlippage.test.js +14 -0
- package/dist/esm/thorchain-utils/getPoolDetails.d.ts +20 -0
- package/dist/esm/thorchain-utils/getPoolDetails.js +47 -0
- package/dist/esm/thorchain-utils/getQuote.d.ts +21 -0
- package/dist/esm/thorchain-utils/getQuote.js +63 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.d.ts +11 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.js +34 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/getThresholdedAffiliateBps/getThresholdedAffiliateBps.test.js +92 -0
- package/dist/esm/thorchain-utils/index.d.ts +30 -0
- package/dist/esm/thorchain-utils/index.js +131 -0
- package/dist/esm/thorchain-utils/memo/addAggregatorAddressToMemo.d.ts +12 -0
- package/dist/esm/thorchain-utils/memo/addAggregatorAddressToMemo.js +39 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetAddressToMemo.d.ts +15 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetAddressToMemo.js +44 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetLimitToMemo.d.ts +16 -0
- package/dist/esm/thorchain-utils/memo/addFinalAssetLimitToMemo.js +47 -0
- package/dist/esm/thorchain-utils/memo/addLimitToMemo.d.ts +18 -0
- package/dist/esm/thorchain-utils/memo/addLimitToMemo.js +55 -0
- package/dist/esm/thorchain-utils/memo/assertAndProcessMemo.d.ts +4 -0
- package/dist/esm/thorchain-utils/memo/assertAndProcessMemo.js +193 -0
- package/dist/esm/thorchain-utils/memo/constants.d.ts +1 -0
- package/dist/esm/thorchain-utils/memo/constants.js +1 -0
- package/dist/esm/thorchain-utils/memo/index.d.ts +6 -0
- package/dist/esm/thorchain-utils/memo/index.js +6 -0
- package/dist/esm/thorchain-utils/memo/index.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/memo/index.test.js +890 -0
- package/dist/esm/thorchain-utils/parseBuyTxHash.d.ts +2 -0
- package/dist/esm/thorchain-utils/parseBuyTxHash.js +10 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCallData.test.d.ts +1 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCallData.test.js +18 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCalldata.d.ts +8 -0
- package/dist/esm/thorchain-utils/routerCallData/routerCalldata.js +10 -0
- package/dist/esm/thorchain-utils/service.d.ts +5 -0
- package/dist/esm/thorchain-utils/service.js +12 -0
- package/dist/esm/thorchain-utils/types.d.ts +273 -0
- package/dist/esm/thorchain-utils/types.js +23 -0
- package/dist/esm/thorchain-utils/utxo/getThorTxData.d.ts +12 -0
- package/dist/esm/thorchain-utils/utxo/getThorTxData.js +10 -0
- package/dist/esm/thorchain-utils/utxo/getUnsignedUtxoTransaction.d.ts +4 -0
- package/dist/esm/thorchain-utils/utxo/getUnsignedUtxoTransaction.js +30 -0
- package/dist/esm/thorchain-utils/utxo/getUtxoTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/utxo/getUtxoTransactionFees.js +25 -0
- package/dist/esm/thorchain-utils/utxo/index.d.ts +3 -0
- package/dist/esm/thorchain-utils/utxo/index.js +3 -0
- package/dist/esm/types.d.ts +516 -0
- package/dist/esm/types.js +78 -0
- package/dist/esm/utils.d.ts +62 -0
- package/dist/esm/utils.js +183 -0
- package/package.json +25 -39
- package/README.md +0 -72
- package/dist/adapters.d.ts +0 -2
- package/dist/adapters.js +0 -94
- package/dist/api.d.ts +0 -279
- package/dist/api.js +0 -57
- package/dist/index.d.ts +0 -3
- package/dist/manager/SwapperManager.d.ts +0 -41
- package/dist/manager/SwapperManager.js +0 -110
- package/dist/manager/index.d.ts +0 -1
- package/dist/manager/testData.d.ts +0 -12
- package/dist/manager/testData.js +0 -108
- package/dist/manager/utils.d.ts +0 -4
- package/dist/manager/utils.js +0 -40
- package/dist/swappercli.js +0 -194
- package/dist/swappers/cow/CowSwapper.d.ts +0 -30
- package/dist/swappers/cow/CowSwapper.js +0 -81
- package/dist/swappers/cow/cowApprovalNeeded/cowApprovalNeeded.d.ts +0 -4
- package/dist/swappers/cow/cowApprovalNeeded/cowApprovalNeeded.js +0 -43
- package/dist/swappers/cow/cowApprove/cowApprove.d.ts +0 -5
- package/dist/swappers/cow/cowApprove/cowApprove.js +0 -56
- package/dist/swappers/cow/cowBuildTrade/cowBuildTrade.d.ts +0 -5
- package/dist/swappers/cow/cowBuildTrade/cowBuildTrade.js +0 -124
- package/dist/swappers/cow/cowExecuteTrade/cowExecuteTrade.d.ts +0 -4
- package/dist/swappers/cow/cowExecuteTrade/cowExecuteTrade.js +0 -98
- package/dist/swappers/cow/cowGetTradeTxs/cowGetTradeTxs.d.ts +0 -3
- package/dist/swappers/cow/cowGetTradeTxs/cowGetTradeTxs.js +0 -31
- package/dist/swappers/cow/getCowSwapMinMax/getCowSwapMinMax.d.ts +0 -4
- package/dist/swappers/cow/getCowSwapMinMax/getCowSwapMinMax.js +0 -31
- package/dist/swappers/cow/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +0 -4
- package/dist/swappers/cow/getCowSwapTradeQuote/getCowSwapTradeQuote.js +0 -144
- package/dist/swappers/cow/types.d.ts +0 -29
- package/dist/swappers/cow/utils/constants.d.ts +0 -19
- package/dist/swappers/cow/utils/constants.js +0 -22
- package/dist/swappers/cow/utils/cowService.d.ts +0 -1
- package/dist/swappers/cow/utils/cowService.js +0 -20
- package/dist/swappers/cow/utils/helpers/helpers.d.ts +0 -57
- package/dist/swappers/cow/utils/helpers/helpers.js +0 -124
- package/dist/swappers/cow/utils.d.ts +0 -4
- package/dist/swappers/cow/utils.js +0 -5
- package/dist/swappers/index.d.ts +0 -7
- package/dist/swappers/index.js +0 -26
- package/dist/swappers/osmosis/OsmosisSwapper.d.ts +0 -28
- package/dist/swappers/osmosis/OsmosisSwapper.js +0 -256
- package/dist/swappers/osmosis/utils/constants.d.ts +0 -9
- package/dist/swappers/osmosis/utils/constants.js +0 -9
- package/dist/swappers/osmosis/utils/helpers.d.ts +0 -44
- package/dist/swappers/osmosis/utils/helpers.js +0 -277
- package/dist/swappers/osmosis/utils/osmoService.d.ts +0 -1
- package/dist/swappers/osmosis/utils/osmoService.js +0 -20
- package/dist/swappers/osmosis/utils/types.d.ts +0 -27
- package/dist/swappers/test/TestSwapper.d.ts +0 -24
- package/dist/swappers/test/TestSwapper.js +0 -61
- package/dist/swappers/thorchain/ThorchainSwapper.d.ts +0 -38
- package/dist/swappers/thorchain/ThorchainSwapper.js +0 -209
- package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.d.ts +0 -9
- package/dist/swappers/thorchain/buildThorTrade/buildThorTrade.js +0 -116
- package/dist/swappers/thorchain/constants.d.ts +0 -1
- package/dist/swappers/thorchain/constants.js +0 -6
- package/dist/swappers/thorchain/cosmossdk/getCosmosTxData.d.ts +0 -22
- package/dist/swappers/thorchain/cosmossdk/getCosmosTxData.js +0 -70
- package/dist/swappers/thorchain/evm/makeTradeTx.d.ts +0 -30
- package/dist/swappers/thorchain/evm/makeTradeTx.js +0 -42
- package/dist/swappers/thorchain/evm/routerAbi.d.ts +0 -2
- package/dist/swappers/thorchain/evm/routerAbi.js +0 -153
- package/dist/swappers/thorchain/evm/routerCalldata.d.ts +0 -1
- package/dist/swappers/thorchain/evm/routerCalldata.js +0 -15
- package/dist/swappers/thorchain/evm/utils/getThorTxData.d.ts +0 -18
- package/dist/swappers/thorchain/evm/utils/getThorTxData.js +0 -44
- package/dist/swappers/thorchain/getThorTradeQuote/getSlippage.d.ts +0 -23
- package/dist/swappers/thorchain/getThorTradeQuote/getSlippage.js +0 -69
- package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.d.ts +0 -11
- package/dist/swappers/thorchain/getThorTradeQuote/getTradeQuote.js +0 -146
- package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.d.ts +0 -7
- package/dist/swappers/thorchain/thorTradeApprovalNeeded/thorTradeApprovalNeeded.js +0 -62
- package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.d.ts +0 -7
- package/dist/swappers/thorchain/thorTradeApproveInfinite/thorTradeApproveInfinite.js +0 -52
- package/dist/swappers/thorchain/types.d.ts +0 -72
- package/dist/swappers/thorchain/utils/constants.d.ts +0 -7
- package/dist/swappers/thorchain/utils/constants.js +0 -10
- package/dist/swappers/thorchain/utils/getInboundAddressDataForChain.d.ts +0 -3
- package/dist/swappers/thorchain/utils/getInboundAddressDataForChain.js +0 -15
- package/dist/swappers/thorchain/utils/getLimit/getLimit.d.ts +0 -11
- package/dist/swappers/thorchain/utils/getLimit/getLimit.js +0 -73
- package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.d.ts +0 -6
- package/dist/swappers/thorchain/utils/getPriceRatio/getPriceRatio.js +0 -75
- package/dist/swappers/thorchain/utils/getTradeRate/getTradeRate.d.ts +0 -6
- package/dist/swappers/thorchain/utils/getTradeRate/getTradeRate.js +0 -84
- package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.d.ts +0 -2
- package/dist/swappers/thorchain/utils/getUsdRate/getUsdRate.js +0 -79
- package/dist/swappers/thorchain/utils/isRune/isRune.d.ts +0 -2
- package/dist/swappers/thorchain/utils/isRune/isRune.js +0 -6
- package/dist/swappers/thorchain/utils/makeSwapMemo/assertIsValidMemo.d.ts +0 -3
- package/dist/swappers/thorchain/utils/makeSwapMemo/assertIsValidMemo.js +0 -69
- package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.d.ts +0 -20
- package/dist/swappers/thorchain/utils/makeSwapMemo/makeSwapMemo.js +0 -68
- package/dist/swappers/thorchain/utils/test-data/setupThorswapDeps.d.ts +0 -2
- package/dist/swappers/thorchain/utils/test-data/setupThorswapDeps.js +0 -50
- package/dist/swappers/thorchain/utils/thorService.d.ts +0 -1
- package/dist/swappers/thorchain/utils/thorService.js +0 -25
- package/dist/swappers/thorchain/utils/txFeeHelpers/evmTxFees/getEvmTxFees.d.ts +0 -11
- package/dist/swappers/thorchain/utils/txFeeHelpers/evmTxFees/getEvmTxFees.js +0 -46
- package/dist/swappers/thorchain/utils/txFeeHelpers/utxoTxFees/getUtxoTxFees.d.ts +0 -14
- package/dist/swappers/thorchain/utils/txFeeHelpers/utxoTxFees/getUtxoTxFees.js +0 -44
- package/dist/swappers/thorchain/utxo/utils/getThorTxData.d.ts +0 -20
- package/dist/swappers/thorchain/utxo/utils/getThorTxData.js +0 -42
- package/dist/swappers/utils/abi/erc20-abi.d.ts +0 -2
- package/dist/swappers/utils/abi/erc20-abi.js +0 -225
- package/dist/swappers/utils/abi/erc20Allowance-abi.d.ts +0 -2
- package/dist/swappers/utils/abi/erc20Allowance-abi.js +0 -28
- package/dist/swappers/utils/bignumber.d.ts +0 -6
- package/dist/swappers/utils/bignumber.js +0 -27
- package/dist/swappers/utils/constants.d.ts +0 -3
- package/dist/swappers/utils/constants.js +0 -6
- package/dist/swappers/utils/helpers/helpers.d.ts +0 -47
- package/dist/swappers/utils/helpers/helpers.js +0 -123
- package/dist/swappers/utils/test-data/assets.d.ts +0 -12
- package/dist/swappers/utils/test-data/assets.js +0 -140
- package/dist/swappers/utils/test-data/setupDeps.d.ts +0 -7
- package/dist/swappers/utils/test-data/setupDeps.js +0 -52
- package/dist/swappers/utils/test-data/setupSwapQuote.d.ts +0 -28
- package/dist/swappers/utils/test-data/setupSwapQuote.js +0 -54
- package/dist/swappers/zrx/ZrxSwapper.d.ts +0 -25
- package/dist/swappers/zrx/ZrxSwapper.js +0 -73
- package/dist/swappers/zrx/getZrxMinMax/getZrxMinMax.d.ts +0 -3
- package/dist/swappers/zrx/getZrxMinMax/getZrxMinMax.js +0 -30
- package/dist/swappers/zrx/getZrxTradeQuote/getZrxTradeQuote.d.ts +0 -3
- package/dist/swappers/zrx/getZrxTradeQuote/getZrxTradeQuote.js +0 -86
- package/dist/swappers/zrx/types.d.ts +0 -32
- package/dist/swappers/zrx/utils/applyAxiosRetry.d.ts +0 -3
- package/dist/swappers/zrx/utils/applyAxiosRetry.js +0 -13
- package/dist/swappers/zrx/utils/blacklist.d.ts +0 -1
- package/dist/swappers/zrx/utils/constants.d.ts +0 -5
- package/dist/swappers/zrx/utils/constants.js +0 -8
- package/dist/swappers/zrx/utils/helpers/helpers.d.ts +0 -7
- package/dist/swappers/zrx/utils/helpers/helpers.js +0 -96
- package/dist/swappers/zrx/utils/test-data/setupZrxSwapQuote.d.ts +0 -35
- package/dist/swappers/zrx/utils/test-data/setupZrxSwapQuote.js +0 -51
- package/dist/swappers/zrx/utils/zrxService.d.ts +0 -2
- package/dist/swappers/zrx/zrxApprovalNeeded/zrxApprovalNeeded.d.ts +0 -4
- package/dist/swappers/zrx/zrxApprovalNeeded/zrxApprovalNeeded.js +0 -58
- package/dist/swappers/zrx/zrxApprove/zrxApprove.d.ts +0 -5
- package/dist/swappers/zrx/zrxApprove/zrxApprove.js +0 -61
- package/dist/swappers/zrx/zrxBuildTrade/zrxBuildTrade.d.ts +0 -4
- package/dist/swappers/zrx/zrxBuildTrade/zrxBuildTrade.js +0 -135
- package/dist/swappers/zrx/zrxExecuteTrade/zrxExecuteTrade.d.ts +0 -4
- package/dist/swappers/zrx/zrxExecuteTrade/zrxExecuteTrade.js +0 -54
- package/dist/typeGuards.d.ts +0 -2
- package/dist/typeGuards.js +0 -7
- package/dist/utils.d.ts +0 -3
- package/dist/utils.js +0 -24
- /package/dist/{swappers/cow → cjs/safe-utils}/types.js +0 -0
- /package/dist/{swappercli.d.ts → cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.d.ts} +0 -0
- /package/dist/{swappers/osmosis/utils → cjs/swappers/ButterSwap}/types.js +0 -0
- /package/dist/{swappers/thorchain → cjs/swappers/CowSwapper}/types.js +0 -0
- /package/dist/{swappers/cow → cjs/swappers/CowSwapper}/utils/blacklist.d.ts +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ParentToChildMessageReader, ParentToChildMessageReaderClassic } from '@arbitrum/sdk';
|
|
2
|
+
import type { ethers as ethersv5 } from 'ethers5';
|
|
3
|
+
import type { SwapperApi } from '../../types.js';
|
|
4
|
+
export declare const getParentToChildMessageDataFromParentTxHash: ({ depositTxId, parentProvider, childProvider, isClassic, }: {
|
|
5
|
+
depositTxId: string;
|
|
6
|
+
parentProvider: ethersv5.providers.JsonRpcProvider;
|
|
7
|
+
childProvider: ethersv5.providers.JsonRpcProvider;
|
|
8
|
+
isClassic?: boolean | undefined;
|
|
9
|
+
}) => Promise<{
|
|
10
|
+
isClassic?: boolean | undefined;
|
|
11
|
+
parentToChildMsg?: ParentToChildMessageReaderClassic | ParentToChildMessageReader | undefined;
|
|
12
|
+
} | undefined>;
|
|
13
|
+
export declare const arbitrumBridgeApi: SwapperApi;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { ParentToChildMessageStatus, ParentTransactionReceipt } from '@arbitrum/sdk';
|
|
2
|
+
import { arbitrumChainId } from '@shapeshiftoss/caip';
|
|
3
|
+
import { evm } from '@shapeshiftoss/chain-adapters';
|
|
4
|
+
import { getEthersV5Provider } from '@shapeshiftoss/contracts';
|
|
5
|
+
import { KnownChainIds } from '@shapeshiftoss/types';
|
|
6
|
+
import { TxStatus } from '@shapeshiftoss/unchained-client';
|
|
7
|
+
import { checkEvmSwapStatus, getExecutableTradeStep, getHopByIndex, isExecutableTradeQuote, } from '../../utils.js';
|
|
8
|
+
import { getTradeQuote } from './getTradeQuote/getTradeQuote.js';
|
|
9
|
+
import { getTradeRate } from './getTradeRate/getTradeRate.js';
|
|
10
|
+
import { fetchArbitrumBridgeQuote } from './utils/fetchArbitrumBridgeSwap.js';
|
|
11
|
+
import { assertValidTrade } from './utils/helpers.js';
|
|
12
|
+
const tradeQuoteMetadata = new Map();
|
|
13
|
+
// https://github.com/OffchainLabs/arbitrum-token-bridge/blob/d17c88ef3eef3f4ffc61a04d34d50406039f045d/packages/arb-token-bridge-ui/src/util/deposits/helpers.ts#L268
|
|
14
|
+
export const getParentToChildMessageDataFromParentTxHash = async ({ depositTxId, parentProvider, childProvider, isClassic, // optional: if we already know if tx is classic (eg. through subgraph) then no need to re-check in this fn
|
|
15
|
+
}) => {
|
|
16
|
+
// fetch Parent transaction receipt
|
|
17
|
+
const depositTxReceipt = await parentProvider.getTransactionReceipt(depositTxId);
|
|
18
|
+
if (!depositTxReceipt)
|
|
19
|
+
return;
|
|
20
|
+
const parentTxReceipt = new ParentTransactionReceipt(depositTxReceipt);
|
|
21
|
+
// classic (pre-nitro) handling
|
|
22
|
+
const getClassicDepositMessage = async () => {
|
|
23
|
+
const [parentToChildMsg] = await parentTxReceipt.getParentToChildMessagesClassic(childProvider);
|
|
24
|
+
return {
|
|
25
|
+
isClassic: true,
|
|
26
|
+
parentToChildMsg,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
// post-nitro handling
|
|
30
|
+
const getNitroDepositMessage = async () => {
|
|
31
|
+
const [parentToChildMsg] = await parentTxReceipt.getParentToChildMessages(childProvider);
|
|
32
|
+
return {
|
|
33
|
+
isClassic: false,
|
|
34
|
+
parentToChildMsg,
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
// if it is unknown whether the transaction isClassic or not, fetch the result
|
|
38
|
+
const safeIsClassic = isClassic ?? (await parentTxReceipt.isClassic(childProvider));
|
|
39
|
+
if (safeIsClassic) {
|
|
40
|
+
// classic (pre-nitro) deposit - both eth + token
|
|
41
|
+
return getClassicDepositMessage();
|
|
42
|
+
}
|
|
43
|
+
// post-nitro deposit - both eth + token
|
|
44
|
+
return getNitroDepositMessage();
|
|
45
|
+
};
|
|
46
|
+
export const arbitrumBridgeApi = {
|
|
47
|
+
getTradeQuote: async (input, deps) => {
|
|
48
|
+
const tradeQuoteResult = await getTradeQuote(input, deps);
|
|
49
|
+
return tradeQuoteResult.map(tradeQuote => {
|
|
50
|
+
const id = tradeQuote.id;
|
|
51
|
+
const firstHop = getHopByIndex(tradeQuote, 0);
|
|
52
|
+
if (!firstHop) {
|
|
53
|
+
console.error('No first hop found in trade quote');
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
tradeQuoteMetadata.set(id, {
|
|
57
|
+
sellAssetId: firstHop.sellAsset.assetId,
|
|
58
|
+
chainId: firstHop.sellAsset.chainId,
|
|
59
|
+
});
|
|
60
|
+
return [tradeQuote];
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
getTradeRate: async (input, deps) => {
|
|
64
|
+
const tradeRateResult = await getTradeRate(input, deps);
|
|
65
|
+
return tradeRateResult.map(tradeRate => {
|
|
66
|
+
const id = tradeRate.id;
|
|
67
|
+
const firstHop = getHopByIndex(tradeRate, 0);
|
|
68
|
+
if (!firstHop) {
|
|
69
|
+
console.error('No first hop found in trade rate');
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
tradeQuoteMetadata.set(id, {
|
|
73
|
+
sellAssetId: firstHop.sellAsset.assetId,
|
|
74
|
+
chainId: firstHop.sellAsset.chainId,
|
|
75
|
+
});
|
|
76
|
+
return [tradeRate];
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
getUnsignedEvmTransaction: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
80
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
81
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
82
|
+
const { receiveAddress } = tradeQuote;
|
|
83
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
84
|
+
const { accountNumber, buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit } = step;
|
|
85
|
+
const assertion = await assertValidTrade({ buyAsset, sellAsset });
|
|
86
|
+
if (assertion.isErr())
|
|
87
|
+
throw new Error(assertion.unwrapErr().message);
|
|
88
|
+
const swap = await fetchArbitrumBridgeQuote({
|
|
89
|
+
chainId: sellAsset.chainId,
|
|
90
|
+
supportsEIP1559,
|
|
91
|
+
buyAsset,
|
|
92
|
+
receiveAddress,
|
|
93
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
94
|
+
sellAsset,
|
|
95
|
+
sendAddress: from,
|
|
96
|
+
assertGetEvmChainAdapter,
|
|
97
|
+
});
|
|
98
|
+
const { request } = swap;
|
|
99
|
+
if (!request)
|
|
100
|
+
throw new Error('No request data found');
|
|
101
|
+
const { txRequest: { data, value, to }, } = request;
|
|
102
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
103
|
+
const feeData = await evm.getFees({
|
|
104
|
+
adapter,
|
|
105
|
+
data: data.toString(),
|
|
106
|
+
to,
|
|
107
|
+
value: value.toString(),
|
|
108
|
+
from,
|
|
109
|
+
supportsEIP1559,
|
|
110
|
+
});
|
|
111
|
+
return adapter.buildCustomApiTx({
|
|
112
|
+
accountNumber,
|
|
113
|
+
data: data.toString(),
|
|
114
|
+
from,
|
|
115
|
+
to,
|
|
116
|
+
value: value.toString(),
|
|
117
|
+
...feeData,
|
|
118
|
+
});
|
|
119
|
+
},
|
|
120
|
+
getEvmTransactionFees: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
121
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
122
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
123
|
+
const { receiveAddress } = tradeQuote;
|
|
124
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
125
|
+
const { buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit } = step;
|
|
126
|
+
const assertion = await assertValidTrade({ buyAsset, sellAsset });
|
|
127
|
+
if (assertion.isErr())
|
|
128
|
+
throw new Error(assertion.unwrapErr().message);
|
|
129
|
+
const swap = await fetchArbitrumBridgeQuote({
|
|
130
|
+
chainId: sellAsset.chainId,
|
|
131
|
+
supportsEIP1559,
|
|
132
|
+
buyAsset,
|
|
133
|
+
receiveAddress,
|
|
134
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
135
|
+
sellAsset,
|
|
136
|
+
sendAddress: from,
|
|
137
|
+
assertGetEvmChainAdapter,
|
|
138
|
+
});
|
|
139
|
+
const { request } = swap;
|
|
140
|
+
if (!request)
|
|
141
|
+
throw new Error('No request data found');
|
|
142
|
+
const { txRequest: { data, value, to }, } = request;
|
|
143
|
+
const { networkFeeCryptoBaseUnit } = await evm.getFees({
|
|
144
|
+
adapter: assertGetEvmChainAdapter(sellAsset.chainId),
|
|
145
|
+
data: data.toString(),
|
|
146
|
+
to,
|
|
147
|
+
value: value.toString(),
|
|
148
|
+
from,
|
|
149
|
+
supportsEIP1559,
|
|
150
|
+
});
|
|
151
|
+
return networkFeeCryptoBaseUnit;
|
|
152
|
+
},
|
|
153
|
+
checkTradeStatus: async ({ txHash, chainId, assertGetEvmChainAdapter, address, fetchIsSmartContractAddressQuery, }) => {
|
|
154
|
+
const swapTxStatus = await checkEvmSwapStatus({
|
|
155
|
+
txHash,
|
|
156
|
+
chainId,
|
|
157
|
+
assertGetEvmChainAdapter,
|
|
158
|
+
address,
|
|
159
|
+
fetchIsSmartContractAddressQuery,
|
|
160
|
+
});
|
|
161
|
+
const isWithdraw = chainId === arbitrumChainId;
|
|
162
|
+
if (isWithdraw) {
|
|
163
|
+
// We don't want to be polling for 7 days for Arb Child -> Parent, that's not very realistic for users.
|
|
164
|
+
// We simply return success when the Child Tx is confirmed, meaning the trade will show "complete" almost instantly
|
|
165
|
+
// and will handle the whole 7 days thing (that the user should've already been warned about with an ack before previewing)
|
|
166
|
+
// at confirm step
|
|
167
|
+
return {
|
|
168
|
+
...swapTxStatus,
|
|
169
|
+
// Note, we don't care about the buyTxHash here, since it will be available... in 7 days.
|
|
170
|
+
buyTxHash: undefined,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
if (swapTxStatus.status === TxStatus.Pending || swapTxStatus.status === TxStatus.Unknown) {
|
|
174
|
+
return {
|
|
175
|
+
status: TxStatus.Pending,
|
|
176
|
+
buyTxHash: undefined,
|
|
177
|
+
message: 'Parent Tx Pending',
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
const parentProvider = getEthersV5Provider(KnownChainIds.EthereumMainnet);
|
|
181
|
+
const childProvider = getEthersV5Provider(KnownChainIds.ArbitrumMainnet);
|
|
182
|
+
const maybeParentToChildMessageData = await getParentToChildMessageDataFromParentTxHash({
|
|
183
|
+
depositTxId: txHash,
|
|
184
|
+
parentProvider,
|
|
185
|
+
childProvider,
|
|
186
|
+
});
|
|
187
|
+
const maybeParentToChildMsg = maybeParentToChildMessageData?.parentToChildMsg;
|
|
188
|
+
const maybeBuyTxHash = await (async () => {
|
|
189
|
+
if (!maybeParentToChildMsg)
|
|
190
|
+
return;
|
|
191
|
+
if (maybeParentToChildMessageData?.isClassic) {
|
|
192
|
+
const msg = maybeParentToChildMsg;
|
|
193
|
+
const receipt = await msg.getRetryableCreationReceipt();
|
|
194
|
+
if (receipt?.status !== ParentToChildMessageStatus.REDEEMED)
|
|
195
|
+
return;
|
|
196
|
+
return receipt.transactionHash;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
const msg = maybeParentToChildMsg;
|
|
200
|
+
const successfulRedeem = await msg.getSuccessfulRedeem();
|
|
201
|
+
if (successfulRedeem.status !== ParentToChildMessageStatus.REDEEMED)
|
|
202
|
+
return;
|
|
203
|
+
return successfulRedeem.childTxReceipt.transactionHash;
|
|
204
|
+
}
|
|
205
|
+
})();
|
|
206
|
+
if (!maybeBuyTxHash) {
|
|
207
|
+
return {
|
|
208
|
+
status: TxStatus.Pending,
|
|
209
|
+
buyTxHash: maybeBuyTxHash,
|
|
210
|
+
message: 'Parent Tx confirmed, waiting for Child',
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
const childTxStatus = await checkEvmSwapStatus({
|
|
214
|
+
txHash: maybeBuyTxHash,
|
|
215
|
+
chainId: arbitrumChainId,
|
|
216
|
+
assertGetEvmChainAdapter,
|
|
217
|
+
address,
|
|
218
|
+
fetchIsSmartContractAddressQuery,
|
|
219
|
+
});
|
|
220
|
+
// i.e Unknown is perfectly valid since ETH deposits Child Txids are available immediately deterministically, but will only be in the mempool after ~10mn
|
|
221
|
+
if (childTxStatus.status === TxStatus.Pending || childTxStatus.status === TxStatus.Unknown) {
|
|
222
|
+
return {
|
|
223
|
+
status: TxStatus.Pending,
|
|
224
|
+
buyTxHash: maybeBuyTxHash,
|
|
225
|
+
message: 'Child Tx Pending',
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
return {
|
|
229
|
+
status: TxStatus.Confirmed,
|
|
230
|
+
buyTxHash: maybeBuyTxHash,
|
|
231
|
+
message: undefined,
|
|
232
|
+
};
|
|
233
|
+
},
|
|
234
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { GetEvmTradeQuoteInputBase, GetEvmTradeQuoteInputWithWallet, SwapErrorRight, SwapperDeps, TradeQuote, TradeRate } from '../../../types.js';
|
|
3
|
+
import type { ArbitrumBridgeTradeQuote, ArbitrumBridgeTradeRate } from '../types.js';
|
|
4
|
+
export declare const isArbitrumBridgeTradeQuoteOrRate: (quote: TradeQuote | TradeRate | undefined) => quote is ArbitrumBridgeTradeQuote | ArbitrumBridgeTradeRate;
|
|
5
|
+
export declare const getTradeQuoteWithWallet: (inputWithWallet: GetEvmTradeQuoteInputWithWallet, deps: SwapperDeps) => Promise<Result<ArbitrumBridgeTradeQuote, SwapErrorRight>>;
|
|
6
|
+
export declare function getTradeQuote(input: GetEvmTradeQuoteInputBase, { assertGetEvmChainAdapter }: SwapperDeps): Promise<Result<ArbitrumBridgeTradeQuote, SwapErrorRight>>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ethChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { supportsETH } from '@shapeshiftoss/hdwallet-core';
|
|
3
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
4
|
+
import { v4 as uuid } from 'uuid';
|
|
5
|
+
import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constants.js';
|
|
6
|
+
import { SwapperName, TradeQuoteError } from '../../../types.js';
|
|
7
|
+
import { makeSwapErrorRight } from '../../../utils.js';
|
|
8
|
+
import { fetchArbitrumBridgeQuote } from '../utils/fetchArbitrumBridgeSwap.js';
|
|
9
|
+
import { assertValidTrade } from '../utils/helpers.js';
|
|
10
|
+
export const isArbitrumBridgeTradeQuoteOrRate = (quote) => !!quote && 'direction' in quote;
|
|
11
|
+
export const getTradeQuoteWithWallet = async (inputWithWallet, deps) => {
|
|
12
|
+
const { wallet, ...input } = inputWithWallet;
|
|
13
|
+
const supportsEIP1559 = supportsETH(wallet) && (await wallet.ethSupportsEIP1559());
|
|
14
|
+
return getTradeQuote({
|
|
15
|
+
...input,
|
|
16
|
+
supportsEIP1559,
|
|
17
|
+
}, deps);
|
|
18
|
+
};
|
|
19
|
+
export async function getTradeQuote(input, { assertGetEvmChainAdapter }) {
|
|
20
|
+
const { chainId, sellAsset, buyAsset, accountNumber, supportsEIP1559, receiveAddress, sellAmountIncludingProtocolFeesCryptoBaseUnit, sendAddress, } = input;
|
|
21
|
+
const assertion = await assertValidTrade({ buyAsset, sellAsset });
|
|
22
|
+
if (assertion.isErr())
|
|
23
|
+
return Err(assertion.unwrapErr());
|
|
24
|
+
const isDeposit = sellAsset.chainId === ethChainId;
|
|
25
|
+
// 15 minutes for deposits, 7 days for withdrawals
|
|
26
|
+
const estimatedExecutionTimeMs = isDeposit ? 15 * 60 * 1000 : 7 * 24 * 60 * 60 * 1000;
|
|
27
|
+
// 1/1 when bridging on Arbitrum bridge
|
|
28
|
+
const rate = '1';
|
|
29
|
+
try {
|
|
30
|
+
const args = {
|
|
31
|
+
supportsEIP1559: Boolean(supportsEIP1559),
|
|
32
|
+
chainId,
|
|
33
|
+
buyAsset,
|
|
34
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
35
|
+
sellAsset,
|
|
36
|
+
sendAddress,
|
|
37
|
+
receiveAddress,
|
|
38
|
+
assertGetEvmChainAdapter,
|
|
39
|
+
quoteOrRate: 'quote',
|
|
40
|
+
};
|
|
41
|
+
const swap = await fetchArbitrumBridgeQuote(args);
|
|
42
|
+
const buyAmountBeforeFeesCryptoBaseUnit = sellAmountIncludingProtocolFeesCryptoBaseUnit;
|
|
43
|
+
const buyAmountAfterFeesCryptoBaseUnit = sellAmountIncludingProtocolFeesCryptoBaseUnit;
|
|
44
|
+
return Ok({
|
|
45
|
+
id: uuid(),
|
|
46
|
+
quoteOrRate: 'quote',
|
|
47
|
+
receiveAddress,
|
|
48
|
+
affiliateBps: '0',
|
|
49
|
+
rate,
|
|
50
|
+
slippageTolerancePercentageDecimal: getDefaultSlippageDecimalPercentageForSwapper(SwapperName.ArbitrumBridge),
|
|
51
|
+
swapperName: SwapperName.ArbitrumBridge,
|
|
52
|
+
steps: [
|
|
53
|
+
{
|
|
54
|
+
estimatedExecutionTimeMs,
|
|
55
|
+
allowanceContract: swap.allowanceContract,
|
|
56
|
+
rate,
|
|
57
|
+
buyAsset,
|
|
58
|
+
sellAsset,
|
|
59
|
+
accountNumber,
|
|
60
|
+
buyAmountBeforeFeesCryptoBaseUnit,
|
|
61
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
62
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
63
|
+
feeData: {
|
|
64
|
+
protocolFees: {},
|
|
65
|
+
networkFeeCryptoBaseUnit: swap.networkFeeCryptoBaseUnit,
|
|
66
|
+
},
|
|
67
|
+
source: SwapperName.ArbitrumBridge,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
direction: isDeposit ? 'deposit' : 'withdrawal',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
return Err(makeSwapErrorRight({
|
|
75
|
+
message: '[ArbitrumBridge: tradeQuote] - failed to get fee data',
|
|
76
|
+
cause: err,
|
|
77
|
+
code: TradeQuoteError.NetworkFeeEstimationFailed,
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { Erc20Bridger, EthBridger } from '@arbitrum/sdk';
|
|
2
|
+
import { ethAssetId, ethChainId } from '@shapeshiftoss/caip';
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { SwapperName } from '../../../types.js';
|
|
5
|
+
import { BTC, ETH, ETH_ARBITRUM, FOX_ARBITRUM, FOX_MAINNET } from '../../utils/test-data/assets.js';
|
|
6
|
+
import { getTradeQuote } from './getTradeQuote.js';
|
|
7
|
+
vi.mock('@arbitrum/sdk', () => ({
|
|
8
|
+
Erc20Bridger: vi.fn(),
|
|
9
|
+
EthBridger: vi.fn(),
|
|
10
|
+
getArbitrumNetwork: vi.fn().mockResolvedValue({ chainID: 42161 }),
|
|
11
|
+
}));
|
|
12
|
+
vi.mock('@shapeshiftoss/chain-adapters', async () => {
|
|
13
|
+
const actual = await vi.importActual('@shapeshiftoss/chain-adapters');
|
|
14
|
+
return {
|
|
15
|
+
...actual,
|
|
16
|
+
evm: {
|
|
17
|
+
getFees: vi.fn().mockResolvedValue({ networkFeeCryptoBaseUnit: '42' }),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
describe('getTradeQuote', () => {
|
|
22
|
+
const mockAdapter = {
|
|
23
|
+
getGasFeeData: vi.fn().mockResolvedValue({
|
|
24
|
+
average: { gasPrice: '42', maxFeePerGas: '42' },
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
const mockAdapterEth = Object.assign({}, mockAdapter, {
|
|
28
|
+
getFeeAssetId: () => ethAssetId,
|
|
29
|
+
});
|
|
30
|
+
const assertGetEvmChainAdapter = () => mockAdapterEth;
|
|
31
|
+
const commonInput = {
|
|
32
|
+
allowMultiHop: false,
|
|
33
|
+
chainId: ethChainId,
|
|
34
|
+
sellAsset: ETH,
|
|
35
|
+
buyAsset: ETH_ARBITRUM,
|
|
36
|
+
accountNumber: 0,
|
|
37
|
+
affiliateBps: '0',
|
|
38
|
+
supportsEIP1559: true,
|
|
39
|
+
receiveAddress: '0xfauxmes',
|
|
40
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: '1000000000000000000',
|
|
41
|
+
sendAddress: '0xfauxmes',
|
|
42
|
+
};
|
|
43
|
+
it('returns a correct ETH deposit quote', async () => {
|
|
44
|
+
const ethBridgerMock = {
|
|
45
|
+
getDepositToRequest: vi.fn().mockResolvedValue({
|
|
46
|
+
txRequest: {
|
|
47
|
+
data: '0x',
|
|
48
|
+
to: '0x',
|
|
49
|
+
value: '0',
|
|
50
|
+
from: '0x',
|
|
51
|
+
},
|
|
52
|
+
}),
|
|
53
|
+
};
|
|
54
|
+
vi.mocked(EthBridger).mockReturnValue(ethBridgerMock);
|
|
55
|
+
const maybeQuote = await getTradeQuote(commonInput, {
|
|
56
|
+
assertGetEvmChainAdapter,
|
|
57
|
+
getEthersV5Provider: vi.fn(),
|
|
58
|
+
});
|
|
59
|
+
expect(maybeQuote.isOk()).toBe(true);
|
|
60
|
+
const quote = maybeQuote.unwrap();
|
|
61
|
+
expect(quote.receiveAddress).toBe(commonInput.receiveAddress);
|
|
62
|
+
expect(quote.rate).toBe('1');
|
|
63
|
+
expect(quote.steps[0].allowanceContract).toBe('0x0');
|
|
64
|
+
expect(quote.steps[0].source).toBe(SwapperName.ArbitrumBridge);
|
|
65
|
+
});
|
|
66
|
+
it('returns a correct ETH withdraw quote', async () => {
|
|
67
|
+
const ethBridgerMock = {
|
|
68
|
+
getWithdrawalRequest: vi.fn().mockResolvedValue({
|
|
69
|
+
txRequest: {
|
|
70
|
+
data: '0x',
|
|
71
|
+
to: '0x',
|
|
72
|
+
value: '0',
|
|
73
|
+
from: '0x',
|
|
74
|
+
},
|
|
75
|
+
}),
|
|
76
|
+
};
|
|
77
|
+
vi.mocked(EthBridger).mockReturnValue(ethBridgerMock);
|
|
78
|
+
const withdrawInput = {
|
|
79
|
+
...commonInput,
|
|
80
|
+
sellAsset: ETH_ARBITRUM,
|
|
81
|
+
buyAsset: ETH,
|
|
82
|
+
};
|
|
83
|
+
const maybeQuote = await getTradeQuote(withdrawInput, {
|
|
84
|
+
assertGetEvmChainAdapter,
|
|
85
|
+
getEthersV5Provider: vi.fn(),
|
|
86
|
+
});
|
|
87
|
+
expect(maybeQuote.isOk()).toBe(true);
|
|
88
|
+
const quote = maybeQuote.unwrap();
|
|
89
|
+
expect(quote.receiveAddress).toBe(withdrawInput.receiveAddress);
|
|
90
|
+
expect(quote.rate).toBe('1');
|
|
91
|
+
expect(quote.steps[0].allowanceContract).toBe('0x0');
|
|
92
|
+
expect(quote.steps[0].source).toBe(SwapperName.ArbitrumBridge);
|
|
93
|
+
});
|
|
94
|
+
it('returns a correct ERC20 deposit quote', async () => {
|
|
95
|
+
const Erc20BridgerMock = {
|
|
96
|
+
getDepositRequest: vi.fn().mockResolvedValue({
|
|
97
|
+
txRequest: {
|
|
98
|
+
data: '0x',
|
|
99
|
+
to: '0x',
|
|
100
|
+
value: '0',
|
|
101
|
+
from: '0x',
|
|
102
|
+
},
|
|
103
|
+
}),
|
|
104
|
+
getChildErc20Address: vi.fn().mockResolvedValue('0xf929de51d91c77e42f5090069e0ad7a09e513c73'),
|
|
105
|
+
getParentErc20Address: vi
|
|
106
|
+
.fn()
|
|
107
|
+
.mockResolvedValue('0xc770eefad204b5180df6a14ee197d99d808ee52d'),
|
|
108
|
+
getParentGatewayAddress: vi
|
|
109
|
+
.fn()
|
|
110
|
+
.mockResolvedValue('0x0c66f315542fdec1d312c415b14eef614b0910ef'),
|
|
111
|
+
};
|
|
112
|
+
vi.mocked(Erc20Bridger).mockReturnValue(Erc20BridgerMock);
|
|
113
|
+
const erc20DepositInput = {
|
|
114
|
+
...commonInput,
|
|
115
|
+
sellAsset: FOX_MAINNET,
|
|
116
|
+
buyAsset: FOX_ARBITRUM,
|
|
117
|
+
};
|
|
118
|
+
const maybeQuote = await getTradeQuote(erc20DepositInput, {
|
|
119
|
+
assertGetEvmChainAdapter,
|
|
120
|
+
getEthersV5Provider: vi.fn(),
|
|
121
|
+
});
|
|
122
|
+
expect(maybeQuote.isOk()).toBe(true);
|
|
123
|
+
const quote = maybeQuote.unwrap();
|
|
124
|
+
expect(quote.receiveAddress).toBe(erc20DepositInput.receiveAddress);
|
|
125
|
+
expect(quote.rate).toBe('1');
|
|
126
|
+
expect(quote.steps[0].allowanceContract).toBe('0x0c66f315542fdec1d312c415b14eef614b0910ef');
|
|
127
|
+
expect(quote.steps[0].source).toBe(SwapperName.ArbitrumBridge);
|
|
128
|
+
});
|
|
129
|
+
it('returns a correct ERC20 withdraw quote', async () => {
|
|
130
|
+
const Erc20BridgerMock = {
|
|
131
|
+
getWithdrawalRequest: vi.fn().mockResolvedValue({
|
|
132
|
+
txRequest: {
|
|
133
|
+
data: '0x',
|
|
134
|
+
to: '0x',
|
|
135
|
+
value: '0',
|
|
136
|
+
from: '0x',
|
|
137
|
+
},
|
|
138
|
+
}),
|
|
139
|
+
getChildErc20Address: vi.fn().mockResolvedValue('0xf929de51d91c77e42f5090069e0ad7a09e513c73'),
|
|
140
|
+
getParentErc20Address: vi
|
|
141
|
+
.fn()
|
|
142
|
+
.mockResolvedValue('0xc770eefad204b5180df6a14ee197d99d808ee52d'),
|
|
143
|
+
getParentGatewayAddress: vi
|
|
144
|
+
.fn()
|
|
145
|
+
.mockResolvedValue('0x0c66f315542fdec1d312c415b14eef614b0910ef'),
|
|
146
|
+
};
|
|
147
|
+
vi.mocked(Erc20Bridger).mockReturnValue(Erc20BridgerMock);
|
|
148
|
+
const erc20WithdrawInput = {
|
|
149
|
+
...commonInput,
|
|
150
|
+
sellAsset: FOX_ARBITRUM,
|
|
151
|
+
buyAsset: FOX_MAINNET,
|
|
152
|
+
};
|
|
153
|
+
const maybeQuote = await getTradeQuote(erc20WithdrawInput, {
|
|
154
|
+
assertGetEvmChainAdapter,
|
|
155
|
+
getEthersV5Provider: vi.fn(),
|
|
156
|
+
});
|
|
157
|
+
expect(maybeQuote.isOk()).toBe(true);
|
|
158
|
+
const quote = maybeQuote.unwrap();
|
|
159
|
+
expect(quote.receiveAddress).toBe(erc20WithdrawInput.receiveAddress);
|
|
160
|
+
expect(quote.rate).toBe('1');
|
|
161
|
+
expect(quote.steps[0].allowanceContract).toBe('0x0');
|
|
162
|
+
expect(quote.steps[0].source).toBe(SwapperName.ArbitrumBridge);
|
|
163
|
+
});
|
|
164
|
+
it('returns an error monad if non-EVM chain IDs are used', async () => {
|
|
165
|
+
const result = await getTradeQuote({ ...commonInput, sellAsset: BTC }, {
|
|
166
|
+
assertGetEvmChainAdapter,
|
|
167
|
+
getEthersV5Provider: vi.fn(),
|
|
168
|
+
});
|
|
169
|
+
expect(result.isErr()).toBe(true);
|
|
170
|
+
expect(result.unwrapErr().message).toBe('[ArbitrumBridge: assertValidTrade] - unsupported chainId');
|
|
171
|
+
});
|
|
172
|
+
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { GetEvmTradeRateInput, SwapErrorRight, SwapperDeps } from '../../../types.js';
|
|
3
|
+
import type { ArbitrumBridgeTradeRate } from '../types.js';
|
|
4
|
+
export declare function getTradeRate(input: GetEvmTradeRateInput, { assertGetEvmChainAdapter }: SwapperDeps): Promise<Result<ArbitrumBridgeTradeRate, SwapErrorRight>>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ethChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
3
|
+
import { v4 as uuid } from 'uuid';
|
|
4
|
+
import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constants.js';
|
|
5
|
+
import { SwapperName, TradeQuoteError } from '../../../types.js';
|
|
6
|
+
import { makeSwapErrorRight } from '../../../utils.js';
|
|
7
|
+
import { fetchArbitrumBridgePrice } from '../utils/fetchArbitrumBridgeSwap.js';
|
|
8
|
+
import { assertValidTrade } from '../utils/helpers.js';
|
|
9
|
+
export async function getTradeRate(input, { assertGetEvmChainAdapter }) {
|
|
10
|
+
const { chainId, sellAsset, buyAsset, supportsEIP1559, receiveAddress, sellAmountIncludingProtocolFeesCryptoBaseUnit, sendAddress, accountNumber, } = input;
|
|
11
|
+
const assertion = await assertValidTrade({ buyAsset, sellAsset });
|
|
12
|
+
if (assertion.isErr())
|
|
13
|
+
return Err(assertion.unwrapErr());
|
|
14
|
+
const isDeposit = sellAsset.chainId === ethChainId;
|
|
15
|
+
// 15 minutes for deposits, 7 days for withdrawals
|
|
16
|
+
const estimatedExecutionTimeMs = isDeposit ? 15 * 60 * 1000 : 7 * 24 * 60 * 60 * 1000;
|
|
17
|
+
// 1/1 when bridging on Arbitrum bridge
|
|
18
|
+
const rate = '1';
|
|
19
|
+
try {
|
|
20
|
+
const args = {
|
|
21
|
+
supportsEIP1559,
|
|
22
|
+
chainId,
|
|
23
|
+
buyAsset,
|
|
24
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
25
|
+
sellAsset,
|
|
26
|
+
sendAddress,
|
|
27
|
+
receiveAddress,
|
|
28
|
+
assertGetEvmChainAdapter,
|
|
29
|
+
quoteOrRate: 'rate',
|
|
30
|
+
};
|
|
31
|
+
const swap = await fetchArbitrumBridgePrice(args);
|
|
32
|
+
const buyAmountBeforeFeesCryptoBaseUnit = sellAmountIncludingProtocolFeesCryptoBaseUnit;
|
|
33
|
+
const buyAmountAfterFeesCryptoBaseUnit = sellAmountIncludingProtocolFeesCryptoBaseUnit;
|
|
34
|
+
return Ok({
|
|
35
|
+
id: uuid(),
|
|
36
|
+
quoteOrRate: 'rate',
|
|
37
|
+
accountNumber: undefined,
|
|
38
|
+
receiveAddress,
|
|
39
|
+
affiliateBps: '0',
|
|
40
|
+
rate,
|
|
41
|
+
slippageTolerancePercentageDecimal: getDefaultSlippageDecimalPercentageForSwapper(SwapperName.ArbitrumBridge),
|
|
42
|
+
swapperName: SwapperName.ArbitrumBridge,
|
|
43
|
+
steps: [
|
|
44
|
+
{
|
|
45
|
+
estimatedExecutionTimeMs,
|
|
46
|
+
allowanceContract: swap.allowanceContract,
|
|
47
|
+
rate,
|
|
48
|
+
buyAsset,
|
|
49
|
+
sellAsset,
|
|
50
|
+
accountNumber,
|
|
51
|
+
buyAmountBeforeFeesCryptoBaseUnit,
|
|
52
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
53
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
54
|
+
feeData: {
|
|
55
|
+
protocolFees: {},
|
|
56
|
+
networkFeeCryptoBaseUnit: swap.networkFeeCryptoBaseUnit,
|
|
57
|
+
},
|
|
58
|
+
source: SwapperName.ArbitrumBridge,
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
direction: isDeposit ? 'deposit' : 'withdrawal',
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
return Err(makeSwapErrorRight({
|
|
66
|
+
message: '[ArbitrumBridge: tradeQuote] - failed to get fee data',
|
|
67
|
+
cause: err,
|
|
68
|
+
code: TradeQuoteError.NetworkFeeEstimationFailed,
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TradeQuote, TradeRate } from '../../types.js';
|
|
2
|
+
export declare enum BRIDGE_TYPE {
|
|
3
|
+
ETH_DEPOSIT = "ETH Deposit",
|
|
4
|
+
ERC20_DEPOSIT = "ERC20 Deposit",
|
|
5
|
+
ETH_WITHDRAWAL = "ETH Withdrawal",
|
|
6
|
+
ERC20_WITHDRAWAL = "ERC20 Withdrawal"
|
|
7
|
+
}
|
|
8
|
+
type ArbitrumBridgeSpecificMetadata = {
|
|
9
|
+
direction: 'deposit' | 'withdrawal';
|
|
10
|
+
};
|
|
11
|
+
export type ArbitrumBridgeTradeQuote = TradeQuote & ArbitrumBridgeSpecificMetadata;
|
|
12
|
+
export type ArbitrumBridgeTradeRate = TradeRate & ArbitrumBridgeSpecificMetadata;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var BRIDGE_TYPE;
|
|
2
|
+
(function (BRIDGE_TYPE) {
|
|
3
|
+
BRIDGE_TYPE["ETH_DEPOSIT"] = "ETH Deposit";
|
|
4
|
+
BRIDGE_TYPE["ERC20_DEPOSIT"] = "ERC20 Deposit";
|
|
5
|
+
BRIDGE_TYPE["ETH_WITHDRAWAL"] = "ETH Withdrawal";
|
|
6
|
+
BRIDGE_TYPE["ERC20_WITHDRAWAL"] = "ERC20 Withdrawal";
|
|
7
|
+
})(BRIDGE_TYPE || (BRIDGE_TYPE = {}));
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { bn } from '@shapeshiftoss/utils';
|
|
2
|
+
import { BRIDGE_TYPE } from '../types.js';
|
|
3
|
+
// Broad estimate calculated by looking at a couple of different ERC-20 deposits
|
|
4
|
+
// https://github.com/OffchainLabs/arbitrum-token-bridge/blob/d17c88ef3eef3f4ffc61a04d34d50406039f045d/packages/arb-token-bridge-ui/src/util/TokenDepositUtils.ts#L45-L51
|
|
5
|
+
const fallbackErc20DepositGasLimit = bn(240_000);
|
|
6
|
+
// Broad estimate calculated by looking at a couple of different ERC-20 withdraws
|
|
7
|
+
// https://arbiscan.io/tx/0xf27939d382abcb0cce5c202489db457a6cc0d0dd8062468543400c3bf321148f
|
|
8
|
+
// https://arbiscan.io/tx/0xa4639374806ecc1e9de7beafbab2567c078483b84b708e862bfbd84fbc2fc1da
|
|
9
|
+
// https://arbiscan.io/tx/0xb6c3bce7999b2ae4bbe51a64bc7ab370d21ce9bf6807b805239acbf4c244a6db
|
|
10
|
+
// https://arbiscan.io/tx/0x878aa224a65d831c931192550b3d8fe114fa81660c1af8369c0e2ebea682dd5b
|
|
11
|
+
// https://arbiscan.io/tx/0xf293bd64f9dabddaffc4c8b97f2a602d4e9f77565f5d24018a0f70a95c1ecd38
|
|
12
|
+
const fallbackErc20WithdrawGasLimit = bn(350_000);
|
|
13
|
+
// Actually extremely accurate estimate calculated by looking at a couple of different ETH deposits - gas limit is around 100-100.05k
|
|
14
|
+
// https://etherscan.io/tx/0x31f7860fdb79c76d0301b9197f4e00ed2432170f1be38288f87838ce1184643a
|
|
15
|
+
// https://etherscan.io/tx/0x933c1b625824abeae6f15b4667e22caa3dc14be4929ae62310e2fbf1d39c7d8b
|
|
16
|
+
// https://etherscan.io/tx/0x695090931bb09e60fd378210a0c204ebb01cc137ff00e576074c79a41cc4fa80
|
|
17
|
+
// https://etherscan.io/tx/0xaaef3d2391e4b07f6f0a7524dadde735d4a9822efc2a611e5e8dd5e2708438cc
|
|
18
|
+
const fallbackEthDepositGasLimit = bn(100_000);
|
|
19
|
+
// Broad estimate calculated by looking at a couple of different ETH withdraws
|
|
20
|
+
const fallbackEthWithdrawGasLimit = bn(115_000);
|
|
21
|
+
// https://arbiscan.io/tx/0x641f1c0bacced5896e35aa505abe03076323e769e959aa0f7b9c9cd63d1741dd
|
|
22
|
+
// https://arbiscan.io/tx/0x060f503fa97b137d4298a6adb87cdae83030e1a43ee265b7d52e3b92493acd62
|
|
23
|
+
// https://arbiscan.io/tx/0x162efc48dffb5f7d8c6b454c6df42b4739edb70d2427a311538a0927c5ccdddc
|
|
24
|
+
// https://arbiscan.io/tx/0x51e76bc14ffa7a14d13732459ecd1c8fd3211bfb717ac2eb3de4d40fda8a9c4b
|
|
25
|
+
export const BRIDGE_TYPE_TO_FALLBACK_GAS_LIMIT = {
|
|
26
|
+
[BRIDGE_TYPE.ETH_DEPOSIT]: fallbackEthDepositGasLimit,
|
|
27
|
+
[BRIDGE_TYPE.ERC20_DEPOSIT]: fallbackErc20DepositGasLimit,
|
|
28
|
+
[BRIDGE_TYPE.ETH_WITHDRAWAL]: fallbackEthWithdrawGasLimit,
|
|
29
|
+
[BRIDGE_TYPE.ERC20_WITHDRAWAL]: fallbackErc20WithdrawGasLimit,
|
|
30
|
+
};
|