@shapeshiftoss/swapper 17.6.6 → 17.6.7
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 +151 -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 +19 -0
- package/dist/cjs/index.js +48 -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/safe-utils/types.js +2 -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.d.ts +1 -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/cjs/swappers/ArbitrumBridgeSwapper/index.js +18 -0
- 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/cjs/swappers/ButterSwap/index.js +17 -0
- 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 +62 -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 +99 -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/types.js +2 -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/CetusSwapper/CetusSwapper.d.ts +2 -0
- package/dist/cjs/swappers/CetusSwapper/CetusSwapper.js +7 -0
- package/dist/cjs/swappers/CetusSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/CetusSwapper/endpoints.js +87 -0
- package/dist/cjs/swappers/CetusSwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/CetusSwapper/index.js +17 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +122 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.js +110 -0
- package/dist/cjs/swappers/CetusSwapper/utils/constants.d.ts +3 -0
- package/dist/cjs/swappers/CetusSwapper/utils/constants.js +9 -0
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.d.ts +13 -0
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.js +118 -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/cjs/swappers/CowSwapper/types.js +2 -0
- package/dist/cjs/swappers/CowSwapper/utils/blacklist.d.ts +1 -0
- package/dist/cjs/swappers/CowSwapper/utils/blacklist.js +15 -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/NearIntentsSwapper/NearIntentsSwapper.d.ts +2 -0
- package/dist/cjs/swappers/NearIntentsSwapper/NearIntentsSwapper.js +13 -0
- package/dist/cjs/swappers/NearIntentsSwapper/constants.d.ts +3 -0
- package/dist/cjs/swappers/NearIntentsSwapper/constants.js +6 -0
- package/dist/cjs/swappers/NearIntentsSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/NearIntentsSwapper/endpoints.js +208 -0
- package/dist/cjs/swappers/NearIntentsSwapper/index.d.ts +4 -0
- package/dist/cjs/swappers/NearIntentsSwapper/index.js +20 -0
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +249 -0
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +264 -0
- package/dist/cjs/swappers/NearIntentsSwapper/types.d.ts +6 -0
- package/dist/cjs/swappers/NearIntentsSwapper/types.js +36 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers/helpers.d.ts +12 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers/helpers.js +104 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/oneClickService.d.ts +3 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/oneClickService.js +16 -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 +189 -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 +12 -0
- package/dist/cjs/swappers/RelaySwapper/constant.d.ts +23 -0
- package/dist/cjs/swappers/RelaySwapper/constant.js +68 -0
- package/dist/cjs/swappers/RelaySwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/endpoints.js +198 -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 +21 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +2 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.js +18 -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 +503 -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 +110 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +158 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.js +42 -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/cjs/swappers/ThorchainSwapper/utils/test-data/responses.d.ts +7 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/test-data/responses.js +201 -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 +143 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/zrxService.d.ts +9 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/zrxService.js +19 -0
- 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 +317 -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/cjs/thorchain-utils/memo/constants.js +4 -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/tron-utils/getTronTransactionFees.d.ts +2 -0
- package/dist/cjs/tron-utils/getTronTransactionFees.js +14 -0
- package/dist/cjs/tron-utils/getUnsignedTronTransaction.d.ts +2 -0
- package/dist/cjs/tron-utils/getUnsignedTronTransaction.js +28 -0
- package/dist/cjs/types.d.ts +578 -0
- package/dist/cjs/types.js +83 -0
- package/dist/cjs/utils/tenderly/index.d.ts +3 -0
- package/dist/cjs/utils/tenderly/index.js +19 -0
- package/dist/cjs/utils/tenderly/simulate.d.ts +20 -0
- package/dist/cjs/utils/tenderly/simulate.js +109 -0
- package/dist/cjs/utils/tenderly/storageSlots.d.ts +8 -0
- package/dist/cjs/utils/tenderly/storageSlots.js +94 -0
- package/dist/cjs/utils/tenderly/types.d.ts +56 -0
- package/dist/cjs/utils/tenderly/types.js +2 -0
- package/dist/cjs/utils.d.ts +70 -0
- package/dist/cjs/utils.js +238 -0
- package/dist/esm/.tsbuildinfo +1 -0
- package/dist/esm/constants.d.ts +8 -0
- package/dist/esm/constants.js +146 -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 +19 -0
- package/dist/esm/index.js +19 -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 +60 -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 +94 -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/CetusSwapper/CetusSwapper.d.ts +2 -0
- package/dist/esm/swappers/CetusSwapper/CetusSwapper.js +4 -0
- package/dist/esm/swappers/CetusSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/CetusSwapper/endpoints.js +84 -0
- package/dist/esm/swappers/CetusSwapper/index.d.ts +1 -0
- package/dist/esm/swappers/CetusSwapper/index.js +1 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +118 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.js +106 -0
- package/dist/esm/swappers/CetusSwapper/utils/constants.d.ts +3 -0
- package/dist/esm/swappers/CetusSwapper/utils/constants.js +5 -0
- package/dist/esm/swappers/CetusSwapper/utils/helpers.d.ts +13 -0
- package/dist/esm/swappers/CetusSwapper/utils/helpers.js +86 -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/esm/swappers/CowSwapper/utils/blacklist.js +12 -0
- 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/NearIntentsSwapper/NearIntentsSwapper.d.ts +2 -0
- package/dist/esm/swappers/NearIntentsSwapper/NearIntentsSwapper.js +10 -0
- package/dist/esm/swappers/NearIntentsSwapper/constants.d.ts +3 -0
- package/dist/esm/swappers/NearIntentsSwapper/constants.js +3 -0
- package/dist/esm/swappers/NearIntentsSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/NearIntentsSwapper/endpoints.js +205 -0
- package/dist/esm/swappers/NearIntentsSwapper/index.d.ts +4 -0
- package/dist/esm/swappers/NearIntentsSwapper/index.js +4 -0
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +245 -0
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +260 -0
- package/dist/esm/swappers/NearIntentsSwapper/types.d.ts +6 -0
- package/dist/esm/swappers/NearIntentsSwapper/types.js +32 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/helpers/helpers.d.ts +12 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/helpers/helpers.js +96 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/oneClickService.d.ts +3 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/oneClickService.js +12 -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 +185 -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 +9 -0
- package/dist/esm/swappers/RelaySwapper/constant.d.ts +23 -0
- package/dist/esm/swappers/RelaySwapper/constant.js +62 -0
- package/dist/esm/swappers/RelaySwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/endpoints.js +192 -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 +17 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +2 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.js +14 -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 +496 -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 +106 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +158 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.js +35 -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 +133 -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 +290 -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/tron-utils/getTronTransactionFees.d.ts +2 -0
- package/dist/esm/tron-utils/getTronTransactionFees.js +10 -0
- package/dist/esm/tron-utils/getUnsignedTronTransaction.d.ts +2 -0
- package/dist/esm/tron-utils/getUnsignedTronTransaction.js +24 -0
- package/dist/esm/types.d.ts +578 -0
- package/dist/esm/types.js +80 -0
- package/dist/esm/utils/tenderly/index.d.ts +3 -0
- package/dist/esm/utils/tenderly/index.js +3 -0
- package/dist/esm/utils/tenderly/simulate.d.ts +20 -0
- package/dist/esm/utils/tenderly/simulate.js +102 -0
- package/dist/esm/utils/tenderly/storageSlots.d.ts +8 -0
- package/dist/esm/utils/tenderly/storageSlots.js +86 -0
- package/dist/esm/utils/tenderly/types.d.ts +56 -0
- package/dist/esm/utils/tenderly/types.js +1 -0
- package/dist/esm/utils.d.ts +70 -0
- package/dist/esm/utils.js +213 -0
- package/package.json +8 -8
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiError, OneClickService, OpenAPI } from '@defuse-protocol/one-click-sdk-typescript';
|
|
2
|
+
import { ONE_CLICK_BASE_URL } from '../constants.js';
|
|
3
|
+
let isInitialized = false;
|
|
4
|
+
export const initializeOneClickService = (apiKey) => {
|
|
5
|
+
if (isInitialized)
|
|
6
|
+
return;
|
|
7
|
+
OpenAPI.BASE = ONE_CLICK_BASE_URL;
|
|
8
|
+
OpenAPI.TOKEN = apiKey;
|
|
9
|
+
isInitialized = true;
|
|
10
|
+
};
|
|
11
|
+
// Re-export the service and types for convenience
|
|
12
|
+
export { ApiError, OneClickService };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { KnownChainIds } from '@shapeshiftoss/types';
|
|
2
|
+
export const chainIdToPortalsNetwork = {
|
|
3
|
+
[KnownChainIds.EthereumMainnet]: 'ethereum',
|
|
4
|
+
[KnownChainIds.AvalancheMainnet]: 'avalanche',
|
|
5
|
+
[KnownChainIds.OptimismMainnet]: 'optimism',
|
|
6
|
+
[KnownChainIds.BnbSmartChainMainnet]: 'bsc',
|
|
7
|
+
[KnownChainIds.PolygonMainnet]: 'polygon',
|
|
8
|
+
[KnownChainIds.GnosisMainnet]: 'gnosis',
|
|
9
|
+
[KnownChainIds.ArbitrumMainnet]: 'arbitrum',
|
|
10
|
+
[KnownChainIds.BaseMainnet]: 'base',
|
|
11
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { evm } from '@shapeshiftoss/chain-adapters';
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { checkEvmSwapStatus, getExecutableTradeStep, isExecutableTradeQuote } from '../../utils.js';
|
|
4
|
+
import { getPortalsTradeQuote } from './getPortalsTradeQuote/getPortalsTradeQuote.js';
|
|
5
|
+
import { getPortalsTradeRate } from './getPortalsTradeRate/getPortalsTradeRate.js';
|
|
6
|
+
export const portalsApi = {
|
|
7
|
+
getTradeQuote: async (input, { config, assertGetEvmChainAdapter }) => {
|
|
8
|
+
const tradeQuoteResult = await getPortalsTradeQuote(input, assertGetEvmChainAdapter, config);
|
|
9
|
+
return tradeQuoteResult.map(tradeQuote => [tradeQuote]);
|
|
10
|
+
},
|
|
11
|
+
getTradeRate: async (input, { config, assertGetEvmChainAdapter }) => {
|
|
12
|
+
const tradeRateResult = await getPortalsTradeRate(input, assertGetEvmChainAdapter, config);
|
|
13
|
+
return tradeRateResult.map(tradeRate => [tradeRate]);
|
|
14
|
+
},
|
|
15
|
+
getEvmTransactionFees: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
16
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
17
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
18
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
19
|
+
const { portalsTransactionMetadata, sellAsset } = step;
|
|
20
|
+
if (!portalsTransactionMetadata)
|
|
21
|
+
throw new Error('Transaction metadata is required');
|
|
22
|
+
const { value, to, data } = portalsTransactionMetadata;
|
|
23
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
24
|
+
const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
|
|
25
|
+
return feeData.networkFeeCryptoBaseUnit;
|
|
26
|
+
},
|
|
27
|
+
getUnsignedEvmTransaction: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
28
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
29
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
30
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
31
|
+
const { accountNumber, portalsTransactionMetadata, sellAsset } = step;
|
|
32
|
+
if (!portalsTransactionMetadata)
|
|
33
|
+
throw new Error('Transaction metadata is required');
|
|
34
|
+
// Portals has a 15% buffer on gas estimations, which may or may not turn out to be more reliable than our "pure" simulations
|
|
35
|
+
const { value, to, data, gasLimit: estimatedGas } = portalsTransactionMetadata;
|
|
36
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
37
|
+
const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
|
|
38
|
+
return adapter.buildCustomApiTx({
|
|
39
|
+
accountNumber,
|
|
40
|
+
data,
|
|
41
|
+
from,
|
|
42
|
+
to,
|
|
43
|
+
value,
|
|
44
|
+
...feeData,
|
|
45
|
+
// Use the higher amount of the node or the API, as the node doesn't always provide enough gas padding for total gas used.
|
|
46
|
+
gasLimit: BigNumber.max(feeData.gasLimit, estimatedGas).toFixed(),
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
checkTradeStatus: checkEvmSwapStatus,
|
|
50
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import type { EvmChainAdapter } from '@shapeshiftoss/chain-adapters';
|
|
3
|
+
import type { Result } from '@sniptt/monads';
|
|
4
|
+
import type { GetEvmTradeQuoteInputBase, SwapErrorRight, SwapperConfig, TradeQuote } from '../../../types.js';
|
|
5
|
+
export declare function getPortalsTradeQuote(input: GetEvmTradeQuoteInputBase, assertGetEvmChainAdapter: (chainId: ChainId) => EvmChainAdapter, swapperConfig: SwapperConfig): Promise<Result<TradeQuote, SwapErrorRight>>;
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { fromAssetId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { evm } from '@shapeshiftoss/chain-adapters';
|
|
3
|
+
import { BigNumber, bn, bnOrZero, convertBasisPointsToDecimalPercentage, } from '@shapeshiftoss/utils';
|
|
4
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
5
|
+
import { zeroAddress } from 'viem';
|
|
6
|
+
import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../index.js';
|
|
7
|
+
import { SwapperName, TradeQuoteError } from '../../../types.js';
|
|
8
|
+
import { getInputOutputRate, makeSwapErrorRight } from '../../../utils.js';
|
|
9
|
+
import { getTreasuryAddressFromChainId, isNativeEvmAsset } from '../../utils/helpers/helpers.js';
|
|
10
|
+
import { chainIdToPortalsNetwork } from '../constants.js';
|
|
11
|
+
import { fetchPortalsTradeOrder, PortalsError } from '../utils/fetchPortalsTradeOrder.js';
|
|
12
|
+
import { isSupportedChainId } from '../utils/helpers.js';
|
|
13
|
+
export async function getPortalsTradeQuote(input, assertGetEvmChainAdapter, swapperConfig) {
|
|
14
|
+
const { sellAsset, buyAsset, sendAddress, accountNumber, affiliateBps, chainId, supportsEIP1559, sellAmountIncludingProtocolFeesCryptoBaseUnit, } = input;
|
|
15
|
+
const sellAssetChainId = sellAsset.chainId;
|
|
16
|
+
const buyAssetChainId = buyAsset.chainId;
|
|
17
|
+
if (!isSupportedChainId(sellAssetChainId)) {
|
|
18
|
+
return Err(makeSwapErrorRight({
|
|
19
|
+
message: `unsupported chainId`,
|
|
20
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
21
|
+
details: { chainId: sellAsset.chainId },
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
if (!isSupportedChainId(buyAssetChainId)) {
|
|
25
|
+
return Err(makeSwapErrorRight({
|
|
26
|
+
message: `unsupported chainId`,
|
|
27
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
28
|
+
details: { chainId: sellAsset.chainId },
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
if (sellAssetChainId !== buyAssetChainId) {
|
|
32
|
+
return Err(makeSwapErrorRight({
|
|
33
|
+
message: `cross-chain not supported - both assets must be on chainId ${sellAsset.chainId}`,
|
|
34
|
+
code: TradeQuoteError.CrossChainNotSupported,
|
|
35
|
+
details: { buyAsset, sellAsset },
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
// Not a decimal percentage, just a good ol' percentage e.g 1 for 1%
|
|
39
|
+
const affiliateBpsPercentage = convertBasisPointsToDecimalPercentage(affiliateBps)
|
|
40
|
+
.times(100)
|
|
41
|
+
.toNumber();
|
|
42
|
+
const userSlippageTolerancePercentageDecimalOrDefault = input.slippageTolerancePercentageDecimal
|
|
43
|
+
? bnOrZero(input.slippageTolerancePercentageDecimal).times(100).toNumber()
|
|
44
|
+
: bnOrZero(getDefaultSlippageDecimalPercentageForSwapper(SwapperName.Portals))
|
|
45
|
+
.times(100)
|
|
46
|
+
.toNumber();
|
|
47
|
+
if (!sendAddress)
|
|
48
|
+
return Err(makeSwapErrorRight({ message: 'missing sendAddress' }));
|
|
49
|
+
const portalsNetwork = chainIdToPortalsNetwork[chainId];
|
|
50
|
+
if (!portalsNetwork) {
|
|
51
|
+
return Err(makeSwapErrorRight({
|
|
52
|
+
message: `unsupported ChainId`,
|
|
53
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
54
|
+
details: { chainId: input.chainId },
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
const sellAssetAddress = isNativeEvmAsset(sellAsset.assetId)
|
|
58
|
+
? zeroAddress
|
|
59
|
+
: fromAssetId(sellAsset.assetId).assetReference;
|
|
60
|
+
const buyAssetAddress = isNativeEvmAsset(buyAsset.assetId)
|
|
61
|
+
? zeroAddress
|
|
62
|
+
: fromAssetId(buyAsset.assetId).assetReference;
|
|
63
|
+
const inputToken = `${portalsNetwork}:${sellAssetAddress}`;
|
|
64
|
+
const outputToken = `${portalsNetwork}:${buyAssetAddress}`;
|
|
65
|
+
try {
|
|
66
|
+
const maybePortalsTradeOrderResponse = await fetchPortalsTradeOrder({
|
|
67
|
+
sender: sendAddress,
|
|
68
|
+
inputToken,
|
|
69
|
+
outputToken,
|
|
70
|
+
inputAmount: sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
71
|
+
slippageTolerancePercentage: userSlippageTolerancePercentageDecimalOrDefault,
|
|
72
|
+
partner: getTreasuryAddressFromChainId(sellAsset.chainId),
|
|
73
|
+
feePercentage: affiliateBpsPercentage,
|
|
74
|
+
validate: true,
|
|
75
|
+
swapperConfig,
|
|
76
|
+
})
|
|
77
|
+
.then(res => Ok(res))
|
|
78
|
+
.catch(async (err) => {
|
|
79
|
+
if (err instanceof PortalsError) {
|
|
80
|
+
// We assume a PortalsError was thrown because the slippage tolerance was too high during simulation
|
|
81
|
+
// So we attempt another (failing) call with autoslippage which will give us the actual expected slippage
|
|
82
|
+
const portalsExpectedSlippage = await fetchPortalsTradeOrder({
|
|
83
|
+
sender: sendAddress,
|
|
84
|
+
inputToken,
|
|
85
|
+
outputToken,
|
|
86
|
+
inputAmount: sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
87
|
+
autoSlippage: true,
|
|
88
|
+
partner: getTreasuryAddressFromChainId(sellAsset.chainId),
|
|
89
|
+
feePercentage: affiliateBpsPercentage,
|
|
90
|
+
validate: true,
|
|
91
|
+
swapperConfig,
|
|
92
|
+
})
|
|
93
|
+
// This should never happen but could in very rare cases if original call failed on slippage slightly over 2.5% but this one succeeds on slightly under 2.5%
|
|
94
|
+
.then(res => res.context.slippageTolerancePercentage)
|
|
95
|
+
.catch(err => err.message.match(/Expected slippage is (.*?)%/)?.[1]);
|
|
96
|
+
// This should never happen as we don't have auto-slippage on for `/portal` as of now (2024-12-06, see https://github.com/shapeshift/web/pull/8293)
|
|
97
|
+
// But as soon as Portals implement auto-slippage for the estimate endpoint, we will most likely re-enable it, assuming it actually works
|
|
98
|
+
if (err.message.includes('Auto slippage exceeds'))
|
|
99
|
+
return Err(makeSwapErrorRight({
|
|
100
|
+
message: err.message,
|
|
101
|
+
details: {
|
|
102
|
+
expectedSlippage: portalsExpectedSlippage
|
|
103
|
+
? bn(portalsExpectedSlippage).toFixed(2, BigNumber.ROUND_HALF_UP)
|
|
104
|
+
: undefined,
|
|
105
|
+
},
|
|
106
|
+
cause: err,
|
|
107
|
+
code: TradeQuoteError.FinalQuoteMaxSlippageExceeded,
|
|
108
|
+
}));
|
|
109
|
+
if (err.message.includes('execution reverted'))
|
|
110
|
+
return Err(makeSwapErrorRight({
|
|
111
|
+
message: err.message,
|
|
112
|
+
details: {
|
|
113
|
+
expectedSlippage: portalsExpectedSlippage
|
|
114
|
+
? bn(portalsExpectedSlippage).toFixed(2, BigNumber.ROUND_HALF_UP)
|
|
115
|
+
: undefined,
|
|
116
|
+
},
|
|
117
|
+
cause: err,
|
|
118
|
+
code: TradeQuoteError.FinalQuoteExecutionReverted,
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
return Err(makeSwapErrorRight({
|
|
122
|
+
message: 'failed to get Portals quote',
|
|
123
|
+
cause: err,
|
|
124
|
+
code: TradeQuoteError.NetworkFeeEstimationFailed,
|
|
125
|
+
}));
|
|
126
|
+
});
|
|
127
|
+
if (maybePortalsTradeOrderResponse.isErr())
|
|
128
|
+
return Err(maybePortalsTradeOrderResponse.unwrapErr());
|
|
129
|
+
const portalsTradeOrderResponse = maybePortalsTradeOrderResponse.unwrap();
|
|
130
|
+
const { context: { orderId, outputAmount: buyAmountAfterFeesCryptoBaseUnit, minOutputAmount, target: allowanceContract, feeAmount, gasLimit, feeToken, }, tx, } = portalsTradeOrderResponse;
|
|
131
|
+
const protocolFeeAsset = feeToken === inputToken ? sellAsset : buyAsset;
|
|
132
|
+
if (!tx)
|
|
133
|
+
throw new Error('Portals Tx simulation failed upstream');
|
|
134
|
+
const inputOutputRate = getInputOutputRate({
|
|
135
|
+
sellAmountCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
136
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
137
|
+
sellAsset,
|
|
138
|
+
buyAsset,
|
|
139
|
+
});
|
|
140
|
+
const adapter = assertGetEvmChainAdapter(chainId);
|
|
141
|
+
const { average } = await adapter.getGasFeeData();
|
|
142
|
+
const networkFeeCryptoBaseUnit = evm.calcNetworkFeeCryptoBaseUnit({
|
|
143
|
+
...average,
|
|
144
|
+
supportsEIP1559: Boolean(supportsEIP1559),
|
|
145
|
+
// times 1 isn't a mistake, it's just so we can write this comment above to mention that Portals already add a
|
|
146
|
+
// buffer of ~15% to the gas limit
|
|
147
|
+
gasLimit: bnOrZero(gasLimit).times(1).toFixed(),
|
|
148
|
+
});
|
|
149
|
+
// Don't use Portals' slippageTolerancePercentage field (it's what we requested, not what they applied)
|
|
150
|
+
// Instead, calculate the actual buffer Portals applied from the amounts
|
|
151
|
+
const actualBufferDecimal = bnOrZero(buyAmountAfterFeesCryptoBaseUnit)
|
|
152
|
+
.minus(minOutputAmount)
|
|
153
|
+
.div(buyAmountAfterFeesCryptoBaseUnit)
|
|
154
|
+
.toString();
|
|
155
|
+
// Reverse the buffer to recover the expected output (minOutput / (1 - buffer) = output)
|
|
156
|
+
const buyAmountBeforeSlippageCryptoBaseUnit = bnOrZero(minOutputAmount)
|
|
157
|
+
.div(bn(1).minus(actualBufferDecimal))
|
|
158
|
+
.toFixed(0);
|
|
159
|
+
const slippageTolerancePercentageDecimal = actualBufferDecimal;
|
|
160
|
+
const tradeQuote = {
|
|
161
|
+
id: orderId,
|
|
162
|
+
quoteOrRate: 'quote',
|
|
163
|
+
receiveAddress: input.receiveAddress,
|
|
164
|
+
affiliateBps,
|
|
165
|
+
rate: inputOutputRate,
|
|
166
|
+
slippageTolerancePercentageDecimal,
|
|
167
|
+
swapperName: SwapperName.Portals,
|
|
168
|
+
steps: [
|
|
169
|
+
{
|
|
170
|
+
accountNumber,
|
|
171
|
+
allowanceContract,
|
|
172
|
+
rate: inputOutputRate,
|
|
173
|
+
buyAsset,
|
|
174
|
+
sellAsset,
|
|
175
|
+
buyAmountBeforeFeesCryptoBaseUnit: buyAmountBeforeSlippageCryptoBaseUnit,
|
|
176
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
177
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
178
|
+
feeData: {
|
|
179
|
+
networkFeeCryptoBaseUnit,
|
|
180
|
+
protocolFees: {
|
|
181
|
+
[protocolFeeAsset.assetId]: {
|
|
182
|
+
amountCryptoBaseUnit: feeAmount,
|
|
183
|
+
asset: protocolFeeAsset,
|
|
184
|
+
requiresBalance: false,
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
source: SwapperName.Portals,
|
|
189
|
+
// Assume instant execution since this is a same-chain AMM Tx which will happen within the same block
|
|
190
|
+
estimatedExecutionTimeMs: 0,
|
|
191
|
+
portalsTransactionMetadata: tx,
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
};
|
|
195
|
+
return Ok(tradeQuote);
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
return Err(makeSwapErrorRight({
|
|
199
|
+
message: 'failed to get Portals quote',
|
|
200
|
+
cause: err,
|
|
201
|
+
code: TradeQuoteError.NetworkFeeEstimationFailed,
|
|
202
|
+
}));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import type { EvmChainAdapter } from '@shapeshiftoss/chain-adapters';
|
|
3
|
+
import type { Result } from '@sniptt/monads';
|
|
4
|
+
import type { GetEvmTradeRateInput, SwapErrorRight, SwapperConfig, TradeRate } from '../../../types.js';
|
|
5
|
+
export declare function getPortalsTradeRate(input: GetEvmTradeRateInput, assertGetEvmChainAdapter: (chainId: ChainId) => EvmChainAdapter, swapperConfig: SwapperConfig): Promise<Result<TradeRate, SwapErrorRight>>;
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { fromAssetId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { evm } from '@shapeshiftoss/chain-adapters';
|
|
3
|
+
import { bn, bnOrZero, convertBasisPointsToDecimalPercentage } from '@shapeshiftoss/utils';
|
|
4
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
5
|
+
import { v4 as uuid } from 'uuid';
|
|
6
|
+
import { getAddress, zeroAddress } from 'viem';
|
|
7
|
+
import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../index.js';
|
|
8
|
+
import { SwapperName, TradeQuoteError } from '../../../types.js';
|
|
9
|
+
import { getInputOutputRate, makeSwapErrorRight } from '../../../utils.js';
|
|
10
|
+
import { simulateWithStateOverrides } from '../../../utils/tenderly/index.js';
|
|
11
|
+
import { getTreasuryAddressFromChainId, isNativeEvmAsset } from '../../utils/helpers/helpers.js';
|
|
12
|
+
import { chainIdToPortalsNetwork } from '../constants.js';
|
|
13
|
+
import { fetchPortalsTradeEstimate, fetchPortalsTradeOrder } from '../utils/fetchPortalsTradeOrder.js';
|
|
14
|
+
import { getPortalsRouterAddressByChainId, isSupportedChainId } from '../utils/helpers.js';
|
|
15
|
+
export async function getPortalsTradeRate(input, assertGetEvmChainAdapter, swapperConfig) {
|
|
16
|
+
const { sellAsset, buyAsset, accountNumber, affiliateBps, chainId, sellAmountIncludingProtocolFeesCryptoBaseUnit, receiveAddress, supportsEIP1559, } = input;
|
|
17
|
+
const adapter = assertGetEvmChainAdapter(chainId);
|
|
18
|
+
const sellAssetChainId = sellAsset.chainId;
|
|
19
|
+
const buyAssetChainId = buyAsset.chainId;
|
|
20
|
+
if (!isSupportedChainId(sellAssetChainId)) {
|
|
21
|
+
return Err(makeSwapErrorRight({
|
|
22
|
+
message: `unsupported chainId`,
|
|
23
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
24
|
+
details: { chainId: sellAsset.chainId },
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
if (!isSupportedChainId(buyAssetChainId)) {
|
|
28
|
+
return Err(makeSwapErrorRight({
|
|
29
|
+
message: `unsupported chainId`,
|
|
30
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
31
|
+
details: { chainId: sellAsset.chainId },
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
if (sellAssetChainId !== buyAssetChainId) {
|
|
35
|
+
return Err(makeSwapErrorRight({
|
|
36
|
+
message: `cross-chain not supported - both assets must be on chainId ${sellAsset.chainId}`,
|
|
37
|
+
code: TradeQuoteError.CrossChainNotSupported,
|
|
38
|
+
details: { buyAsset, sellAsset },
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
if (!isSupportedChainId(chainId))
|
|
43
|
+
throw new Error(`Unsupported chainId ${sellAsset.chainId}`);
|
|
44
|
+
const portalsNetwork = chainIdToPortalsNetwork[chainId];
|
|
45
|
+
if (!portalsNetwork) {
|
|
46
|
+
return Err(makeSwapErrorRight({
|
|
47
|
+
message: `unsupported ChainId`,
|
|
48
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
49
|
+
details: { chainId: input.chainId },
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
const sellAssetAddress = isNativeEvmAsset(sellAsset.assetId)
|
|
53
|
+
? zeroAddress
|
|
54
|
+
: fromAssetId(sellAsset.assetId).assetReference;
|
|
55
|
+
const buyAssetAddress = isNativeEvmAsset(buyAsset.assetId)
|
|
56
|
+
? zeroAddress
|
|
57
|
+
: fromAssetId(buyAsset.assetId).assetReference;
|
|
58
|
+
const inputToken = `${portalsNetwork}:${sellAssetAddress}`;
|
|
59
|
+
const outputToken = `${portalsNetwork}:${buyAssetAddress}`;
|
|
60
|
+
const userSlippageTolerancePercentageDecimalOrDefault = input.slippageTolerancePercentageDecimal
|
|
61
|
+
? bnOrZero(input.slippageTolerancePercentageDecimal).times(100).toNumber()
|
|
62
|
+
: bnOrZero(getDefaultSlippageDecimalPercentageForSwapper(SwapperName.Portals))
|
|
63
|
+
.times(100)
|
|
64
|
+
.toNumber();
|
|
65
|
+
// Calculate affiliate fee percentage (e.g., 55 bps = 0.55%)
|
|
66
|
+
const affiliateBpsPercentage = convertBasisPointsToDecimalPercentage(affiliateBps)
|
|
67
|
+
.times(100)
|
|
68
|
+
.toNumber();
|
|
69
|
+
// Dummy address for rates (no wallet connected yet)
|
|
70
|
+
// Using Vitalik's address as a realistic test address (same approach as Bebop)
|
|
71
|
+
const RATE_DUMMY_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
|
|
72
|
+
// Use full quote endpoint (not estimate) to get transaction data for Tenderly simulation
|
|
73
|
+
// Skip validation since this is just a rate quote
|
|
74
|
+
const quoteResponse = await fetchPortalsTradeOrder({
|
|
75
|
+
sender: RATE_DUMMY_ADDRESS,
|
|
76
|
+
inputToken,
|
|
77
|
+
outputToken,
|
|
78
|
+
inputAmount: sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
79
|
+
slippageTolerancePercentage: userSlippageTolerancePercentageDecimalOrDefault,
|
|
80
|
+
partner: getTreasuryAddressFromChainId(chainId),
|
|
81
|
+
feePercentage: affiliateBpsPercentage,
|
|
82
|
+
validate: false,
|
|
83
|
+
swapperConfig,
|
|
84
|
+
});
|
|
85
|
+
if (!quoteResponse.tx) {
|
|
86
|
+
throw new Error('Portals quote response missing transaction data');
|
|
87
|
+
}
|
|
88
|
+
const { context, tx } = quoteResponse;
|
|
89
|
+
// Use outputAmount from context, not estimate
|
|
90
|
+
const buyAmountAfterFeesCryptoBaseUnit = context.outputAmount;
|
|
91
|
+
const inputOutputRate = getInputOutputRate({
|
|
92
|
+
sellAmountCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
93
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
94
|
+
sellAsset,
|
|
95
|
+
buyAsset,
|
|
96
|
+
});
|
|
97
|
+
const allowanceContract = getPortalsRouterAddressByChainId(chainId);
|
|
98
|
+
// Don't use Portals' slippageTolerancePercentage field (it's a price indicator, not actual buffer)
|
|
99
|
+
// Instead, calculate the actual buffer Portals applied from the amounts
|
|
100
|
+
const actualBufferDecimal = bnOrZero(context.outputAmount)
|
|
101
|
+
.minus(context.minOutputAmount)
|
|
102
|
+
.div(context.outputAmount)
|
|
103
|
+
.toString();
|
|
104
|
+
// Reverse the buffer to recover the expected output (minOutput / (1 - buffer) = output)
|
|
105
|
+
const buyAmountBeforeSlippageCryptoBaseUnit = bnOrZero(context.minOutputAmount)
|
|
106
|
+
.div(bn(1).minus(actualBufferDecimal))
|
|
107
|
+
.toFixed(0);
|
|
108
|
+
const slippageTolerancePercentageDecimal = actualBufferDecimal;
|
|
109
|
+
const gasLimit = await (async () => {
|
|
110
|
+
const tenderlySimulation = await simulateWithStateOverrides({
|
|
111
|
+
chainId: sellAsset.chainId,
|
|
112
|
+
from: tx.from,
|
|
113
|
+
to: tx.to,
|
|
114
|
+
data: tx.data,
|
|
115
|
+
value: tx.value,
|
|
116
|
+
sellAsset,
|
|
117
|
+
spenderAddress: getAddress(context.target),
|
|
118
|
+
}, {
|
|
119
|
+
apiKey: swapperConfig.VITE_TENDERLY_API_KEY,
|
|
120
|
+
accountSlug: swapperConfig.VITE_TENDERLY_ACCOUNT_SLUG,
|
|
121
|
+
projectSlug: swapperConfig.VITE_TENDERLY_PROJECT_SLUG,
|
|
122
|
+
});
|
|
123
|
+
if (tenderlySimulation.success) {
|
|
124
|
+
return tenderlySimulation.gasLimit.toString();
|
|
125
|
+
}
|
|
126
|
+
// Fallback to estimate endpoint (i.e simulation with overrides failed, but Portals still able to do their magic here)
|
|
127
|
+
const quoteEstimateResponse = await fetchPortalsTradeEstimate({
|
|
128
|
+
inputToken,
|
|
129
|
+
outputToken,
|
|
130
|
+
inputAmount: sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
131
|
+
slippageTolerancePercentage: userSlippageTolerancePercentageDecimalOrDefault,
|
|
132
|
+
swapperConfig,
|
|
133
|
+
});
|
|
134
|
+
return quoteEstimateResponse.context.gasLimit.toString();
|
|
135
|
+
})();
|
|
136
|
+
const { average } = await adapter.getGasFeeData();
|
|
137
|
+
const networkFeeCryptoBaseUnit = evm.calcNetworkFeeCryptoBaseUnit({
|
|
138
|
+
...average,
|
|
139
|
+
supportsEIP1559: Boolean(supportsEIP1559),
|
|
140
|
+
gasLimit,
|
|
141
|
+
});
|
|
142
|
+
const tradeRate = {
|
|
143
|
+
id: uuid(),
|
|
144
|
+
quoteOrRate: 'rate',
|
|
145
|
+
accountNumber,
|
|
146
|
+
receiveAddress,
|
|
147
|
+
affiliateBps,
|
|
148
|
+
rate: inputOutputRate,
|
|
149
|
+
slippageTolerancePercentageDecimal,
|
|
150
|
+
swapperName: SwapperName.Portals,
|
|
151
|
+
steps: [
|
|
152
|
+
{
|
|
153
|
+
// Assume instant execution since this is a same-chain AMM Tx which will happen within the same block
|
|
154
|
+
estimatedExecutionTimeMs: 0,
|
|
155
|
+
allowanceContract,
|
|
156
|
+
accountNumber,
|
|
157
|
+
rate: inputOutputRate,
|
|
158
|
+
buyAsset,
|
|
159
|
+
sellAsset,
|
|
160
|
+
// Before slippage on the right vs. before fees on the left is not a mistake.
|
|
161
|
+
// Portals will yield different `outputAmount` (expected out) on estimate vs. quote and is an upstream bug, so we can't use that
|
|
162
|
+
// To circumvent that and not mislead users into very optimistic expected out in rate (not taking slippage into account) but pessimistic in rate in the end,
|
|
163
|
+
// we simply add the slippage back to the min out, which yields values very close to the actual quote amounts (with a small upside on the quote, so users actually get a better quote
|
|
164
|
+
// than what they've seen as a rate, which is much better than a *huge* downside on the quote)
|
|
165
|
+
buyAmountBeforeFeesCryptoBaseUnit: buyAmountBeforeSlippageCryptoBaseUnit,
|
|
166
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
167
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
168
|
+
feeData: {
|
|
169
|
+
networkFeeCryptoBaseUnit,
|
|
170
|
+
protocolFees: undefined, // We don't have protocol fees on Portals during the estimate step
|
|
171
|
+
},
|
|
172
|
+
source: SwapperName.Portals,
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
};
|
|
176
|
+
return Ok(tradeRate);
|
|
177
|
+
}
|
|
178
|
+
catch (err) {
|
|
179
|
+
return Err(makeSwapErrorRight({
|
|
180
|
+
message: 'failed to get Portals quote',
|
|
181
|
+
cause: err,
|
|
182
|
+
code: TradeQuoteError.NetworkFeeEstimationFailed,
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KnownChainIds } from '@shapeshiftoss/types';
|
|
2
|
+
// https://api.portals.fi/v1/networks
|
|
3
|
+
export const PortalsSupportedChainIds = [
|
|
4
|
+
KnownChainIds.EthereumMainnet,
|
|
5
|
+
KnownChainIds.ArbitrumMainnet,
|
|
6
|
+
KnownChainIds.AvalancheMainnet,
|
|
7
|
+
KnownChainIds.PolygonMainnet,
|
|
8
|
+
KnownChainIds.BnbSmartChainMainnet,
|
|
9
|
+
KnownChainIds.OptimismMainnet,
|
|
10
|
+
KnownChainIds.GnosisMainnet,
|
|
11
|
+
KnownChainIds.BaseMainnet,
|
|
12
|
+
];
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { Address } from 'viem';
|
|
2
|
+
import type { SwapperConfig } from '../../../types.js';
|
|
3
|
+
type PortalsTradeOrderParams = {
|
|
4
|
+
sender: string;
|
|
5
|
+
inputToken: string;
|
|
6
|
+
inputAmount: string;
|
|
7
|
+
outputToken: string;
|
|
8
|
+
partner: string;
|
|
9
|
+
feePercentage?: number;
|
|
10
|
+
validate: boolean;
|
|
11
|
+
swapperConfig: SwapperConfig;
|
|
12
|
+
} & ({
|
|
13
|
+
slippageTolerancePercentage: number;
|
|
14
|
+
autoSlippage?: never;
|
|
15
|
+
} | {
|
|
16
|
+
slippageTolerancePercentage?: never;
|
|
17
|
+
autoSlippage: true;
|
|
18
|
+
});
|
|
19
|
+
type PortalsTradeOrderEstimateParams = Omit<PortalsTradeOrderParams, 'partner' | 'validate' | 'sender'>;
|
|
20
|
+
type PortalsTradeOrderResponse = {
|
|
21
|
+
context: {
|
|
22
|
+
orderId: string;
|
|
23
|
+
inputToken: string;
|
|
24
|
+
inputAmount: string;
|
|
25
|
+
inputAmountUsd: number;
|
|
26
|
+
outputToken: string;
|
|
27
|
+
outputAmount: string;
|
|
28
|
+
outputAmountUsd: number;
|
|
29
|
+
minOutputAmount: string;
|
|
30
|
+
minOutputAmountUsd: number;
|
|
31
|
+
slippageTolerancePercentage: number;
|
|
32
|
+
target: string;
|
|
33
|
+
partner: string;
|
|
34
|
+
sender: string;
|
|
35
|
+
recipient: string;
|
|
36
|
+
value: string;
|
|
37
|
+
route: string[];
|
|
38
|
+
routeHash: string;
|
|
39
|
+
steps: string[];
|
|
40
|
+
gasLimit?: string;
|
|
41
|
+
feeToken?: string;
|
|
42
|
+
feeAmount?: string;
|
|
43
|
+
feeAmountUsd?: number;
|
|
44
|
+
};
|
|
45
|
+
tx?: {
|
|
46
|
+
to: Address;
|
|
47
|
+
from: Address;
|
|
48
|
+
data: string;
|
|
49
|
+
value: string;
|
|
50
|
+
gasLimit: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
type PortalsTradeOrderEstimateResponse = {
|
|
54
|
+
outputAmount: string;
|
|
55
|
+
minOutputAmount: string;
|
|
56
|
+
outputToken: string;
|
|
57
|
+
outputTokenDecimals: number;
|
|
58
|
+
context: {
|
|
59
|
+
slippageTolerancePercentage: number;
|
|
60
|
+
inputAmount: string;
|
|
61
|
+
inputAmountUsd: number;
|
|
62
|
+
inputToken: string;
|
|
63
|
+
outputToken: string;
|
|
64
|
+
outputAmount: string;
|
|
65
|
+
outputAmountUsd: number;
|
|
66
|
+
minOutputAmountUsd: number;
|
|
67
|
+
gasLimit: number;
|
|
68
|
+
sender?: string;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export declare class PortalsError extends Error {
|
|
72
|
+
constructor(message: string);
|
|
73
|
+
}
|
|
74
|
+
export declare const fetchPortalsTradeOrder: ({ sender, inputToken, inputAmount, outputToken, slippageTolerancePercentage, autoSlippage, partner, feePercentage, validate, swapperConfig, }: PortalsTradeOrderParams) => Promise<PortalsTradeOrderResponse>;
|
|
75
|
+
export declare const fetchPortalsTradeEstimate: ({ inputToken, inputAmount, outputToken, slippageTolerancePercentage, swapperConfig, }: PortalsTradeOrderEstimateParams) => Promise<PortalsTradeOrderEstimateResponse>;
|
|
76
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
export class PortalsError extends Error {
|
|
3
|
+
constructor(message) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = 'PortalsError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export const fetchPortalsTradeOrder = async ({ sender, inputToken, inputAmount, outputToken, slippageTolerancePercentage, autoSlippage, partner, feePercentage, validate, swapperConfig, }) => {
|
|
9
|
+
const url = `${swapperConfig.VITE_PORTALS_BASE_URL}/v2/portal`;
|
|
10
|
+
const params = new URLSearchParams({
|
|
11
|
+
partner,
|
|
12
|
+
...(sender ? { sender } : {}),
|
|
13
|
+
inputToken,
|
|
14
|
+
inputAmount,
|
|
15
|
+
outputToken,
|
|
16
|
+
validate: validate.toString(),
|
|
17
|
+
});
|
|
18
|
+
if (!autoSlippage) {
|
|
19
|
+
params.append('slippageTolerancePercentage', slippageTolerancePercentage.toFixed(2)); // Portals API expects a string with at most 2 decimal places
|
|
20
|
+
}
|
|
21
|
+
if (feePercentage) {
|
|
22
|
+
params.append('feePercentage', feePercentage.toString());
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const response = await axios.get(url, { params });
|
|
26
|
+
return response.data;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (axios.isAxiosError(error)) {
|
|
30
|
+
const message = error.response?.data?.message;
|
|
31
|
+
if (message) {
|
|
32
|
+
throw new PortalsError(message);
|
|
33
|
+
}
|
|
34
|
+
throw new Error(`Failed to fetch Portals trade order: ${error.message}`);
|
|
35
|
+
}
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export const fetchPortalsTradeEstimate = async ({ inputToken, inputAmount, outputToken, slippageTolerancePercentage, swapperConfig, }) => {
|
|
40
|
+
const url = `${swapperConfig.VITE_PORTALS_BASE_URL}/v2/portal/estimate`;
|
|
41
|
+
const params = new URLSearchParams({
|
|
42
|
+
inputToken,
|
|
43
|
+
inputAmount,
|
|
44
|
+
outputToken,
|
|
45
|
+
});
|
|
46
|
+
if (slippageTolerancePercentage !== undefined) {
|
|
47
|
+
params.append('slippageTolerancePercentage', slippageTolerancePercentage.toFixed(2)); // Portals API expects a string with at most 2 decimal places
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const response = await axios.get(url, { params });
|
|
51
|
+
return response.data;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (axios.isAxiosError(error)) {
|
|
55
|
+
throw new Error(`Failed to fetch Portals trade estimate: ${error.message}`);
|
|
56
|
+
}
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
};
|