@shapeshiftoss/swapper 17.6.9 → 17.6.11
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/LICENSE.md +21 -0
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/constants.js +72 -43
- package/dist/cjs/cowswap-utils/constants.js +3 -0
- package/dist/cjs/cowswap-utils/index.js +6 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/swappers/AcrossSwapper/AcrossSwapper.d.ts +2 -0
- package/dist/cjs/swappers/AcrossSwapper/AcrossSwapper.js +8 -0
- package/dist/cjs/swappers/AcrossSwapper/constant.d.ts +9 -0
- package/dist/cjs/swappers/AcrossSwapper/constant.js +50 -0
- package/dist/cjs/swappers/AcrossSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/AcrossSwapper/endpoints.js +113 -0
- package/dist/cjs/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.js +31 -0
- package/dist/cjs/swappers/AcrossSwapper/getTradeRate/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/AcrossSwapper/getTradeRate/getTradeRate.js +19 -0
- package/dist/cjs/swappers/AcrossSwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/AcrossSwapper/index.js +5 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/acrossService.d.ts +5 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/acrossService.js +17 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/fetchAcrossTrade.d.ts +19 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/fetchAcrossTrade.js +27 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/getTrade.d.ts +11 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/getTrade.js +349 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/types.d.ts +177 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/types.js +17 -0
- package/dist/cjs/swappers/AvnuSwapper/endpoints.js +42 -14
- package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +19 -5
- package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeRate.js +17 -4
- package/dist/cjs/swappers/BebopSwapper/BebopSwapper.js +2 -0
- package/dist/cjs/swappers/BebopSwapper/endpoints.js +35 -2
- package/dist/cjs/swappers/BebopSwapper/executeSolanaMessage.d.ts +2 -0
- package/dist/cjs/swappers/BebopSwapper/executeSolanaMessage.js +47 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.js +91 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +88 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +10 -0
- package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +10 -0
- package/dist/cjs/swappers/BebopSwapper/types.d.ts +49 -1
- package/dist/cjs/swappers/BebopSwapper/types.js +9 -2
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +19 -1
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +86 -1
- package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -2
- package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.js +47 -1
- package/dist/cjs/swappers/ButterSwap/ButterSwap.js +1 -0
- package/dist/cjs/swappers/ButterSwap/endpoints.js +56 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.js +19 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +44 -15
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.js +33 -16
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.js +2 -0
- package/dist/cjs/swappers/ButterSwap/types.d.ts +1 -0
- package/dist/cjs/swappers/ButterSwap/utils/helpers.js +1 -0
- package/dist/cjs/swappers/ButterSwap/xhr.d.ts +2 -2
- package/dist/cjs/swappers/ButterSwap/xhr.js +7 -2
- package/dist/cjs/swappers/CetusSwapper/endpoints.js +3 -8
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +11 -1
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.js +11 -1
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.d.ts +1 -1
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.js +1 -1
- package/dist/cjs/swappers/ChainflipSwapper/constants.js +7 -3
- package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +28 -5
- package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.js +8 -2
- package/dist/cjs/swappers/CowSwapper/CowSwapper.js +1 -1
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +11 -1
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +5 -5
- package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +10 -1
- package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.js +8 -2
- package/dist/cjs/swappers/DebridgeSwapper/DebridgeSwapper.d.ts +2 -0
- package/dist/cjs/swappers/DebridgeSwapper/DebridgeSwapper.js +7 -0
- package/dist/cjs/swappers/DebridgeSwapper/constant.d.ts +5 -0
- package/dist/cjs/swappers/DebridgeSwapper/constant.js +36 -0
- package/dist/cjs/swappers/DebridgeSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/DebridgeSwapper/endpoints.js +217 -0
- package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
- package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +31 -0
- package/dist/cjs/swappers/DebridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -0
- package/dist/cjs/swappers/DebridgeSwapper/getTradeRate/getTradeRate.js +19 -0
- package/dist/cjs/swappers/DebridgeSwapper/index.d.ts +1 -0
- package/dist/cjs/swappers/DebridgeSwapper/index.js +5 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/debridgeService.d.ts +5 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/debridgeService.js +17 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.d.ts +16 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.js +23 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.d.ts +20 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.js +29 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/getTrade.d.ts +11 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/getTrade.js +369 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/types.d.ts +155 -0
- package/dist/cjs/swappers/DebridgeSwapper/utils/types.js +9 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +32 -0
- package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeRate.js +9 -0
- package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +1 -1
- package/dist/cjs/swappers/NearIntentsSwapper/NearIntentsSwapper.js +1 -0
- package/dist/cjs/swappers/NearIntentsSwapper/endpoints.js +31 -0
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +48 -1
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +73 -1
- package/dist/cjs/swappers/NearIntentsSwapper/types.d.ts +1 -1
- package/dist/cjs/swappers/NearIntentsSwapper/types.js +6 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers/helpers.js +23 -4
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +10 -0
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +8 -3
- package/dist/cjs/swappers/RelaySwapper/constant.js +27 -1
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +1 -1
- package/dist/cjs/swappers/RelaySwapper/utils/getTrade.js +57 -7
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +110 -0
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +15 -0
- package/dist/cjs/swappers/StonfiSwapper/StonfiSwapper.d.ts +2 -0
- package/dist/cjs/swappers/StonfiSwapper/StonfiSwapper.js +8 -0
- package/dist/cjs/swappers/StonfiSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/StonfiSwapper/endpoints.js +227 -0
- package/dist/cjs/swappers/StonfiSwapper/index.d.ts +4 -0
- package/dist/cjs/swappers/StonfiSwapper/index.js +25 -0
- package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeQuote.d.ts +2 -0
- package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeQuote.js +129 -0
- package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeRate.d.ts +2 -0
- package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeRate.js +115 -0
- package/dist/cjs/swappers/StonfiSwapper/types.d.ts +60 -0
- package/dist/cjs/swappers/StonfiSwapper/types.js +5 -0
- package/dist/cjs/swappers/StonfiSwapper/utils/constants.d.ts +5 -0
- package/dist/cjs/swappers/StonfiSwapper/utils/constants.js +8 -0
- package/dist/cjs/swappers/StonfiSwapper/utils/helpers.d.ts +11 -0
- package/dist/cjs/swappers/StonfiSwapper/utils/helpers.js +135 -0
- package/dist/cjs/swappers/StonfiSwapper/utils/omnistonManager.d.ts +5 -0
- package/dist/cjs/swappers/StonfiSwapper/utils/omnistonManager.js +20 -0
- package/dist/cjs/swappers/SunioSwapper/endpoints.js +1 -1
- package/dist/cjs/swappers/SunioSwapper/utils/getQuoteOrRate.js +14 -3
- package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.js +3 -0
- package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +2 -0
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +1 -1
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +2 -1
- package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +10 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +9 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +9 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +1 -1
- package/dist/cjs/swappers/utils/affiliateFee.d.ts +17 -0
- package/dist/cjs/swappers/utils/affiliateFee.js +43 -0
- package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +2 -5
- package/dist/cjs/swappers/utils/helpers/helpers.js +3 -0
- package/dist/cjs/thorchain-utils/getCallDataFromQuote.d.ts +1 -1
- package/dist/cjs/thorchain-utils/getL1RateOrQuote.js +87 -9
- package/dist/cjs/thorchain-utils/getQuote.js +8 -2
- package/dist/cjs/thorchain-utils/index.d.ts +2 -1
- package/dist/cjs/thorchain-utils/index.js +2 -1
- package/dist/cjs/thorchain-utils/solana/constants.d.ts +1 -0
- package/dist/cjs/thorchain-utils/solana/constants.js +6 -0
- package/dist/cjs/thorchain-utils/solana/getSolanaTransactionFees.d.ts +2 -0
- package/dist/cjs/thorchain-utils/solana/getSolanaTransactionFees.js +41 -0
- package/dist/cjs/thorchain-utils/solana/getThorTxData.d.ts +12 -0
- package/dist/cjs/thorchain-utils/solana/getThorTxData.js +14 -0
- package/dist/cjs/thorchain-utils/solana/getUnsignedSolanaTransaction.d.ts +3 -0
- package/dist/cjs/thorchain-utils/solana/getUnsignedSolanaTransaction.js +64 -0
- package/dist/cjs/thorchain-utils/solana/index.d.ts +3 -0
- package/dist/cjs/thorchain-utils/solana/index.js +19 -0
- package/dist/cjs/tron-utils/getUnsignedTronTransaction.js +22 -2
- package/dist/cjs/types.d.ts +118 -8
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/utils.d.ts +4 -3
- package/dist/cjs/utils.js +35 -7
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/constants.js +42 -13
- package/dist/esm/cowswap-utils/constants.js +3 -0
- package/dist/esm/cowswap-utils/index.js +6 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/swappers/AcrossSwapper/AcrossSwapper.d.ts +2 -0
- package/dist/esm/swappers/AcrossSwapper/AcrossSwapper.js +5 -0
- package/dist/esm/swappers/AcrossSwapper/constant.d.ts +9 -0
- package/dist/esm/swappers/AcrossSwapper/constant.js +44 -0
- package/dist/esm/swappers/AcrossSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/AcrossSwapper/endpoints.js +107 -0
- package/dist/esm/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.js +27 -0
- package/dist/esm/swappers/AcrossSwapper/getTradeRate/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/AcrossSwapper/getTradeRate/getTradeRate.js +15 -0
- package/dist/esm/swappers/AcrossSwapper/index.d.ts +1 -0
- package/dist/esm/swappers/AcrossSwapper/index.js +1 -0
- package/dist/esm/swappers/AcrossSwapper/utils/acrossService.d.ts +5 -0
- package/dist/esm/swappers/AcrossSwapper/utils/acrossService.js +11 -0
- package/dist/esm/swappers/AcrossSwapper/utils/fetchAcrossTrade.d.ts +19 -0
- package/dist/esm/swappers/AcrossSwapper/utils/fetchAcrossTrade.js +23 -0
- package/dist/esm/swappers/AcrossSwapper/utils/getTrade.d.ts +11 -0
- package/dist/esm/swappers/AcrossSwapper/utils/getTrade.js +342 -0
- package/dist/esm/swappers/AcrossSwapper/utils/types.d.ts +177 -0
- package/dist/esm/swappers/AcrossSwapper/utils/types.js +13 -0
- package/dist/esm/swappers/AvnuSwapper/endpoints.js +43 -15
- package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +19 -5
- package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeRate.js +17 -4
- package/dist/esm/swappers/BebopSwapper/BebopSwapper.js +2 -0
- package/dist/esm/swappers/BebopSwapper/endpoints.js +36 -3
- package/dist/esm/swappers/BebopSwapper/executeSolanaMessage.d.ts +2 -0
- package/dist/esm/swappers/BebopSwapper/executeSolanaMessage.js +40 -0
- package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.js +87 -0
- package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.d.ts +4 -0
- package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +84 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +10 -0
- package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +10 -0
- package/dist/esm/swappers/BebopSwapper/types.d.ts +49 -1
- package/dist/esm/swappers/BebopSwapper/types.js +8 -1
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +19 -1
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +85 -2
- package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -2
- package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.js +44 -1
- package/dist/esm/swappers/ButterSwap/ButterSwap.js +2 -1
- package/dist/esm/swappers/ButterSwap/endpoints.js +56 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.js +20 -1
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +46 -17
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.js +35 -18
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.js +2 -0
- package/dist/esm/swappers/ButterSwap/types.d.ts +1 -0
- package/dist/esm/swappers/ButterSwap/utils/helpers.js +1 -0
- package/dist/esm/swappers/ButterSwap/xhr.d.ts +2 -2
- package/dist/esm/swappers/ButterSwap/xhr.js +8 -3
- package/dist/esm/swappers/CetusSwapper/endpoints.js +3 -8
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +11 -1
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.js +11 -1
- package/dist/esm/swappers/CetusSwapper/utils/helpers.d.ts +1 -1
- package/dist/esm/swappers/CetusSwapper/utils/helpers.js +1 -1
- package/dist/esm/swappers/ChainflipSwapper/constants.js +8 -4
- package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +29 -6
- package/dist/esm/swappers/ChainflipSwapper/utils/helpers.js +9 -3
- package/dist/esm/swappers/CowSwapper/CowSwapper.js +1 -1
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +11 -1
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +5 -5
- package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +10 -1
- package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.js +9 -3
- package/dist/esm/swappers/DebridgeSwapper/DebridgeSwapper.d.ts +2 -0
- package/dist/esm/swappers/DebridgeSwapper/DebridgeSwapper.js +4 -0
- package/dist/esm/swappers/DebridgeSwapper/constant.d.ts +5 -0
- package/dist/esm/swappers/DebridgeSwapper/constant.js +30 -0
- package/dist/esm/swappers/DebridgeSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/DebridgeSwapper/endpoints.js +211 -0
- package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
- package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +27 -0
- package/dist/esm/swappers/DebridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -0
- package/dist/esm/swappers/DebridgeSwapper/getTradeRate/getTradeRate.js +15 -0
- package/dist/esm/swappers/DebridgeSwapper/index.d.ts +1 -0
- package/dist/esm/swappers/DebridgeSwapper/index.js +1 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/debridgeService.d.ts +5 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/debridgeService.js +11 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.d.ts +16 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.js +19 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.d.ts +20 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.js +25 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/getTrade.d.ts +11 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/getTrade.js +362 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/types.d.ts +155 -0
- package/dist/esm/swappers/DebridgeSwapper/utils/types.js +5 -0
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +33 -1
- package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeRate.js +9 -0
- package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +1 -1
- package/dist/esm/swappers/NearIntentsSwapper/NearIntentsSwapper.js +2 -1
- package/dist/esm/swappers/NearIntentsSwapper/endpoints.js +31 -0
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +50 -3
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +75 -3
- package/dist/esm/swappers/NearIntentsSwapper/types.d.ts +1 -1
- package/dist/esm/swappers/NearIntentsSwapper/types.js +6 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/helpers/helpers.js +23 -4
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +10 -0
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +8 -3
- package/dist/esm/swappers/RelaySwapper/constant.js +29 -3
- package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +1 -1
- package/dist/esm/swappers/RelaySwapper/utils/getTrade.js +60 -10
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +110 -0
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +15 -0
- package/dist/esm/swappers/StonfiSwapper/StonfiSwapper.d.ts +2 -0
- package/dist/esm/swappers/StonfiSwapper/StonfiSwapper.js +5 -0
- package/dist/esm/swappers/StonfiSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/StonfiSwapper/endpoints.js +224 -0
- package/dist/esm/swappers/StonfiSwapper/index.d.ts +4 -0
- package/dist/esm/swappers/StonfiSwapper/index.js +4 -0
- package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeQuote.d.ts +2 -0
- package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeQuote.js +125 -0
- package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeRate.d.ts +2 -0
- package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeRate.js +111 -0
- package/dist/esm/swappers/StonfiSwapper/types.d.ts +60 -0
- package/dist/esm/swappers/StonfiSwapper/types.js +2 -0
- package/dist/esm/swappers/StonfiSwapper/utils/constants.d.ts +5 -0
- package/dist/esm/swappers/StonfiSwapper/utils/constants.js +5 -0
- package/dist/esm/swappers/StonfiSwapper/utils/helpers.d.ts +11 -0
- package/dist/esm/swappers/StonfiSwapper/utils/helpers.js +124 -0
- package/dist/esm/swappers/StonfiSwapper/utils/omnistonManager.d.ts +5 -0
- package/dist/esm/swappers/StonfiSwapper/utils/omnistonManager.js +17 -0
- package/dist/esm/swappers/SunioSwapper/endpoints.js +1 -1
- package/dist/esm/swappers/SunioSwapper/utils/getQuoteOrRate.js +15 -4
- package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.js +3 -0
- package/dist/esm/swappers/ThorchainSwapper/endpoints.js +3 -1
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +1 -1
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +2 -1
- package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +11 -1
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +9 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +9 -0
- package/dist/esm/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +1 -1
- package/dist/esm/swappers/utils/affiliateFee.d.ts +17 -0
- package/dist/esm/swappers/utils/affiliateFee.js +39 -0
- package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +2 -5
- package/dist/esm/swappers/utils/helpers/helpers.js +4 -1
- package/dist/esm/thorchain-utils/getCallDataFromQuote.d.ts +1 -1
- package/dist/esm/thorchain-utils/getL1RateOrQuote.js +88 -10
- package/dist/esm/thorchain-utils/getQuote.js +9 -3
- package/dist/esm/thorchain-utils/index.d.ts +2 -1
- package/dist/esm/thorchain-utils/index.js +1 -0
- package/dist/esm/thorchain-utils/solana/constants.d.ts +1 -0
- package/dist/esm/thorchain-utils/solana/constants.js +3 -0
- package/dist/esm/thorchain-utils/solana/getSolanaTransactionFees.d.ts +2 -0
- package/dist/esm/thorchain-utils/solana/getSolanaTransactionFees.js +37 -0
- package/dist/esm/thorchain-utils/solana/getThorTxData.d.ts +12 -0
- package/dist/esm/thorchain-utils/solana/getThorTxData.js +10 -0
- package/dist/esm/thorchain-utils/solana/getUnsignedSolanaTransaction.d.ts +3 -0
- package/dist/esm/thorchain-utils/solana/getUnsignedSolanaTransaction.js +60 -0
- package/dist/esm/thorchain-utils/solana/index.d.ts +3 -0
- package/dist/esm/thorchain-utils/solana/index.js +3 -0
- package/dist/esm/tron-utils/getUnsignedTronTransaction.js +22 -2
- package/dist/esm/types.d.ts +118 -8
- package/dist/esm/types.js +3 -0
- package/dist/esm/utils.d.ts +4 -3
- package/dist/esm/utils.js +34 -7
- package/package.json +27 -24
package/dist/esm/constants.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { assertUnreachable } from '@shapeshiftoss/utils';
|
|
2
|
+
import { acrossSwapper } from './swappers/AcrossSwapper/index.js';
|
|
3
|
+
import { acrossApi } from './swappers/AcrossSwapper/endpoints.js';
|
|
2
4
|
import { arbitrumBridgeSwapper } from './swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.js';
|
|
3
5
|
import { arbitrumBridgeApi } from './swappers/ArbitrumBridgeSwapper/endpoints.js';
|
|
4
6
|
import { avnuSwapper } from './swappers/AvnuSwapper/AvnuSwapper.js';
|
|
@@ -13,6 +15,8 @@ import { chainflipSwapper } from './swappers/ChainflipSwapper/ChainflipSwapper.j
|
|
|
13
15
|
import { chainflipApi } from './swappers/ChainflipSwapper/endpoints.js';
|
|
14
16
|
import { cowSwapper } from './swappers/CowSwapper/CowSwapper.js';
|
|
15
17
|
import { cowApi } from './swappers/CowSwapper/endpoints.js';
|
|
18
|
+
import { debridgeSwapper } from './swappers/DebridgeSwapper/index.js';
|
|
19
|
+
import { debridgeApi } from './swappers/DebridgeSwapper/endpoints.js';
|
|
16
20
|
import { jupiterApi } from './swappers/JupiterSwapper/endpoints.js';
|
|
17
21
|
import { jupiterSwapper } from './swappers/JupiterSwapper/JupiterSwapper.js';
|
|
18
22
|
import { mayachainApi } from './swappers/MayachainSwapper/endpoints.js';
|
|
@@ -23,6 +27,8 @@ import { portalsApi } from './swappers/PortalsSwapper/endpoints.js';
|
|
|
23
27
|
import { portalsSwapper } from './swappers/PortalsSwapper/PortalsSwapper.js';
|
|
24
28
|
import { relaySwapper } from './swappers/RelaySwapper/index.js';
|
|
25
29
|
import { relayApi } from './swappers/RelaySwapper/endpoints.js';
|
|
30
|
+
import { stonfiApi } from './swappers/StonfiSwapper/endpoints.js';
|
|
31
|
+
import { stonfiSwapper } from './swappers/StonfiSwapper/StonfiSwapper.js';
|
|
26
32
|
import { sunioApi } from './swappers/SunioSwapper/endpoints.js';
|
|
27
33
|
import { sunioSwapper } from './swappers/SunioSwapper/SunioSwapper.js';
|
|
28
34
|
import { thorchainApi } from './swappers/ThorchainSwapper/endpoints.js';
|
|
@@ -99,21 +105,36 @@ export const swappers = {
|
|
|
99
105
|
...avnuSwapper,
|
|
100
106
|
...avnuApi,
|
|
101
107
|
},
|
|
108
|
+
[SwapperName.Stonfi]: {
|
|
109
|
+
...stonfiSwapper,
|
|
110
|
+
...stonfiApi,
|
|
111
|
+
},
|
|
112
|
+
[SwapperName.Across]: {
|
|
113
|
+
...acrossSwapper,
|
|
114
|
+
...acrossApi,
|
|
115
|
+
},
|
|
116
|
+
[SwapperName.Debridge]: {
|
|
117
|
+
...debridgeSwapper,
|
|
118
|
+
...debridgeApi,
|
|
119
|
+
},
|
|
102
120
|
[SwapperName.Test]: undefined,
|
|
103
121
|
};
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
const
|
|
109
|
-
const
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
const DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE = '0.
|
|
122
|
+
const DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE = '0.002';
|
|
123
|
+
const DEFAULT_COWSWAP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
|
|
124
|
+
const DEFAULT_NEAR_INTENTS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
|
|
125
|
+
const DEFAULT_PORTALS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.025';
|
|
126
|
+
const DEFAULT_THOR_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
|
|
127
|
+
const DEFAULT_MAYA_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
|
|
128
|
+
const DEFAULT_ARBITRUM_BRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0';
|
|
129
|
+
const DEFAULT_CHAINFLIP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.02';
|
|
130
|
+
const DEFAULT_BUTTERSWAP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.015';
|
|
131
|
+
const DEFAULT_CETUS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
|
|
132
|
+
const DEFAULT_SUNIO_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
|
|
133
|
+
// Starknet swaps can have more latency, so use higher default slippage
|
|
134
|
+
const DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE = '0.02';
|
|
135
|
+
const DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
|
|
136
|
+
// deBridge API off-chain simulation overestimates output on some chains (e.g. SEI ~2.4%), so auto slippage (1%) is insufficient
|
|
137
|
+
const DEFAULT_DEBRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
|
|
117
138
|
export const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
|
|
118
139
|
if (swapperName === undefined)
|
|
119
140
|
return DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
@@ -138,6 +159,10 @@ export const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
|
|
|
138
159
|
throw new Error('Default slippage not supported by Jupiter');
|
|
139
160
|
case SwapperName.Relay:
|
|
140
161
|
throw new Error('Default slippage not supported by Relay');
|
|
162
|
+
case SwapperName.Across:
|
|
163
|
+
throw new Error('Default slippage not supported by Across');
|
|
164
|
+
case SwapperName.Debridge:
|
|
165
|
+
return DEFAULT_DEBRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
141
166
|
case SwapperName.ButterSwap:
|
|
142
167
|
return DEFAULT_BUTTERSWAP_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
143
168
|
case SwapperName.NearIntents:
|
|
@@ -148,6 +173,8 @@ export const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
|
|
|
148
173
|
return DEFAULT_SUNIO_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
149
174
|
case SwapperName.Avnu:
|
|
150
175
|
return DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
176
|
+
case SwapperName.Stonfi:
|
|
177
|
+
return DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
151
178
|
default:
|
|
152
179
|
return assertUnreachable(swapperName);
|
|
153
180
|
}
|
|
@@ -157,6 +184,8 @@ export const isAutoSlippageSupportedBySwapper = (swapperName) => {
|
|
|
157
184
|
case SwapperName.Jupiter:
|
|
158
185
|
return true;
|
|
159
186
|
case SwapperName.Relay:
|
|
187
|
+
case SwapperName.Across:
|
|
188
|
+
case SwapperName.Debridge:
|
|
160
189
|
return true;
|
|
161
190
|
default:
|
|
162
191
|
return false;
|
|
@@ -24,6 +24,9 @@ export const SUPPORTED_CHAIN_IDS = [
|
|
|
24
24
|
KnownChainIds.AvalancheMainnet,
|
|
25
25
|
KnownChainIds.PolygonMainnet,
|
|
26
26
|
KnownChainIds.BnbSmartChainMainnet,
|
|
27
|
+
KnownChainIds.PlasmaMainnet,
|
|
28
|
+
KnownChainIds.LineaMainnet,
|
|
29
|
+
KnownChainIds.InkMainnet,
|
|
27
30
|
];
|
|
28
31
|
export const COW_SWAP_VAULT_RELAYER_ADDRESS = '0xc92e8bdf79f0507f65a392b0ab4667716bfe0110';
|
|
29
32
|
export const COW_SWAP_SETTLEMENT_ADDRESS = '0x9008D19f58AAbD9eD0D60971565AA8510560ab41';
|
|
@@ -24,6 +24,12 @@ export const getCowNetwork = (chainId) => {
|
|
|
24
24
|
return CowNetwork.Polygon;
|
|
25
25
|
case KnownChainIds.BnbSmartChainMainnet:
|
|
26
26
|
return CowNetwork.Bnb;
|
|
27
|
+
case KnownChainIds.PlasmaMainnet:
|
|
28
|
+
return CowNetwork.Plasma;
|
|
29
|
+
case KnownChainIds.LineaMainnet:
|
|
30
|
+
return CowNetwork.Linea;
|
|
31
|
+
case KnownChainIds.InkMainnet:
|
|
32
|
+
return CowNetwork.Ink;
|
|
27
33
|
default:
|
|
28
34
|
return;
|
|
29
35
|
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from './swappers/CetusSwapper/index.js';
|
|
|
9
9
|
export * from './swappers/ChainflipSwapper/index.js';
|
|
10
10
|
export * from './swappers/SunioSwapper/index.js';
|
|
11
11
|
export * from './swappers/CowSwapper/index.js';
|
|
12
|
+
export * from './swappers/DebridgeSwapper/index.js';
|
|
12
13
|
export * from './swappers/JupiterSwapper/index.js';
|
|
13
14
|
export * from './swappers/PortalsSwapper/index.js';
|
|
14
15
|
export * from './swappers/ThorchainSwapper/index.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export * from './swappers/CetusSwapper/index.js';
|
|
|
9
9
|
export * from './swappers/ChainflipSwapper/index.js';
|
|
10
10
|
export * from './swappers/SunioSwapper/index.js';
|
|
11
11
|
export * from './swappers/CowSwapper/index.js';
|
|
12
|
+
export * from './swappers/DebridgeSwapper/index.js';
|
|
12
13
|
export * from './swappers/JupiterSwapper/index.js';
|
|
13
14
|
export * from './swappers/PortalsSwapper/index.js';
|
|
14
15
|
export * from './swappers/ThorchainSwapper/index.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TradeQuoteError } from '../../types.js';
|
|
2
|
+
export declare const chainIdToAcrossChainId: Record<string, number>;
|
|
3
|
+
export declare const acrossChainIdToChainId: import("lodash").Dictionary<string>;
|
|
4
|
+
export declare const ACROSS_SUPPORTED_CHAIN_IDS: string[];
|
|
5
|
+
export declare const DEFAULT_ACROSS_EVM_TOKEN_ADDRESS: "0x0000000000000000000000000000000000000000";
|
|
6
|
+
export declare const ACROSS_SOLANA_TOKEN_ADDRESS = "11111111111111111111111111111111";
|
|
7
|
+
export declare const DEFAULT_ACROSS_EVM_USER_ADDRESS = "0x000000000000000000000000000000000000dead";
|
|
8
|
+
export declare const DEFAULT_ACROSS_SOLANA_USER_ADDRESS = "CbKGgVKLJFb8bBrf58DnAkdryX6ubewVytn7X957YwNr";
|
|
9
|
+
export declare const acrossErrorCodeToTradeQuoteError: Partial<Record<string, TradeQuoteError>>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { arbitrumChainId, baseChainId, blastChainId, bscChainId, ethChainId, hyperEvmChainId, inkChainId, lineaChainId, megaethChainId, modeChainId, monadChainId, optimismChainId, plasmaChainId, polygonChainId, scrollChainId, solanaChainId, soneiumChainId, unichainChainId, worldChainChainId, zkSyncEraChainId, } from '@shapeshiftoss/caip';
|
|
2
|
+
import invert from 'lodash/invert';
|
|
3
|
+
import { zeroAddress } from 'viem';
|
|
4
|
+
import { arbitrum, base, blast, bsc, hyperEvm, ink, linea, mainnet as ethereum, mode, monad, optimism, plasma, polygon, scroll, soneium, unichain, worldchain, zksync, } from 'viem/chains';
|
|
5
|
+
import { TradeQuoteError } from '../../types.js';
|
|
6
|
+
import { AcrossErrorCode } from './utils/types.js';
|
|
7
|
+
export const chainIdToAcrossChainId = {
|
|
8
|
+
[ethChainId]: ethereum.id,
|
|
9
|
+
[arbitrumChainId]: arbitrum.id,
|
|
10
|
+
[baseChainId]: base.id,
|
|
11
|
+
[optimismChainId]: optimism.id,
|
|
12
|
+
[polygonChainId]: polygon.id,
|
|
13
|
+
[bscChainId]: bsc.id,
|
|
14
|
+
[monadChainId]: monad.id,
|
|
15
|
+
[hyperEvmChainId]: hyperEvm.id,
|
|
16
|
+
[inkChainId]: ink.id,
|
|
17
|
+
[lineaChainId]: linea.id,
|
|
18
|
+
[modeChainId]: mode.id,
|
|
19
|
+
[plasmaChainId]: plasma.id,
|
|
20
|
+
[zkSyncEraChainId]: zksync.id,
|
|
21
|
+
[blastChainId]: blast.id,
|
|
22
|
+
[worldChainChainId]: worldchain.id,
|
|
23
|
+
[unichainChainId]: unichain.id,
|
|
24
|
+
[soneiumChainId]: soneium.id,
|
|
25
|
+
// Across uses a custom Solana chain ID
|
|
26
|
+
[solanaChainId]: 34268394551451,
|
|
27
|
+
[scrollChainId]: scroll.id,
|
|
28
|
+
[megaethChainId]: 4326,
|
|
29
|
+
};
|
|
30
|
+
export const acrossChainIdToChainId = invert(chainIdToAcrossChainId);
|
|
31
|
+
export const ACROSS_SUPPORTED_CHAIN_IDS = Object.keys(chainIdToAcrossChainId);
|
|
32
|
+
export const DEFAULT_ACROSS_EVM_TOKEN_ADDRESS = zeroAddress;
|
|
33
|
+
export const ACROSS_SOLANA_TOKEN_ADDRESS = '11111111111111111111111111111111';
|
|
34
|
+
export const DEFAULT_ACROSS_EVM_USER_ADDRESS = '0x000000000000000000000000000000000000dead';
|
|
35
|
+
export const DEFAULT_ACROSS_SOLANA_USER_ADDRESS = 'CbKGgVKLJFb8bBrf58DnAkdryX6ubewVytn7X957YwNr';
|
|
36
|
+
export const acrossErrorCodeToTradeQuoteError = {
|
|
37
|
+
[AcrossErrorCode.AmountTooLow]: TradeQuoteError.SellAmountBelowMinimum,
|
|
38
|
+
[AcrossErrorCode.RouteNotFound]: TradeQuoteError.NoRouteFound,
|
|
39
|
+
[AcrossErrorCode.NoBridgeRoutes]: TradeQuoteError.NoRouteFound,
|
|
40
|
+
[AcrossErrorCode.UnsupportedToken]: TradeQuoteError.UnsupportedTradePair,
|
|
41
|
+
[AcrossErrorCode.InsufficientLiquidity]: TradeQuoteError.SellAmountBelowTradeFee,
|
|
42
|
+
[AcrossErrorCode.InvalidParam]: TradeQuoteError.UnknownError,
|
|
43
|
+
[AcrossErrorCode.InternalError]: TradeQuoteError.InternalError,
|
|
44
|
+
};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { evm, isEvmChainId } from '@shapeshiftoss/chain-adapters';
|
|
2
|
+
import { TxStatus } from '@shapeshiftoss/unchained-client';
|
|
3
|
+
import BigNumber from 'bignumber.js';
|
|
4
|
+
import { getSolanaTransactionFees } from '../../solana-utils/getSolanaTransactionFees.js';
|
|
5
|
+
import { getUnsignedSolanaTransaction } from '../../solana-utils/getUnsignedSolanaTransaction.js';
|
|
6
|
+
import { checkEvmSwapStatus, getExecutableTradeStep, isExecutableTradeQuote } from '../../utils.js';
|
|
7
|
+
import { getTradeQuote } from './getTradeQuote/getTradeQuote.js';
|
|
8
|
+
import { getTradeRate } from './getTradeRate/getTradeRate.js';
|
|
9
|
+
import { acrossService } from './utils/acrossService.js';
|
|
10
|
+
export const acrossApi = {
|
|
11
|
+
getTradeQuote: (input, deps) => getTradeQuote(input, deps),
|
|
12
|
+
getTradeRate: (input, deps) => getTradeRate(input, deps),
|
|
13
|
+
getEvmTransactionFees: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
14
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
15
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
16
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
17
|
+
const { acrossTransactionMetadata, sellAsset } = step;
|
|
18
|
+
if (!acrossTransactionMetadata)
|
|
19
|
+
throw new Error('Missing Across transaction metadata');
|
|
20
|
+
const { to, value, data } = acrossTransactionMetadata;
|
|
21
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
22
|
+
const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
|
|
23
|
+
return feeData.networkFeeCryptoBaseUnit;
|
|
24
|
+
},
|
|
25
|
+
getUnsignedEvmTransaction: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
26
|
+
if (!isExecutableTradeQuote(tradeQuote))
|
|
27
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
28
|
+
const step = getExecutableTradeStep(tradeQuote, stepIndex);
|
|
29
|
+
const { accountNumber, acrossTransactionMetadata, sellAsset } = step;
|
|
30
|
+
if (!acrossTransactionMetadata)
|
|
31
|
+
throw new Error('Missing Across transaction metadata');
|
|
32
|
+
const { to, value, data, gasLimit: gasLimitFromApi } = acrossTransactionMetadata;
|
|
33
|
+
const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
|
|
34
|
+
const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
|
|
35
|
+
const unsignedTx = await adapter.buildCustomApiTx({
|
|
36
|
+
accountNumber,
|
|
37
|
+
data,
|
|
38
|
+
from,
|
|
39
|
+
to,
|
|
40
|
+
value,
|
|
41
|
+
...feeData,
|
|
42
|
+
gasLimit: BigNumber.max(gasLimitFromApi ?? '0', feeData.gasLimit).toFixed(),
|
|
43
|
+
});
|
|
44
|
+
return unsignedTx;
|
|
45
|
+
},
|
|
46
|
+
checkTradeStatus: async ({ txHash, chainId, address, config, fetchIsSmartContractAddressQuery, assertGetEvmChainAdapter, }) => {
|
|
47
|
+
if (isEvmChainId(chainId)) {
|
|
48
|
+
const sourceTxStatus = await checkEvmSwapStatus({
|
|
49
|
+
txHash,
|
|
50
|
+
chainId,
|
|
51
|
+
address,
|
|
52
|
+
assertGetEvmChainAdapter,
|
|
53
|
+
fetchIsSmartContractAddressQuery,
|
|
54
|
+
});
|
|
55
|
+
if (sourceTxStatus.status !== TxStatus.Confirmed)
|
|
56
|
+
return sourceTxStatus;
|
|
57
|
+
txHash = sourceTxStatus.buyTxHash ?? txHash;
|
|
58
|
+
}
|
|
59
|
+
const maybeStatusResponse = await acrossService.get(`${config.VITE_ACROSS_API_URL}/deposit/status?depositTxnRef=${txHash}`);
|
|
60
|
+
if (maybeStatusResponse.isErr()) {
|
|
61
|
+
return {
|
|
62
|
+
buyTxHash: undefined,
|
|
63
|
+
status: TxStatus.Unknown,
|
|
64
|
+
message: undefined,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const { data: statusResponse } = maybeStatusResponse.unwrap();
|
|
68
|
+
const status = (() => {
|
|
69
|
+
switch (statusResponse.status) {
|
|
70
|
+
case 'filled':
|
|
71
|
+
return TxStatus.Confirmed;
|
|
72
|
+
case 'pending':
|
|
73
|
+
return TxStatus.Pending;
|
|
74
|
+
case 'slowFillRequested':
|
|
75
|
+
return TxStatus.Pending;
|
|
76
|
+
case 'expired':
|
|
77
|
+
return TxStatus.Failed;
|
|
78
|
+
case 'refunded':
|
|
79
|
+
return TxStatus.Failed;
|
|
80
|
+
default:
|
|
81
|
+
return TxStatus.Unknown;
|
|
82
|
+
}
|
|
83
|
+
})();
|
|
84
|
+
const message = (() => {
|
|
85
|
+
switch (statusResponse.status) {
|
|
86
|
+
case 'pending':
|
|
87
|
+
return 'Deposit detected, processing...';
|
|
88
|
+
case 'slowFillRequested':
|
|
89
|
+
return 'Taking longer than usual, waiting for fill...';
|
|
90
|
+
case 'expired':
|
|
91
|
+
return 'Deposit expired';
|
|
92
|
+
case 'refunded':
|
|
93
|
+
return 'Deposit refunded on origin chain';
|
|
94
|
+
default:
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
})();
|
|
98
|
+
const buyTxHash = statusResponse.fillTxnRef;
|
|
99
|
+
return {
|
|
100
|
+
status,
|
|
101
|
+
buyTxHash,
|
|
102
|
+
message,
|
|
103
|
+
};
|
|
104
|
+
},
|
|
105
|
+
getUnsignedSolanaTransaction,
|
|
106
|
+
getSolanaTransactionFees,
|
|
107
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, TradeQuote } from '../../../types.js';
|
|
3
|
+
export declare const getTradeQuote: (input: CommonTradeQuoteInput, deps: SwapperDeps) => Promise<Result<TradeQuote[], SwapErrorRight>>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Err } from '@sniptt/monads';
|
|
2
|
+
import { makeSwapErrorRight } from '../../../utils.js';
|
|
3
|
+
import { getTrade } from '../utils/getTrade.js';
|
|
4
|
+
export const getTradeQuote = (input, deps) => {
|
|
5
|
+
if (!input.sendAddress) {
|
|
6
|
+
return Promise.resolve(Err(makeSwapErrorRight({
|
|
7
|
+
message: 'sendAddress is required',
|
|
8
|
+
})));
|
|
9
|
+
}
|
|
10
|
+
if (!input.receiveAddress) {
|
|
11
|
+
return Promise.resolve(Err(makeSwapErrorRight({
|
|
12
|
+
message: 'receiveAddress is required',
|
|
13
|
+
})));
|
|
14
|
+
}
|
|
15
|
+
const args = {
|
|
16
|
+
buyAsset: input.buyAsset,
|
|
17
|
+
receiveAddress: input.receiveAddress,
|
|
18
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
19
|
+
sellAsset: input.sellAsset,
|
|
20
|
+
sendAddress: input.sendAddress,
|
|
21
|
+
quoteOrRate: 'quote',
|
|
22
|
+
accountNumber: input.accountNumber,
|
|
23
|
+
affiliateBps: input.affiliateBps,
|
|
24
|
+
slippageTolerancePercentageDecimal: input.slippageTolerancePercentageDecimal,
|
|
25
|
+
};
|
|
26
|
+
return getTrade({ input: args, deps });
|
|
27
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, TradeRate } from '../../../types.js';
|
|
3
|
+
export declare const getTradeRate: (input: GetTradeRateInput, deps: SwapperDeps) => Promise<Result<TradeRate[], SwapErrorRight>>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getTrade } from '../utils/getTrade.js';
|
|
2
|
+
export const getTradeRate = (input, deps) => {
|
|
3
|
+
const args = {
|
|
4
|
+
quoteOrRate: 'rate',
|
|
5
|
+
buyAsset: input.buyAsset,
|
|
6
|
+
receiveAddress: input.receiveAddress,
|
|
7
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
8
|
+
sellAsset: input.sellAsset,
|
|
9
|
+
sendAddress: input.sendAddress,
|
|
10
|
+
accountNumber: input.accountNumber,
|
|
11
|
+
affiliateBps: input.affiliateBps,
|
|
12
|
+
slippageTolerancePercentageDecimal: input.slippageTolerancePercentageDecimal,
|
|
13
|
+
};
|
|
14
|
+
return getTrade({ input: args, deps });
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { acrossSwapper } from './AcrossSwapper.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { acrossSwapper } from './AcrossSwapper.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const acrossService: {
|
|
2
|
+
get: <T = any>(url: string, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("@sniptt/monads").Result<import("axios").AxiosResponse<T, any, {}>, import("../../../index.js").SwapErrorRight>>;
|
|
3
|
+
post: <T_1 = any>(url: string, data: any, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("@sniptt/monads").Result<import("axios").AxiosResponse<T_1, any, {}>, import("../../../index.js").SwapErrorRight>>;
|
|
4
|
+
delete: <T_2 = any>(url: string, data: any, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("@sniptt/monads").Result<import("axios").AxiosResponse<T_2, any, {}>, import("../../../index.js").SwapErrorRight>>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { makeSwapperAxiosServiceMonadic } from '../../../utils.js';
|
|
3
|
+
const axiosConfig = {
|
|
4
|
+
timeout: 10000,
|
|
5
|
+
headers: {
|
|
6
|
+
Accept: 'application/json',
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
const acrossServiceBase = axios.create(axiosConfig);
|
|
11
|
+
export const acrossService = makeSwapperAxiosServiceMonadic(acrossServiceBase);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { AxiosResponse } from 'axios';
|
|
3
|
+
import type { SwapErrorRight, SwapperConfig } from '../../../types.js';
|
|
4
|
+
import type { AcrossSwapApprovalResponse } from './types.js';
|
|
5
|
+
export type AcrossFetchQuoteParams = {
|
|
6
|
+
tradeType: 'exactInput';
|
|
7
|
+
amount: string;
|
|
8
|
+
inputToken: string;
|
|
9
|
+
outputToken: string;
|
|
10
|
+
originChainId: number;
|
|
11
|
+
destinationChainId: number;
|
|
12
|
+
depositor: string;
|
|
13
|
+
recipient?: string;
|
|
14
|
+
appFee?: number;
|
|
15
|
+
appFeeRecipient?: string;
|
|
16
|
+
integratorId?: string;
|
|
17
|
+
slippage?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const fetchAcrossTrade: (params: AcrossFetchQuoteParams, config: SwapperConfig) => Promise<Result<AxiosResponse<AcrossSwapApprovalResponse>, SwapErrorRight>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { acrossService } from './acrossService.js';
|
|
2
|
+
export const fetchAcrossTrade = (params, config) => {
|
|
3
|
+
const searchParams = new URLSearchParams();
|
|
4
|
+
searchParams.set('tradeType', params.tradeType);
|
|
5
|
+
searchParams.set('amount', params.amount);
|
|
6
|
+
searchParams.set('inputToken', params.inputToken);
|
|
7
|
+
searchParams.set('outputToken', params.outputToken);
|
|
8
|
+
searchParams.set('originChainId', params.originChainId.toString());
|
|
9
|
+
searchParams.set('destinationChainId', params.destinationChainId.toString());
|
|
10
|
+
searchParams.set('depositor', params.depositor);
|
|
11
|
+
if (params.recipient)
|
|
12
|
+
searchParams.set('recipient', params.recipient);
|
|
13
|
+
if (params.appFee !== undefined && params.appFee > 0 && params.appFeeRecipient) {
|
|
14
|
+
searchParams.set('appFee', params.appFee.toString());
|
|
15
|
+
searchParams.set('appFeeRecipient', params.appFeeRecipient);
|
|
16
|
+
}
|
|
17
|
+
if (params.integratorId)
|
|
18
|
+
searchParams.set('integratorId', params.integratorId);
|
|
19
|
+
if (params.slippage)
|
|
20
|
+
searchParams.set('slippage', params.slippage);
|
|
21
|
+
const url = `${config.VITE_ACROSS_API_URL}/swap/approval?${searchParams.toString()}`;
|
|
22
|
+
return acrossService.get(url);
|
|
23
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Result } from '@sniptt/monads';
|
|
2
|
+
import type { SwapErrorRight, SwapperDeps, TradeQuote, TradeRate } from '../../../types.js';
|
|
3
|
+
import type { AcrossTradeInputParams } from './types.js';
|
|
4
|
+
export declare function getTrade(args: {
|
|
5
|
+
input: AcrossTradeInputParams<'quote'>;
|
|
6
|
+
deps: SwapperDeps;
|
|
7
|
+
}): Promise<Result<TradeQuote[], SwapErrorRight>>;
|
|
8
|
+
export declare function getTrade(args: {
|
|
9
|
+
input: AcrossTradeInputParams<'rate'>;
|
|
10
|
+
deps: SwapperDeps;
|
|
11
|
+
}): Promise<Result<TradeRate[], SwapErrorRight>>;
|