@shapeshiftoss/swapper 17.6.6 → 17.6.8
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 +169 -0
- package/dist/cjs/cowswap-utils/constants.d.ts +14 -0
- package/dist/cjs/cowswap-utils/constants.js +35 -0
- package/dist/cjs/cowswap-utils/index.d.ts +24 -0
- package/dist/cjs/cowswap-utils/index.js +179 -0
- package/dist/cjs/index.d.ts +21 -0
- package/dist/cjs/index.js +50 -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/AvnuSwapper/AvnuSwapper.d.ts +2 -0
- package/dist/cjs/swappers/AvnuSwapper/AvnuSwapper.js +7 -0
- package/dist/cjs/swappers/AvnuSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/AvnuSwapper/endpoints.js +181 -0
- package/dist/cjs/swappers/AvnuSwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/AvnuSwapper/index.js +5 -0
- package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +142 -0
- package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeRate.js +120 -0
- package/dist/cjs/swappers/AvnuSwapper/types.d.ts +2 -0
- package/dist/cjs/swappers/AvnuSwapper/types.js +2 -0
- package/dist/cjs/swappers/AvnuSwapper/utils/constants.d.ts +5 -0
- package/dist/cjs/swappers/AvnuSwapper/utils/constants.js +11 -0
- package/dist/cjs/swappers/AvnuSwapper/utils/helpers.d.ts +7 -0
- package/dist/cjs/swappers/AvnuSwapper/utils/helpers.js +21 -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 +64 -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 +103 -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 +28 -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 +93 -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/getCetusTradeData.d.ts +24 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusTradeData.js +79 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +97 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.js +94 -0
- package/dist/cjs/swappers/CetusSwapper/utils/constants.d.ts +4 -0
- package/dist/cjs/swappers/CetusSwapper/utils/constants.js +10 -0
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.d.ts +8 -0
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.js +63 -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 +56 -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 +26 -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 +15 -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 +276 -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 +279 -0
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +312 -0
- package/dist/cjs/swappers/NearIntentsSwapper/types.d.ts +6 -0
- package/dist/cjs/swappers/NearIntentsSwapper/types.js +44 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers/helpers.d.ts +12 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers/helpers.js +124 -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 +147 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +5 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +220 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +5 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +193 -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 +16 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchAxelarscanStatus.d.ts +9 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchAxelarscanStatus.js +52 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +77 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.js +68 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchSquidStatus.d.ts +9 -0
- package/dist/cjs/swappers/PortalsSwapper/utils/fetchSquidStatus.js +57 -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 +71 -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 +518 -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 +130 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +167 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.js +46 -0
- package/dist/cjs/swappers/SunioSwapper/SunioSwapper.d.ts +2 -0
- package/dist/cjs/swappers/SunioSwapper/SunioSwapper.js +7 -0
- package/dist/cjs/swappers/SunioSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/SunioSwapper/endpoints.js +131 -0
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +8 -0
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +8 -0
- package/dist/cjs/swappers/SunioSwapper/index.d.ts +4 -0
- package/dist/cjs/swappers/SunioSwapper/index.js +23 -0
- package/dist/cjs/swappers/SunioSwapper/types.d.ts +22 -0
- package/dist/cjs/swappers/SunioSwapper/types.js +12 -0
- package/dist/cjs/swappers/SunioSwapper/utils/abi.d.ts +48 -0
- package/dist/cjs/swappers/SunioSwapper/utils/abi.js +28 -0
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +14 -0
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +32 -0
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapTransaction.d.ts +11 -0
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapTransaction.js +57 -0
- package/dist/cjs/swappers/SunioSwapper/utils/constants.d.ts +6 -0
- package/dist/cjs/swappers/SunioSwapper/utils/constants.js +16 -0
- package/dist/cjs/swappers/SunioSwapper/utils/fetchFromSunio.d.ts +11 -0
- package/dist/cjs/swappers/SunioSwapper/utils/fetchFromSunio.js +45 -0
- package/dist/cjs/swappers/SunioSwapper/utils/getQuoteOrRate.d.ts +4 -0
- package/dist/cjs/swappers/SunioSwapper/utils/getQuoteOrRate.js +203 -0
- package/dist/cjs/swappers/SunioSwapper/utils/helpers/helpers.d.ts +4 -0
- package/dist/cjs/swappers/SunioSwapper/utils/helpers/helpers.js +22 -0
- package/dist/cjs/swappers/SunioSwapper/utils/sunioService.d.ts +6 -0
- package/dist/cjs/swappers/SunioSwapper/utils/sunioService.js +18 -0
- package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.d.ts +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.js +16 -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 +83 -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 +59 -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 +394 -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 +31 -0
- package/dist/cjs/thorchain-utils/index.js +172 -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/tron/getThorTxData.d.ts +12 -0
- package/dist/cjs/thorchain-utils/tron/getThorTxData.js +14 -0
- package/dist/cjs/thorchain-utils/tron/getTronTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/tron/getTronTransactionFees.js +65 -0
- package/dist/cjs/thorchain-utils/tron/getUnsignedTronTransaction.d.ts +3 -0
- package/dist/cjs/thorchain-utils/tron/getUnsignedTronTransaction.js +35 -0
- package/dist/cjs/thorchain-utils/tron/index.d.ts +3 -0
- package/dist/cjs/thorchain-utils/tron/index.js +19 -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 +643 -0
- package/dist/cjs/types.js +85 -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 +25 -0
- package/dist/cjs/utils/tenderly/simulate.js +129 -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 +77 -0
- package/dist/cjs/utils/tenderly/types.js +2 -0
- package/dist/cjs/utils.d.ts +76 -0
- package/dist/cjs/utils.js +290 -0
- package/dist/esm/.tsbuildinfo +1 -0
- package/dist/esm/constants.d.ts +8 -0
- package/dist/esm/constants.js +164 -0
- package/dist/esm/cowswap-utils/constants.d.ts +14 -0
- package/dist/esm/cowswap-utils/constants.js +32 -0
- package/dist/esm/cowswap-utils/index.d.ts +24 -0
- package/dist/esm/cowswap-utils/index.js +154 -0
- package/dist/esm/index.d.ts +21 -0
- package/dist/esm/index.js +21 -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/AvnuSwapper/AvnuSwapper.d.ts +2 -0
- package/dist/esm/swappers/AvnuSwapper/AvnuSwapper.js +4 -0
- package/dist/esm/swappers/AvnuSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/AvnuSwapper/endpoints.js +178 -0
- package/dist/esm/swappers/AvnuSwapper/index.d.ts +1 -0
- package/dist/esm/swappers/AvnuSwapper/index.js +1 -0
- package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +138 -0
- package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeRate.js +116 -0
- package/dist/esm/swappers/AvnuSwapper/types.d.ts +2 -0
- package/dist/esm/swappers/AvnuSwapper/types.js +1 -0
- package/dist/esm/swappers/AvnuSwapper/utils/constants.d.ts +5 -0
- package/dist/esm/swappers/AvnuSwapper/utils/constants.js +7 -0
- package/dist/esm/swappers/AvnuSwapper/utils/helpers.d.ts +7 -0
- package/dist/esm/swappers/AvnuSwapper/utils/helpers.js +17 -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 +62 -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 +98 -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 +23 -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 +90 -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/getCetusTradeData.d.ts +24 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusTradeData.js +75 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +93 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.js +90 -0
- package/dist/esm/swappers/CetusSwapper/utils/constants.d.ts +4 -0
- package/dist/esm/swappers/CetusSwapper/utils/constants.js +6 -0
- package/dist/esm/swappers/CetusSwapper/utils/helpers.d.ts +8 -0
- package/dist/esm/swappers/CetusSwapper/utils/helpers.js +56 -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 +56 -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 +26 -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 +12 -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 +273 -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 +275 -0
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +308 -0
- package/dist/esm/swappers/NearIntentsSwapper/types.d.ts +6 -0
- package/dist/esm/swappers/NearIntentsSwapper/types.js +40 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/helpers/helpers.d.ts +12 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/helpers/helpers.js +116 -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 +141 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +5 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +216 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +5 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +189 -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 +13 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchAxelarscanStatus.d.ts +9 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchAxelarscanStatus.js +47 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +77 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.js +59 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchSquidStatus.d.ts +9 -0
- package/dist/esm/swappers/PortalsSwapper/utils/fetchSquidStatus.js +52 -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 +65 -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 +511 -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 +126 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +167 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.js +38 -0
- package/dist/esm/swappers/SunioSwapper/SunioSwapper.d.ts +2 -0
- package/dist/esm/swappers/SunioSwapper/SunioSwapper.js +4 -0
- package/dist/esm/swappers/SunioSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/SunioSwapper/endpoints.js +128 -0
- package/dist/esm/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +4 -0
- package/dist/esm/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.d.ts +3 -0
- package/dist/esm/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +4 -0
- package/dist/esm/swappers/SunioSwapper/index.d.ts +4 -0
- package/dist/esm/swappers/SunioSwapper/index.js +4 -0
- package/dist/esm/swappers/SunioSwapper/types.d.ts +22 -0
- package/dist/esm/swappers/SunioSwapper/types.js +9 -0
- package/dist/esm/swappers/SunioSwapper/utils/abi.d.ts +48 -0
- package/dist/esm/swappers/SunioSwapper/utils/abi.js +25 -0
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +14 -0
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +28 -0
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapTransaction.d.ts +11 -0
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapTransaction.js +53 -0
- package/dist/esm/swappers/SunioSwapper/utils/constants.d.ts +6 -0
- package/dist/esm/swappers/SunioSwapper/utils/constants.js +13 -0
- package/dist/esm/swappers/SunioSwapper/utils/fetchFromSunio.d.ts +11 -0
- package/dist/esm/swappers/SunioSwapper/utils/fetchFromSunio.js +41 -0
- package/dist/esm/swappers/SunioSwapper/utils/getQuoteOrRate.d.ts +4 -0
- package/dist/esm/swappers/SunioSwapper/utils/getQuoteOrRate.js +199 -0
- package/dist/esm/swappers/SunioSwapper/utils/helpers/helpers.d.ts +4 -0
- package/dist/esm/swappers/SunioSwapper/utils/helpers/helpers.js +16 -0
- package/dist/esm/swappers/SunioSwapper/utils/sunioService.d.ts +6 -0
- package/dist/esm/swappers/SunioSwapper/utils/sunioService.js +14 -0
- package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.d.ts +2 -0
- package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.js +13 -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 +80 -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 +54 -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 +367 -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 +31 -0
- package/dist/esm/thorchain-utils/index.js +132 -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/tron/getThorTxData.d.ts +12 -0
- package/dist/esm/thorchain-utils/tron/getThorTxData.js +10 -0
- package/dist/esm/thorchain-utils/tron/getTronTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/tron/getTronTransactionFees.js +61 -0
- package/dist/esm/thorchain-utils/tron/getUnsignedTronTransaction.d.ts +3 -0
- package/dist/esm/thorchain-utils/tron/getUnsignedTronTransaction.js +31 -0
- package/dist/esm/thorchain-utils/tron/index.d.ts +3 -0
- package/dist/esm/thorchain-utils/tron/index.js +3 -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 +643 -0
- package/dist/esm/types.js +82 -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 +25 -0
- package/dist/esm/utils/tenderly/simulate.js +121 -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 +77 -0
- package/dist/esm/utils/tenderly/types.js +1 -0
- package/dist/esm/utils.d.ts +76 -0
- package/dist/esm/utils.js +262 -0
- package/package.json +11 -10
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { UNISWAP_V3_POOL_FACTORY_CONTRACT_MAINNET, UNISWAP_V3_QUOTER_ABI, UNISWAP_V3_QUOTER_CONTRACT_MAINNET, viemClientByChainId, } from '@shapeshiftoss/contracts';
|
|
2
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
3
|
+
import assert from 'assert';
|
|
4
|
+
import { getContract } from 'viem';
|
|
5
|
+
import { TradeQuoteError } from '../../../types.js';
|
|
6
|
+
import { makeSwapErrorRight } from '../../../utils.js';
|
|
7
|
+
import { feeAmountToContractMap, generateV3PoolAddressesAcrossFeeRange, getContractDataByPool, getQuotedAmountOutByPool, selectBestRate, } from './longTailHelpers.js';
|
|
8
|
+
export const getBestAggregator = async (buyAsset, sellToken, buyToken, sellAmountIncludingProtocolFeesCryptoBaseUnit) => {
|
|
9
|
+
const publicClient = viemClientByChainId[buyAsset.chainId];
|
|
10
|
+
assert(publicClient !== undefined, `no public client found for chainId '${buyAsset.chainId}'`);
|
|
11
|
+
const poolAddresses = generateV3PoolAddressesAcrossFeeRange(UNISWAP_V3_POOL_FACTORY_CONTRACT_MAINNET, sellToken, buyToken);
|
|
12
|
+
const poolContractData = getContractDataByPool(poolAddresses, publicClient, sellToken.address, buyToken.address);
|
|
13
|
+
const quoterContract = getContract({
|
|
14
|
+
abi: UNISWAP_V3_QUOTER_ABI,
|
|
15
|
+
address: UNISWAP_V3_QUOTER_CONTRACT_MAINNET,
|
|
16
|
+
client: publicClient,
|
|
17
|
+
});
|
|
18
|
+
const quotedAmountOutByPool = await getQuotedAmountOutByPool(poolContractData, BigInt(sellAmountIncludingProtocolFeesCryptoBaseUnit), quoterContract);
|
|
19
|
+
const [bestPool, quotedAmountOut] = selectBestRate(quotedAmountOutByPool);
|
|
20
|
+
const bestContractData = bestPool ? poolContractData.get(bestPool) : undefined;
|
|
21
|
+
const bestAggregator = bestContractData ? feeAmountToContractMap[bestContractData.fee] : undefined;
|
|
22
|
+
if (!bestAggregator || !quotedAmountOut) {
|
|
23
|
+
return Err(makeSwapErrorRight({
|
|
24
|
+
message: `[getThorTradeQuote] - No best aggregator contract found.`,
|
|
25
|
+
code: TradeQuoteError.UnsupportedTradePair,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
return Ok({ bestAggregator, quotedAmountOut });
|
|
29
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { ThorTradeQuote } from '../../../thorchain-utils/index.js';
|
|
3
|
+
import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
|
|
4
|
+
export declare const getL1ToLongtailQuote: (input: CommonTradeQuoteInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeQuote[], SwapErrorRight>>;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { ethChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET } from '@shapeshiftoss/contracts';
|
|
3
|
+
import { convertDecimalPercentageToBasisPoints, isFulfilled, isRejected, isResolvedErr, } from '@shapeshiftoss/utils';
|
|
4
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
5
|
+
import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constants.js';
|
|
6
|
+
import { getAffiliate, getL1RateOrQuote, TradeType } from '../../../thorchain-utils/index.js';
|
|
7
|
+
import { TradeQuoteError } from '../../../types.js';
|
|
8
|
+
import { getHopByIndex, makeSwapErrorRight } from '../../../utils.js';
|
|
9
|
+
import { addL1ToLongtailPartsToMemo } from './addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js';
|
|
10
|
+
import { getBestAggregator } from './getBestAggregator.js';
|
|
11
|
+
import { getTokenFromAsset, getWrappedToken } from './longTailHelpers.js';
|
|
12
|
+
// This just uses UniswapV3 to get the longtail quote for now.
|
|
13
|
+
export const getL1ToLongtailQuote = async (input, deps, streamingInterval, swapperName) => {
|
|
14
|
+
const { buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, sellAsset, slippageTolerancePercentageDecimal, } = input;
|
|
15
|
+
const longtailTokensJson = await import('../generated/generatedThorLongtailTokens.json');
|
|
16
|
+
const longtailTokens = longtailTokensJson.default;
|
|
17
|
+
if (!longtailTokens.includes(buyAsset.assetId)) {
|
|
18
|
+
return Err(makeSwapErrorRight({
|
|
19
|
+
message: `[getThorTradeQuote] - Unsupported buyAssetId ${buyAsset.assetId}.`,
|
|
20
|
+
code: TradeQuoteError.UnsupportedTradePair,
|
|
21
|
+
details: { buyAsset, sellAsset },
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
/*
|
|
25
|
+
We only support L1 -> ethereum longtail swaps for now.
|
|
26
|
+
*/
|
|
27
|
+
if (buyAsset.chainId !== ethChainId) {
|
|
28
|
+
return Err(makeSwapErrorRight({
|
|
29
|
+
message: `[getThorTradeQuote] - Unsupported chainId ${buyAsset.chainId}.`,
|
|
30
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
31
|
+
details: { buyAssetChainId: buyAsset.chainId },
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
const sellAssetChainId = sellAsset.chainId;
|
|
35
|
+
const buyAssetChainId = buyAsset.chainId;
|
|
36
|
+
const sellAssetFeeAssetId = deps.assertGetChainAdapter(sellAssetChainId).getFeeAssetId();
|
|
37
|
+
const sellAssetFeeAsset = sellAssetFeeAssetId ? deps.assetsById[sellAssetFeeAssetId] : undefined;
|
|
38
|
+
const buyAssetFeeAssetId = deps.assertGetChainAdapter(buyAssetChainId).getFeeAssetId();
|
|
39
|
+
const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
|
|
40
|
+
if (!buyAssetFeeAsset) {
|
|
41
|
+
return Err(makeSwapErrorRight({
|
|
42
|
+
message: `[getThorTradeQuote] - No native buy asset found for ${buyAssetChainId}.`,
|
|
43
|
+
code: TradeQuoteError.InternalError,
|
|
44
|
+
details: { buyAssetChainId },
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
if (!sellAssetFeeAsset) {
|
|
48
|
+
return Err(makeSwapErrorRight({
|
|
49
|
+
message: `[getThorTradeQuote] - No native buy asset found for ${sellAssetChainId}.`,
|
|
50
|
+
code: TradeQuoteError.InternalError,
|
|
51
|
+
details: { sellAssetChainId },
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
const l1Tol1QuoteInput = {
|
|
55
|
+
...input,
|
|
56
|
+
buyAsset: buyAssetFeeAsset,
|
|
57
|
+
sellAsset,
|
|
58
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit,
|
|
59
|
+
};
|
|
60
|
+
const maybeThorchainQuotes = await getL1RateOrQuote(l1Tol1QuoteInput, deps, streamingInterval, TradeType.L1ToLongTail, swapperName);
|
|
61
|
+
if (maybeThorchainQuotes.isErr())
|
|
62
|
+
return Err(maybeThorchainQuotes.unwrapErr());
|
|
63
|
+
const thorchainQuotes = maybeThorchainQuotes.unwrap();
|
|
64
|
+
let bestAggregator;
|
|
65
|
+
let quotedAmountOut;
|
|
66
|
+
const promises = await Promise.allSettled(thorchainQuotes.map(async (quote) => {
|
|
67
|
+
// A quote always has a first step
|
|
68
|
+
const onlyStep = getHopByIndex(quote, 0);
|
|
69
|
+
// Or well... it should.
|
|
70
|
+
if (!onlyStep) {
|
|
71
|
+
return Err(makeSwapErrorRight({
|
|
72
|
+
message: `[getL1ToLongtailQuote] - First hop not found`,
|
|
73
|
+
code: TradeQuoteError.InternalError,
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getWrappedToken(buyAssetFeeAsset), getTokenFromAsset(buyAsset), onlyStep.buyAmountAfterFeesCryptoBaseUnit);
|
|
77
|
+
if (maybeBestAggregator.isErr())
|
|
78
|
+
return Err(maybeBestAggregator.unwrapErr());
|
|
79
|
+
const unwrappedResult = maybeBestAggregator.unwrap();
|
|
80
|
+
bestAggregator = unwrappedResult.bestAggregator;
|
|
81
|
+
quotedAmountOut = unwrappedResult.quotedAmountOut;
|
|
82
|
+
const updatedMemo = addL1ToLongtailPartsToMemo({
|
|
83
|
+
sellAssetChainId,
|
|
84
|
+
aggregator: bestAggregator,
|
|
85
|
+
finalAssetAssetId: buyAsset.assetId,
|
|
86
|
+
finalAssetAmountOut: quotedAmountOut.toString(),
|
|
87
|
+
slippageBps: convertDecimalPercentageToBasisPoints(slippageTolerancePercentageDecimal ??
|
|
88
|
+
getDefaultSlippageDecimalPercentageForSwapper(swapperName)).toString(),
|
|
89
|
+
quotedMemo: quote.memo,
|
|
90
|
+
longtailTokens,
|
|
91
|
+
affiliate: getAffiliate(swapperName),
|
|
92
|
+
});
|
|
93
|
+
return Ok({
|
|
94
|
+
...quote,
|
|
95
|
+
memo: updatedMemo,
|
|
96
|
+
aggregator: bestAggregator,
|
|
97
|
+
steps: quote.steps.map(s => ({
|
|
98
|
+
...s,
|
|
99
|
+
buyAsset,
|
|
100
|
+
buyAmountAfterFeesCryptoBaseUnit: quotedAmountOut.toString(),
|
|
101
|
+
// This is wrong, we should get the get the value before fees or display ETH value received after the thorchain bridge
|
|
102
|
+
buyAmountBeforeFeesCryptoBaseUnit: quotedAmountOut.toString(),
|
|
103
|
+
allowanceContract: TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET,
|
|
104
|
+
})),
|
|
105
|
+
isLongtail: true,
|
|
106
|
+
longtailData: {
|
|
107
|
+
L1ToLongtailExpectedAmountOut: quotedAmountOut.toString(),
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
}));
|
|
111
|
+
if (promises.every(promise => isRejected(promise) || isResolvedErr(promise))) {
|
|
112
|
+
return Err(makeSwapErrorRight({
|
|
113
|
+
message: '[getThorTradeQuote] - failed to get best aggregator',
|
|
114
|
+
code: TradeQuoteError.InternalError,
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
const updatedQuotes = promises.filter(isFulfilled).map(element => element.value.unwrap());
|
|
118
|
+
return Ok(updatedQuotes);
|
|
119
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { ThorTradeRate } from '../../../thorchain-utils/index.js';
|
|
3
|
+
import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
|
|
4
|
+
export declare const getL1ToLongtailRate: (input: GetTradeRateInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeRate[], SwapErrorRight>>;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { ethChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET } from '@shapeshiftoss/contracts';
|
|
3
|
+
import { isFulfilled, isRejected, isResolvedErr } from '@shapeshiftoss/utils';
|
|
4
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
5
|
+
import { getL1RateOrQuote, TradeType } from '../../../thorchain-utils/index.js';
|
|
6
|
+
import { TradeQuoteError } from '../../../types.js';
|
|
7
|
+
import { getHopByIndex, makeSwapErrorRight } from '../../../utils.js';
|
|
8
|
+
import { getBestAggregator } from './getBestAggregator.js';
|
|
9
|
+
import { getTokenFromAsset, getWrappedToken } from './longTailHelpers.js';
|
|
10
|
+
export const getL1ToLongtailRate = async (input, deps, streamingInterval, swapperName) => {
|
|
11
|
+
const { buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, sellAsset, } = input;
|
|
12
|
+
const longtailTokensJson = await import('../generated/generatedThorLongtailTokens.json');
|
|
13
|
+
const longtailTokens = longtailTokensJson.default;
|
|
14
|
+
if (!longtailTokens.includes(buyAsset.assetId)) {
|
|
15
|
+
return Err(makeSwapErrorRight({
|
|
16
|
+
message: `[getThorTradeQuote] - Unsupported buyAssetId ${buyAsset.assetId}.`,
|
|
17
|
+
code: TradeQuoteError.UnsupportedTradePair,
|
|
18
|
+
details: { buyAsset, sellAsset },
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
/*
|
|
22
|
+
We only support L1 -> ethereum longtail swaps for now.
|
|
23
|
+
*/
|
|
24
|
+
if (buyAsset.chainId !== ethChainId) {
|
|
25
|
+
return Err(makeSwapErrorRight({
|
|
26
|
+
message: `[getThorTradeQuote] - Unsupported chainId ${buyAsset.chainId}.`,
|
|
27
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
28
|
+
details: { buyAssetChainId: buyAsset.chainId },
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
const sellAssetChainId = sellAsset.chainId;
|
|
32
|
+
const buyAssetChainId = buyAsset.chainId;
|
|
33
|
+
const sellAssetFeeAssetId = deps.assertGetChainAdapter(sellAssetChainId).getFeeAssetId();
|
|
34
|
+
const sellAssetFeeAsset = sellAssetFeeAssetId ? deps.assetsById[sellAssetFeeAssetId] : undefined;
|
|
35
|
+
const buyAssetFeeAssetId = deps.assertGetChainAdapter(buyAssetChainId).getFeeAssetId();
|
|
36
|
+
const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
|
|
37
|
+
if (!buyAssetFeeAsset) {
|
|
38
|
+
return Err(makeSwapErrorRight({
|
|
39
|
+
message: `[getThorTradeQuote] - No native buy asset found for ${buyAssetChainId}.`,
|
|
40
|
+
code: TradeQuoteError.InternalError,
|
|
41
|
+
details: { buyAssetChainId },
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
if (!sellAssetFeeAsset) {
|
|
45
|
+
return Err(makeSwapErrorRight({
|
|
46
|
+
message: `[getThorTradeQuote] - No native buy asset found for ${sellAssetChainId}.`,
|
|
47
|
+
code: TradeQuoteError.InternalError,
|
|
48
|
+
details: { sellAssetChainId },
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
const l1Tol1RateInput = {
|
|
52
|
+
...input,
|
|
53
|
+
buyAsset: buyAssetFeeAsset,
|
|
54
|
+
sellAsset,
|
|
55
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit,
|
|
56
|
+
};
|
|
57
|
+
const maybeThorchainRates = await getL1RateOrQuote(l1Tol1RateInput, deps, streamingInterval, TradeType.L1ToLongTail, swapperName);
|
|
58
|
+
if (maybeThorchainRates.isErr())
|
|
59
|
+
return Err(maybeThorchainRates.unwrapErr());
|
|
60
|
+
const thorchainRates = maybeThorchainRates.unwrap();
|
|
61
|
+
let bestAggregator;
|
|
62
|
+
let quotedAmountOut;
|
|
63
|
+
const promises = await Promise.allSettled(thorchainRates.map(async (quote) => {
|
|
64
|
+
// A quote always has a first step
|
|
65
|
+
const onlyStep = getHopByIndex(quote, 0);
|
|
66
|
+
// Or well... it should.
|
|
67
|
+
if (!onlyStep) {
|
|
68
|
+
return Err(makeSwapErrorRight({
|
|
69
|
+
message: `[getL1ToLongtailRate] - First hop not found`,
|
|
70
|
+
code: TradeQuoteError.InternalError,
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getWrappedToken(buyAssetFeeAsset), getTokenFromAsset(buyAsset), onlyStep.buyAmountAfterFeesCryptoBaseUnit);
|
|
74
|
+
if (maybeBestAggregator.isErr())
|
|
75
|
+
return Err(maybeBestAggregator.unwrapErr());
|
|
76
|
+
const unwrappedResult = maybeBestAggregator.unwrap();
|
|
77
|
+
bestAggregator = unwrappedResult.bestAggregator;
|
|
78
|
+
quotedAmountOut = unwrappedResult.quotedAmountOut;
|
|
79
|
+
// No memo is returned upstream for rates
|
|
80
|
+
const updatedMemo = '';
|
|
81
|
+
return Ok({
|
|
82
|
+
...quote,
|
|
83
|
+
memo: updatedMemo,
|
|
84
|
+
aggregator: bestAggregator,
|
|
85
|
+
steps: quote.steps.map(s => ({
|
|
86
|
+
...s,
|
|
87
|
+
buyAsset,
|
|
88
|
+
buyAmountAfterFeesCryptoBaseUnit: quotedAmountOut.toString(),
|
|
89
|
+
// This is wrong, we should get the get the value before fees or display ETH value received after the thorchain bridge
|
|
90
|
+
buyAmountBeforeFeesCryptoBaseUnit: quotedAmountOut.toString(),
|
|
91
|
+
allowanceContract: TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET,
|
|
92
|
+
})),
|
|
93
|
+
isLongtail: true,
|
|
94
|
+
longtailData: {
|
|
95
|
+
L1ToLongtailExpectedAmountOut: quotedAmountOut.toString(),
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
}));
|
|
99
|
+
if (promises.every(promise => isRejected(promise) || isResolvedErr(promise))) {
|
|
100
|
+
return Err(makeSwapErrorRight({
|
|
101
|
+
message: '[getThorTradeQuote] - failed to get best aggregator',
|
|
102
|
+
code: TradeQuoteError.InternalError,
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
const updatedQuotes = promises.filter(isFulfilled).map(element => element.value.unwrap());
|
|
106
|
+
return Ok(updatedQuotes);
|
|
107
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { ThorTradeQuote } from '../../../thorchain-utils/index.js';
|
|
3
|
+
import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
|
|
4
|
+
export declare const getLongtailToL1Quote: (input: CommonTradeQuoteInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeQuote[], SwapErrorRight>>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ethChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET, viemClientByChainId, } from '@shapeshiftoss/contracts';
|
|
3
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
4
|
+
import assert from 'assert';
|
|
5
|
+
import { getL1RateOrQuote, TradeType } from '../../../thorchain-utils/index.js';
|
|
6
|
+
import { TradeQuoteError } from '../../../types.js';
|
|
7
|
+
import { makeSwapErrorRight } from '../../../utils.js';
|
|
8
|
+
import { getBestAggregator } from './getBestAggregator.js';
|
|
9
|
+
import { getTokenFromAsset, getWrappedToken } from './longTailHelpers.js';
|
|
10
|
+
// This just uses UniswapV3 to get the longtail quote for now.
|
|
11
|
+
export const getLongtailToL1Quote = async (input, deps, streamingInterval, swapperName) => {
|
|
12
|
+
const { sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit } = input;
|
|
13
|
+
/*
|
|
14
|
+
We only support ethereum longtail -> L1 swaps for now.
|
|
15
|
+
We can later add BSC via UniV3, or Avalanche (e.g. via PancakeSwap)
|
|
16
|
+
*/
|
|
17
|
+
if (sellAsset.chainId !== ethChainId) {
|
|
18
|
+
return Err(makeSwapErrorRight({
|
|
19
|
+
message: `[getThorTradeQuote] - Unsupported chainId ${sellAsset.chainId}.`,
|
|
20
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
21
|
+
details: { sellAssetChainId: sellAsset.chainId },
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
const sellChainId = sellAsset.chainId;
|
|
25
|
+
const buyAssetFeeAssetId = deps.assertGetChainAdapter(sellChainId)?.getFeeAssetId();
|
|
26
|
+
const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
|
|
27
|
+
if (!buyAssetFeeAsset) {
|
|
28
|
+
return Err(makeSwapErrorRight({
|
|
29
|
+
message: `[getThorTradeQuote] - No native buy asset found for ${sellChainId}.`,
|
|
30
|
+
code: TradeQuoteError.InternalError,
|
|
31
|
+
details: { sellAssetChainId: sellChainId },
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
// TODO: use more than just UniswapV3, and also consider trianglar routes.
|
|
35
|
+
const publicClient = viemClientByChainId[sellChainId];
|
|
36
|
+
assert(publicClient !== undefined, `no public client found for chainId '${sellChainId}'`);
|
|
37
|
+
const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getTokenFromAsset(sellAsset), getWrappedToken(buyAssetFeeAsset), sellAmountIncludingProtocolFeesCryptoBaseUnit);
|
|
38
|
+
if (maybeBestAggregator.isErr()) {
|
|
39
|
+
return Err(maybeBestAggregator.unwrapErr());
|
|
40
|
+
}
|
|
41
|
+
const { bestAggregator, quotedAmountOut } = maybeBestAggregator.unwrap();
|
|
42
|
+
const l1Tol1QuoteInput = {
|
|
43
|
+
...input,
|
|
44
|
+
sellAsset: buyAssetFeeAsset,
|
|
45
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: quotedAmountOut.toString(),
|
|
46
|
+
};
|
|
47
|
+
const thorchainQuotes = await getL1RateOrQuote(l1Tol1QuoteInput, deps, streamingInterval, TradeType.LongTailToL1, swapperName);
|
|
48
|
+
return thorchainQuotes.andThen(quotes => {
|
|
49
|
+
const updatedQuotes = quotes.map(q => ({
|
|
50
|
+
...q,
|
|
51
|
+
aggregator: bestAggregator,
|
|
52
|
+
// This logic will need to be updated to support multi-hop, if that's ever implemented for THORChain
|
|
53
|
+
steps: q.steps.map(s => ({
|
|
54
|
+
...s,
|
|
55
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
56
|
+
sellAsset,
|
|
57
|
+
allowanceContract: TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET,
|
|
58
|
+
})),
|
|
59
|
+
isLongtail: true,
|
|
60
|
+
longtailData: {
|
|
61
|
+
longtailToL1ExpectedAmountOut: quotedAmountOut.toString(),
|
|
62
|
+
},
|
|
63
|
+
}));
|
|
64
|
+
return Ok(updatedQuotes);
|
|
65
|
+
});
|
|
66
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { ThorTradeRate } from '../../../thorchain-utils/index.js';
|
|
3
|
+
import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
|
|
4
|
+
export declare const getLongtailToL1Rate: (input: GetTradeRateInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeRate[], SwapErrorRight>>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ethChainId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET, viemClientByChainId, } from '@shapeshiftoss/contracts';
|
|
3
|
+
import { Err, Ok } from '@sniptt/monads';
|
|
4
|
+
import assert from 'assert';
|
|
5
|
+
import { getL1RateOrQuote, TradeType } from '../../../thorchain-utils/index.js';
|
|
6
|
+
import { TradeQuoteError } from '../../../types.js';
|
|
7
|
+
import { makeSwapErrorRight } from '../../../utils.js';
|
|
8
|
+
import { getBestAggregator } from './getBestAggregator.js';
|
|
9
|
+
import { getTokenFromAsset, getWrappedToken } from './longTailHelpers.js';
|
|
10
|
+
// This just uses UniswapV3 to get the longtail quote for now.
|
|
11
|
+
export const getLongtailToL1Rate = async (input, deps, streamingInterval, swapperName) => {
|
|
12
|
+
const { sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit } = input;
|
|
13
|
+
/*
|
|
14
|
+
We only support ethereum longtail -> L1 swaps for now.
|
|
15
|
+
We can later add BSC via UniV3, or Avalanche (e.g. via PancakeSwap)
|
|
16
|
+
*/
|
|
17
|
+
if (sellAsset.chainId !== ethChainId) {
|
|
18
|
+
return Err(makeSwapErrorRight({
|
|
19
|
+
message: `[getThorTradeQuote] - Unsupported chainId ${sellAsset.chainId}.`,
|
|
20
|
+
code: TradeQuoteError.UnsupportedChain,
|
|
21
|
+
details: { sellAssetChainId: sellAsset.chainId },
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
const sellChainId = sellAsset.chainId;
|
|
25
|
+
const buyAssetFeeAssetId = deps.assertGetChainAdapter(sellChainId)?.getFeeAssetId();
|
|
26
|
+
const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
|
|
27
|
+
if (!buyAssetFeeAsset) {
|
|
28
|
+
return Err(makeSwapErrorRight({
|
|
29
|
+
message: `[getThorTradeQuote] - No native buy asset found for ${sellChainId}.`,
|
|
30
|
+
code: TradeQuoteError.InternalError,
|
|
31
|
+
details: { sellAssetChainId: sellChainId },
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
// TODO: use more than just UniswapV3, and also consider trianglar routes.
|
|
35
|
+
const publicClient = viemClientByChainId[sellChainId];
|
|
36
|
+
assert(publicClient !== undefined, `no public client found for chainId '${sellChainId}'`);
|
|
37
|
+
const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getTokenFromAsset(sellAsset), getWrappedToken(buyAssetFeeAsset), sellAmountIncludingProtocolFeesCryptoBaseUnit);
|
|
38
|
+
if (maybeBestAggregator.isErr()) {
|
|
39
|
+
return Err(maybeBestAggregator.unwrapErr());
|
|
40
|
+
}
|
|
41
|
+
const { bestAggregator, quotedAmountOut } = maybeBestAggregator.unwrap();
|
|
42
|
+
const l1Tol1QuoteInput = {
|
|
43
|
+
...input,
|
|
44
|
+
sellAsset: buyAssetFeeAsset,
|
|
45
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: quotedAmountOut.toString(),
|
|
46
|
+
};
|
|
47
|
+
const thorchainRates = await getL1RateOrQuote(l1Tol1QuoteInput, deps, streamingInterval, TradeType.LongTailToL1, swapperName);
|
|
48
|
+
return thorchainRates.andThen(rates => {
|
|
49
|
+
const updatedRates = rates.map(q => ({
|
|
50
|
+
...q,
|
|
51
|
+
aggregator: bestAggregator,
|
|
52
|
+
// This logic will need to be updated to support multi-hop, if that's ever implemented for THORChain
|
|
53
|
+
steps: q.steps.map(s => ({
|
|
54
|
+
...s,
|
|
55
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
56
|
+
sellAsset,
|
|
57
|
+
allowanceContract: TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET,
|
|
58
|
+
})),
|
|
59
|
+
isLongtail: true,
|
|
60
|
+
longtailData: {
|
|
61
|
+
longtailToL1ExpectedAmountOut: quotedAmountOut.toString(),
|
|
62
|
+
},
|
|
63
|
+
}));
|
|
64
|
+
return Ok(updatedRates);
|
|
65
|
+
});
|
|
66
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
// The THORChain aggregators expects two numbers at the end which are used at exponents in the contract
|
|
3
|
+
// see _parseAmountOutMin in https://dashboard.tenderly.co/tx/mainnet/0xe16c61c114c5815555ec4342af390a1695d1cce431a8ff479bcc7d63f3d0b46a?trace=0.2.10
|
|
4
|
+
// 7759345496513 => 775934549650000000000000
|
|
5
|
+
const AGGREGATOR_EXPONENT_LENGTH = 2;
|
|
6
|
+
// THORChain uses `big.ParseFloat` with `0` as a precision, resulting in a precision of 18 without the integer part
|
|
7
|
+
// https://gitlab.com/thorchain/thornode/-/blob/v1.131.0/x/thorchain/memo/memo_parser.go#L190
|
|
8
|
+
const THORCHAIN_PARSER_MAXIMUM_PRECISION = 18;
|
|
9
|
+
export const getShortenedFinalAssetLimit = ({ maxMemoSize, memoWithoutFinalAssetLimit, finalAssetLimitWithManualSlippage, }) => {
|
|
10
|
+
// The min amount out should be at least 3 characters long (1 for the number and 2 for the exponent)
|
|
11
|
+
const MINIMUM_AMOUNT_OUT_LENGTH = 3;
|
|
12
|
+
const HYPOTHETICAL_EXPONENT = '01';
|
|
13
|
+
// We need to construct the memo with the minAmountOut at the end so we can calculate his bytes size
|
|
14
|
+
const unshortenedMemo = `${memoWithoutFinalAssetLimit}:${finalAssetLimitWithManualSlippage}${HYPOTHETICAL_EXPONENT}`;
|
|
15
|
+
const memoSizeLeft = maxMemoSize - unshortenedMemo.length;
|
|
16
|
+
let excessBytesToTrim = 0;
|
|
17
|
+
if (memoSizeLeft < 0) {
|
|
18
|
+
excessBytesToTrim = Math.abs(memoSizeLeft);
|
|
19
|
+
}
|
|
20
|
+
const shortenedMinAmountOutLength = finalAssetLimitWithManualSlippage.length + AGGREGATOR_EXPONENT_LENGTH - excessBytesToTrim;
|
|
21
|
+
// Paranoia check - can't shorten more than the initial min amount length
|
|
22
|
+
assert(shortenedMinAmountOutLength >= MINIMUM_AMOUNT_OUT_LENGTH, 'min amount chars length should be 3 or more');
|
|
23
|
+
// THORChain parser uses big.ParseFloat with `0` as a precision, resulting in a precision of 18 + the integer part, so we can't have more than 19 characters
|
|
24
|
+
// https://gitlab.com/thorchain/thornode/-/blob/v1.131.0/x/thorchain/memo/memo_parser.go#L190
|
|
25
|
+
if (shortenedMinAmountOutLength > THORCHAIN_PARSER_MAXIMUM_PRECISION + 1) {
|
|
26
|
+
excessBytesToTrim += shortenedMinAmountOutLength - (THORCHAIN_PARSER_MAXIMUM_PRECISION + 1);
|
|
27
|
+
}
|
|
28
|
+
else if (shortenedMinAmountOutLength <= THORCHAIN_PARSER_MAXIMUM_PRECISION + 1 &&
|
|
29
|
+
// Only add one byte if we don't trim for another reason before
|
|
30
|
+
!excessBytesToTrim) {
|
|
31
|
+
// If the length is less than the maximum precision, we need to remove one byte to the final asset amount because we absolutely need to add an exponent
|
|
32
|
+
// or the aggregator will multiply the number by 10 and then it will revert due to an higher expected amount than we can receive
|
|
33
|
+
excessBytesToTrim += 1;
|
|
34
|
+
}
|
|
35
|
+
const shortenedAmountOut = finalAssetLimitWithManualSlippage.substring(0, finalAssetLimitWithManualSlippage.length - excessBytesToTrim);
|
|
36
|
+
// Paranoia check - we should never have a 0 amount out
|
|
37
|
+
assert(shortenedAmountOut !== '0', 'expected final amount limit to be different than 0');
|
|
38
|
+
// The THORChain aggregators expects two numbers at the end which are used at exponents in the contract
|
|
39
|
+
const shouldPrependZero = excessBytesToTrim < 10;
|
|
40
|
+
const thorAggregatorExponential = shouldPrependZero
|
|
41
|
+
? `0${excessBytesToTrim > 0 ? excessBytesToTrim : '1'}`
|
|
42
|
+
: excessBytesToTrim.toString();
|
|
43
|
+
assert(thorAggregatorExponential.length === 2, 'expected exponent to be 2 digits');
|
|
44
|
+
// The THORChain aggregators expects this amount to be an exponent, we need to add two numbers at the end which are used at exponents in the contract
|
|
45
|
+
const shortenedAmountOutWithTwoLastNumbersAsExponent = `${shortenedAmountOut}${thorAggregatorExponential}`;
|
|
46
|
+
assert(shortenedAmountOutWithTwoLastNumbersAsExponent.length <= THORCHAIN_PARSER_MAXIMUM_PRECISION + 1, 'expected shortenedAmountOut length to be less than thorchain maximum precision');
|
|
47
|
+
return shortenedAmountOutWithTwoLastNumbersAsExponent;
|
|
48
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { addFinalAssetLimitToMemo } from '../../../../thorchain-utils/index.js';
|
|
3
|
+
import { THORCHAIN_AFFILIATE_NAME } from '../../constants.js';
|
|
4
|
+
import { getShortenedFinalAssetLimit } from './getShortenedFinalAssetLimit.js';
|
|
5
|
+
const RECEIVE_ADDRESS = '0x32DBc9Cf9E8FbCebE1e0a2ecF05Ed86Ca3096Cb6';
|
|
6
|
+
// 178 bytes
|
|
7
|
+
const BIG_ADDRESS = '0x32DBc9Cf9E8FbCebE1e0a2ecF05Ed86Ca3096Cb632DBc9Cf9E8FbC2ecF05Ed86Ca3096cF05Ed86Ca3096Cb60x32DBc9Cf9E8FbCebE1e0a2a3096C2ecF05Ed86Ca3096Cb632DBc9Cf9E8FbCebE1e0a2ecF05Ed86Ca3096Cb6';
|
|
8
|
+
// 354 bytes
|
|
9
|
+
const REALLY_BIG_ADDRESS = '0x32DBc9Cf9E8FbCebE1e0a2ecF05Ed86Ca3096Cb632DBc9Cf9E8FbC2ecF05Ed86Ca3096cF05Ed86Ca3096Cb60x32DBc9Cf9E8FbCebE1e0a2a3096C2ecF05Ed86Ca3096Cb632DBc9Cf9E8FbCebE1e0a2ecF05Ed86Ca3096Cb632DBc9Cf9E8FbCebE1e0a2ecF05Ed86Ca3096Cb632DBc9Cf9E8FbC2ecF05Ed86Ca3096cF05Ed86Ca3096Cb60x32DBc9Cf9E8FbCebE1e0a2a3096C2ecF05Ed86Ca3096Cb632DBc9Cf9E8FbCebE1e0a2ecF05Ed86Ca3096Cb6';
|
|
10
|
+
const EXPECTED_AGGREGATOR_TWO_LAST_CHARS = 'd2';
|
|
11
|
+
const SHORTENED_FINAL_ASSET_ADDRESS = 'a6df4741';
|
|
12
|
+
const affiliateBps = '100';
|
|
13
|
+
const expectedL1AmountOut = '42';
|
|
14
|
+
describe('makeMemoWithShortenedfinalAssetLimit', () => {
|
|
15
|
+
it('should be 80 bytes if maxMemoSize is 80', () => {
|
|
16
|
+
const quotedMemo = `=:e:${RECEIVE_ADDRESS}:${expectedL1AmountOut}:ss:${affiliateBps}:${EXPECTED_AGGREGATOR_TWO_LAST_CHARS}:${SHORTENED_FINAL_ASSET_ADDRESS}`;
|
|
17
|
+
const finalAssetLimit = getShortenedFinalAssetLimit({
|
|
18
|
+
maxMemoSize: 80,
|
|
19
|
+
memoWithoutFinalAssetLimit: quotedMemo,
|
|
20
|
+
finalAssetLimitWithManualSlippage: '950875902132134123',
|
|
21
|
+
});
|
|
22
|
+
const modifiedMemoWithfinalAssetLimitOut = addFinalAssetLimitToMemo({
|
|
23
|
+
memo: quotedMemo,
|
|
24
|
+
finalAssetLimit,
|
|
25
|
+
affiliate: THORCHAIN_AFFILIATE_NAME,
|
|
26
|
+
});
|
|
27
|
+
expect(modifiedMemoWithfinalAssetLimitOut.length).toBe(80);
|
|
28
|
+
expect(finalAssetLimit).toBe(
|
|
29
|
+
// 95087590209 will be turned to 950875902000000000 using the last 2 bytes as exponents by the aggregator
|
|
30
|
+
`95087590209`);
|
|
31
|
+
});
|
|
32
|
+
it('shortened final asset amount length should be shortened by one if maxMemoSize is Infinity and final asset amount length is under or equal to 17', () => {
|
|
33
|
+
// Equals to 987,234,879,539,239,282.982983248234982348 ETH
|
|
34
|
+
const reallyL1BigAmount = '987234879539239282982983248234982348';
|
|
35
|
+
const quotedMemo = `=:e:${RECEIVE_ADDRESS}:${reallyL1BigAmount}:ss:${affiliateBps}:${EXPECTED_AGGREGATOR_TWO_LAST_CHARS}:${SHORTENED_FINAL_ASSET_ADDRESS}`;
|
|
36
|
+
const finalAssetLimit = getShortenedFinalAssetLimit({
|
|
37
|
+
maxMemoSize: Infinity,
|
|
38
|
+
memoWithoutFinalAssetLimit: quotedMemo,
|
|
39
|
+
finalAssetLimitWithManualSlippage: '95087590213213412',
|
|
40
|
+
});
|
|
41
|
+
// 950875902132134101 will be turned to 95087590213213410 using the last 2 bytes as exponents by the aggregator
|
|
42
|
+
const expectedFinalAssetLimit = `950875902132134101`;
|
|
43
|
+
expect(finalAssetLimit).toBe(expectedFinalAssetLimit);
|
|
44
|
+
});
|
|
45
|
+
it('shortened final asset amount should be shortened by 1 if maxMemoSize is Infinity and final asset amount length equal to 18', () => {
|
|
46
|
+
// Equals to 987,234,879,539,239,282.982983248234982348 ETH
|
|
47
|
+
const reallyL1BigAmount = '987234879539239282982983248234982348';
|
|
48
|
+
const quotedMemo = `=:e:${RECEIVE_ADDRESS}:${reallyL1BigAmount}:ss:${affiliateBps}:${EXPECTED_AGGREGATOR_TWO_LAST_CHARS}:${SHORTENED_FINAL_ASSET_ADDRESS}`;
|
|
49
|
+
const finalAssetLimit = getShortenedFinalAssetLimit({
|
|
50
|
+
maxMemoSize: Infinity,
|
|
51
|
+
memoWithoutFinalAssetLimit: quotedMemo,
|
|
52
|
+
finalAssetLimitWithManualSlippage: '950875902132134122',
|
|
53
|
+
});
|
|
54
|
+
// 9508759021321341201 will be turned to 950875902132134120 using the last 2 bytes as exponents by the aggregator
|
|
55
|
+
const expectedFinalAssetLimit = `9508759021321341201`;
|
|
56
|
+
expect(finalAssetLimit).toBe(expectedFinalAssetLimit);
|
|
57
|
+
});
|
|
58
|
+
it('shortened final asset amount should be shortened by 2 if maxMemoSize is Infinity and final asset amount length equal to 19', () => {
|
|
59
|
+
// Equals to 987,234,879,539,239,282.982983248234982348 ETH
|
|
60
|
+
const reallyL1BigAmount = '987234879539239282982983248234982348';
|
|
61
|
+
const quotedMemo = `=:e:${RECEIVE_ADDRESS}:${reallyL1BigAmount}:ss:${affiliateBps}:${EXPECTED_AGGREGATOR_TWO_LAST_CHARS}:${SHORTENED_FINAL_ASSET_ADDRESS}`;
|
|
62
|
+
const finalAssetLimit = getShortenedFinalAssetLimit({
|
|
63
|
+
maxMemoSize: Infinity,
|
|
64
|
+
memoWithoutFinalAssetLimit: quotedMemo,
|
|
65
|
+
finalAssetLimitWithManualSlippage: '9508759021321341223',
|
|
66
|
+
});
|
|
67
|
+
// 9508759021321341202 will be turned to 9508759021321341200 using the last 2 bytes as exponents by the aggregator
|
|
68
|
+
const expectedFinalAssetLimit = `9508759021321341202`;
|
|
69
|
+
expect(finalAssetLimit).toBe(expectedFinalAssetLimit);
|
|
70
|
+
});
|
|
71
|
+
it('should be under or equal to 220 bytes if maxMemoSize is 220 and memo length is close to 220', () => {
|
|
72
|
+
// 205 bytes
|
|
73
|
+
const quotedMemo = `=:e:${BIG_ADDRESS}:${expectedL1AmountOut}:ss:${affiliateBps}:${EXPECTED_AGGREGATOR_TWO_LAST_CHARS}:${SHORTENED_FINAL_ASSET_ADDRESS}`;
|
|
74
|
+
const finalAssetLimit = getShortenedFinalAssetLimit({
|
|
75
|
+
maxMemoSize: 220,
|
|
76
|
+
memoWithoutFinalAssetLimit: quotedMemo,
|
|
77
|
+
finalAssetLimitWithManualSlippage: '950875902132134123',
|
|
78
|
+
});
|
|
79
|
+
const modifiedMemoWithfinalAssetLimitOut = addFinalAssetLimitToMemo({
|
|
80
|
+
memo: quotedMemo,
|
|
81
|
+
finalAssetLimit,
|
|
82
|
+
affiliate: THORCHAIN_AFFILIATE_NAME,
|
|
83
|
+
});
|
|
84
|
+
expect(modifiedMemoWithfinalAssetLimitOut.length).toBeLessThanOrEqual(220);
|
|
85
|
+
expect(finalAssetLimit).toBe(
|
|
86
|
+
// 950875902132105 will be turned to 950875902132100000 using the last 2 bytes as exponents by the aggregator
|
|
87
|
+
`950875902132105`);
|
|
88
|
+
});
|
|
89
|
+
it('should be throwing if length cant be achieved because exponent will be bigger than expected', () => {
|
|
90
|
+
const quotedMemo = `=:e:${REALLY_BIG_ADDRESS}:${expectedL1AmountOut}:ss:${affiliateBps}:${EXPECTED_AGGREGATOR_TWO_LAST_CHARS}:${SHORTENED_FINAL_ASSET_ADDRESS}`;
|
|
91
|
+
expect(() => getShortenedFinalAssetLimit({
|
|
92
|
+
maxMemoSize: 220,
|
|
93
|
+
memoWithoutFinalAssetLimit: quotedMemo,
|
|
94
|
+
finalAssetLimitWithManualSlippage: '950875902132134123',
|
|
95
|
+
})).toThrow('min amount chars length should be 3 or more');
|
|
96
|
+
});
|
|
97
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const getUniqueAddressSubstring = (destinationAssetId, longTailAssetIds) => {
|
|
2
|
+
const MINIMUM_UNIQUE_SUBSTRING = 2;
|
|
3
|
+
let maybeShortenedDestinationAddress = destinationAssetId;
|
|
4
|
+
const substringsCount = {};
|
|
5
|
+
for (let length = MINIMUM_UNIQUE_SUBSTRING; length <= destinationAssetId.length - 2; length++) {
|
|
6
|
+
const currentSubstring = destinationAssetId.slice(-length);
|
|
7
|
+
substringsCount[currentSubstring] = 0;
|
|
8
|
+
}
|
|
9
|
+
longTailAssetIds.forEach(assetId => {
|
|
10
|
+
Object.keys(substringsCount).forEach(substring => {
|
|
11
|
+
if (assetId.includes(substring)) {
|
|
12
|
+
substringsCount[substring] += 1;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
for (const [substring, count] of Object.entries(substringsCount)) {
|
|
17
|
+
if (count === 1) {
|
|
18
|
+
maybeShortenedDestinationAddress = substring;
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return maybeShortenedDestinationAddress;
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ethChainId, toAssetId } from '@shapeshiftoss/caip';
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import { getUniqueAddressSubstring } from './getUniqueAddressSubstring.js';
|
|
4
|
+
const FINAL_ASSET_ASSETID = toAssetId({
|
|
5
|
+
chainId: ethChainId,
|
|
6
|
+
assetReference: '0x8a65ac0E23F31979db06Ec62Af62b432a6dF4741',
|
|
7
|
+
assetNamespace: 'erc20',
|
|
8
|
+
});
|
|
9
|
+
const COLLIDING_FINAL_ASSETID = toAssetId({
|
|
10
|
+
chainId: ethChainId,
|
|
11
|
+
assetReference: '0xa0b86991c6218b36c1d19d4a2e9eb0ce36dF4741',
|
|
12
|
+
assetNamespace: 'erc20',
|
|
13
|
+
});
|
|
14
|
+
const BIGGER_COLLIDING_FINAL_ASSETID = toAssetId({
|
|
15
|
+
chainId: ethChainId,
|
|
16
|
+
assetReference: '0xa0b86991c6218b36c1d19d4a2e9eb032a6dF4741',
|
|
17
|
+
assetNamespace: 'erc20',
|
|
18
|
+
});
|
|
19
|
+
const SHORTENED_FINAL_ASSET_ADDRESS = 'a6df4741';
|
|
20
|
+
const BIGGER_SHORTENED_FINAL_ASSET_ADDRESS = '432a6df4741';
|
|
21
|
+
const THORCHAIN_ASSETIDS_ONE_COLLISION = [FINAL_ASSET_ASSETID, COLLIDING_FINAL_ASSETID];
|
|
22
|
+
const THORCHAIN_ASSETIDS_TWO_COLLISION = [
|
|
23
|
+
FINAL_ASSET_ASSETID,
|
|
24
|
+
COLLIDING_FINAL_ASSETID,
|
|
25
|
+
BIGGER_COLLIDING_FINAL_ASSETID,
|
|
26
|
+
];
|
|
27
|
+
describe('getUniqueAddressSubstring', () => {
|
|
28
|
+
it('should get the shorter unique address substring', () => {
|
|
29
|
+
const substring = getUniqueAddressSubstring(FINAL_ASSET_ASSETID, THORCHAIN_ASSETIDS_ONE_COLLISION);
|
|
30
|
+
expect(substring).toBe(SHORTENED_FINAL_ASSET_ADDRESS);
|
|
31
|
+
});
|
|
32
|
+
it('should get the shorter unique address substring with a bigger colliding address', () => {
|
|
33
|
+
const substring = getUniqueAddressSubstring(FINAL_ASSET_ASSETID, THORCHAIN_ASSETIDS_TWO_COLLISION);
|
|
34
|
+
expect(substring).toBe(BIGGER_SHORTENED_FINAL_ASSET_ADDRESS);
|
|
35
|
+
});
|
|
36
|
+
});
|