@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
|
@@ -4,11 +4,13 @@ exports.getTradeQuote = void 0;
|
|
|
4
4
|
const avnu_sdk_1 = require("@avnu/avnu-sdk");
|
|
5
5
|
const utils_1 = require("@shapeshiftoss/utils");
|
|
6
6
|
const monads_1 = require("@sniptt/monads");
|
|
7
|
-
const
|
|
7
|
+
const starknet_1 = require("starknet");
|
|
8
8
|
const uuid_1 = require("uuid");
|
|
9
9
|
const constants_1 = require("../../../constants");
|
|
10
10
|
const types_1 = require("../../../types");
|
|
11
11
|
const utils_2 = require("../../../utils");
|
|
12
|
+
const affiliateFee_1 = require("../../utils/affiliateFee");
|
|
13
|
+
const helpers_1 = require("../../utils/helpers/helpers");
|
|
12
14
|
const constants_2 = require("../utils/constants");
|
|
13
15
|
const helpers_2 = require("../utils/helpers");
|
|
14
16
|
const getTradeQuote = async (input, deps) => {
|
|
@@ -46,11 +48,15 @@ const getTradeQuote = async (input, deps) => {
|
|
|
46
48
|
try {
|
|
47
49
|
const sellTokenAddress = (0, helpers_2.getTokenAddress)(sellAsset);
|
|
48
50
|
const buyTokenAddress = (0, helpers_2.getTokenAddress)(buyAsset);
|
|
51
|
+
// Normalize addresses to ensure consistent format across quote and execution
|
|
52
|
+
// Starknet addresses can have different representations (with/without leading zeros)
|
|
53
|
+
const normalizedSendAddress = (0, starknet_1.validateAndParseAddress)(sendAddress);
|
|
54
|
+
const normalizedReceiveAddress = (0, starknet_1.validateAndParseAddress)(receiveAddress);
|
|
49
55
|
const quotes = await (0, avnu_sdk_1.getQuotes)({
|
|
50
56
|
sellTokenAddress,
|
|
51
57
|
buyTokenAddress,
|
|
52
58
|
sellAmount: BigInt(sellAmount),
|
|
53
|
-
takerAddress:
|
|
59
|
+
takerAddress: normalizedSendAddress,
|
|
54
60
|
size: 1,
|
|
55
61
|
integratorFees: affiliateBps ? BigInt(affiliateBps) : undefined,
|
|
56
62
|
integratorFeeRecipient: (0, helpers_1.getTreasuryAddressFromChainId)(sellAsset.chainId),
|
|
@@ -71,10 +77,10 @@ const getTradeQuote = async (input, deps) => {
|
|
|
71
77
|
const buyAmountAfterFeesCryptoBaseUnit = bestQuote.buyAmount.toString();
|
|
72
78
|
const sellAdapter = deps.assertGetStarknetChainAdapter(sellAsset.chainId);
|
|
73
79
|
const feeData = await sellAdapter.getFeeData({
|
|
74
|
-
to:
|
|
80
|
+
to: normalizedReceiveAddress,
|
|
75
81
|
value: sellAmount,
|
|
76
82
|
chainSpecific: {
|
|
77
|
-
from:
|
|
83
|
+
from: normalizedSendAddress,
|
|
78
84
|
tokenContractAddress: sellTokenAddress,
|
|
79
85
|
},
|
|
80
86
|
sendMax: false,
|
|
@@ -99,7 +105,7 @@ const getTradeQuote = async (input, deps) => {
|
|
|
99
105
|
: {};
|
|
100
106
|
const tradeQuote = {
|
|
101
107
|
id: (0, uuid_1.v4)(),
|
|
102
|
-
receiveAddress,
|
|
108
|
+
receiveAddress: normalizedReceiveAddress,
|
|
103
109
|
affiliateBps,
|
|
104
110
|
rate,
|
|
105
111
|
slippageTolerancePercentageDecimal: slippageTolerancePercentageDecimal ??
|
|
@@ -126,6 +132,14 @@ const getTradeQuote = async (input, deps) => {
|
|
|
126
132
|
quoteId: bestQuote.quoteId,
|
|
127
133
|
routes: bestQuote.routes,
|
|
128
134
|
},
|
|
135
|
+
affiliateFee: (0, affiliateFee_1.buildAffiliateFee)({
|
|
136
|
+
strategy: 'buy_asset',
|
|
137
|
+
affiliateBps,
|
|
138
|
+
sellAsset,
|
|
139
|
+
buyAsset,
|
|
140
|
+
sellAmountCryptoBaseUnit: sellAmount,
|
|
141
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
142
|
+
}),
|
|
129
143
|
},
|
|
130
144
|
],
|
|
131
145
|
};
|
|
@@ -4,11 +4,13 @@ exports.getTradeRate = void 0;
|
|
|
4
4
|
const avnu_sdk_1 = require("@avnu/avnu-sdk");
|
|
5
5
|
const utils_1 = require("@shapeshiftoss/utils");
|
|
6
6
|
const monads_1 = require("@sniptt/monads");
|
|
7
|
-
const
|
|
7
|
+
const starknet_1 = require("starknet");
|
|
8
8
|
const uuid_1 = require("uuid");
|
|
9
9
|
const constants_1 = require("../../../constants");
|
|
10
10
|
const types_1 = require("../../../types");
|
|
11
11
|
const utils_2 = require("../../../utils");
|
|
12
|
+
const affiliateFee_1 = require("../../utils/affiliateFee");
|
|
13
|
+
const helpers_1 = require("../../utils/helpers/helpers");
|
|
12
14
|
const constants_2 = require("../utils/constants");
|
|
13
15
|
const helpers_2 = require("../utils/helpers");
|
|
14
16
|
const getTradeRate = async (input, deps) => {
|
|
@@ -28,6 +30,9 @@ const getTradeRate = async (input, deps) => {
|
|
|
28
30
|
try {
|
|
29
31
|
const sellTokenAddress = (0, helpers_2.getTokenAddress)(sellAsset);
|
|
30
32
|
const buyTokenAddress = (0, helpers_2.getTokenAddress)(buyAsset);
|
|
33
|
+
// Normalize receive address if provided (for fee estimation)
|
|
34
|
+
// Rate quotes may not have a receive address, so this is optional
|
|
35
|
+
const normalizedReceiveAddress = receiveAddress ? (0, starknet_1.validateAndParseAddress)(receiveAddress) : '';
|
|
31
36
|
const quotes = await (0, avnu_sdk_1.getQuotes)({
|
|
32
37
|
sellTokenAddress,
|
|
33
38
|
buyTokenAddress,
|
|
@@ -53,10 +58,10 @@ const getTradeRate = async (input, deps) => {
|
|
|
53
58
|
const sellAdapter = deps.assertGetStarknetChainAdapter(sellAsset.chainId);
|
|
54
59
|
// For rate quotes, use receiveAddress as a dummy from/to for fee estimation
|
|
55
60
|
const feeData = await sellAdapter.getFeeData({
|
|
56
|
-
to:
|
|
61
|
+
to: normalizedReceiveAddress,
|
|
57
62
|
value: sellAmount,
|
|
58
63
|
chainSpecific: {
|
|
59
|
-
from:
|
|
64
|
+
from: normalizedReceiveAddress,
|
|
60
65
|
tokenContractAddress: sellTokenAddress,
|
|
61
66
|
},
|
|
62
67
|
sendMax: false,
|
|
@@ -81,7 +86,7 @@ const getTradeRate = async (input, deps) => {
|
|
|
81
86
|
: {};
|
|
82
87
|
const tradeRate = {
|
|
83
88
|
id: (0, uuid_1.v4)(),
|
|
84
|
-
receiveAddress,
|
|
89
|
+
receiveAddress: normalizedReceiveAddress || receiveAddress,
|
|
85
90
|
affiliateBps,
|
|
86
91
|
rate,
|
|
87
92
|
slippageTolerancePercentageDecimal: slippageTolerancePercentageDecimal ??
|
|
@@ -104,6 +109,14 @@ const getTradeRate = async (input, deps) => {
|
|
|
104
109
|
sellAsset,
|
|
105
110
|
source: types_1.SwapperName.Avnu,
|
|
106
111
|
estimatedExecutionTimeMs: undefined,
|
|
112
|
+
affiliateFee: (0, affiliateFee_1.buildAffiliateFee)({
|
|
113
|
+
strategy: 'buy_asset',
|
|
114
|
+
affiliateBps,
|
|
115
|
+
sellAsset,
|
|
116
|
+
buyAsset,
|
|
117
|
+
sellAmountCryptoBaseUnit: sellAmount,
|
|
118
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
119
|
+
}),
|
|
107
120
|
},
|
|
108
121
|
],
|
|
109
122
|
};
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bebopSwapper = void 0;
|
|
4
4
|
const utils_1 = require("../../utils");
|
|
5
|
+
const executeSolanaMessage_1 = require("./executeSolanaMessage");
|
|
5
6
|
exports.bebopSwapper = {
|
|
6
7
|
executeEvmTransaction: utils_1.executeEvmTransaction,
|
|
8
|
+
executeSolanaMessage: executeSolanaMessage_1.executeSolanaMessage,
|
|
7
9
|
};
|
|
@@ -4,18 +4,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.bebopApi = void 0;
|
|
7
|
+
const caip_1 = require("@shapeshiftoss/caip");
|
|
7
8
|
const chain_adapters_1 = require("@shapeshiftoss/chain-adapters");
|
|
8
9
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
10
|
const viem_1 = require("viem");
|
|
10
11
|
const utils_1 = require("../../utils");
|
|
12
|
+
const getBebopSolanaTradeQuote_1 = require("./getBebopSolanaTradeQuote/getBebopSolanaTradeQuote");
|
|
13
|
+
const getBebopSolanaTradeRate_1 = require("./getBebopSolanaTradeRate/getBebopSolanaTradeRate");
|
|
11
14
|
const getBebopTradeQuote_1 = require("./getBebopTradeQuote/getBebopTradeQuote");
|
|
12
15
|
const getBebopTradeRate_1 = require("./getBebopTradeRate/getBebopTradeRate");
|
|
16
|
+
const helpers_1 = require("./utils/helpers/helpers");
|
|
13
17
|
exports.bebopApi = {
|
|
14
18
|
getTradeQuote: async (input, { assertGetEvmChainAdapter, assetsById, config }) => {
|
|
19
|
+
if ((0, helpers_1.isSolanaChainId)(input.sellAsset.chainId)) {
|
|
20
|
+
const tradeQuoteResult = await (0, getBebopSolanaTradeQuote_1.getBebopSolanaTradeQuote)(input, assetsById, config.VITE_BEBOP_API_KEY);
|
|
21
|
+
return tradeQuoteResult.map(tradeQuote => [tradeQuote]);
|
|
22
|
+
}
|
|
15
23
|
const tradeQuoteResult = await (0, getBebopTradeQuote_1.getBebopTradeQuote)(input, assertGetEvmChainAdapter, assetsById, config.VITE_BEBOP_API_KEY);
|
|
16
24
|
return tradeQuoteResult.map(tradeQuote => [tradeQuote]);
|
|
17
25
|
},
|
|
18
26
|
getTradeRate: async (input, { assertGetEvmChainAdapter, assetsById, config }) => {
|
|
27
|
+
if ((0, helpers_1.isSolanaChainId)(input.sellAsset.chainId)) {
|
|
28
|
+
const tradeRateResult = await (0, getBebopSolanaTradeRate_1.getBebopSolanaTradeRate)(input, assetsById, config.VITE_BEBOP_API_KEY);
|
|
29
|
+
return tradeRateResult.map(tradeRate => [tradeRate]);
|
|
30
|
+
}
|
|
19
31
|
const tradeRateResult = await (0, getBebopTradeRate_1.getBebopTradeRate)(input, assertGetEvmChainAdapter, assetsById, config.VITE_BEBOP_API_KEY);
|
|
20
32
|
return tradeRateResult.map(tradeRate => [tradeRate]);
|
|
21
33
|
},
|
|
@@ -40,10 +52,22 @@ exports.bebopApi = {
|
|
|
40
52
|
to,
|
|
41
53
|
value,
|
|
42
54
|
...feeData,
|
|
43
|
-
// Use the higher amount of the node or the API, as the node doesn't always provide enough gas padding
|
|
44
55
|
gasLimit: bignumber_js_1.default.max(feeData.gasLimit, gas).toFixed(),
|
|
45
56
|
});
|
|
46
57
|
},
|
|
58
|
+
getUnsignedSolanaMessage: ({ tradeQuote, stepIndex }) => {
|
|
59
|
+
if (!(0, utils_1.isExecutableTradeQuote)(tradeQuote))
|
|
60
|
+
throw new Error('Unable to execute a trade rate quote');
|
|
61
|
+
const step = (0, utils_1.getExecutableTradeStep)(tradeQuote, stepIndex);
|
|
62
|
+
const { bebopSolanaSerializedTx, bebopQuoteId } = step;
|
|
63
|
+
if (!bebopSolanaSerializedTx || !bebopQuoteId) {
|
|
64
|
+
throw new Error('Bebop Solana transaction metadata is required');
|
|
65
|
+
}
|
|
66
|
+
return Promise.resolve({
|
|
67
|
+
serializedTx: bebopSolanaSerializedTx,
|
|
68
|
+
quoteId: bebopQuoteId,
|
|
69
|
+
});
|
|
70
|
+
},
|
|
47
71
|
getEvmTransactionFees: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
|
|
48
72
|
if (!(0, utils_1.isExecutableTradeQuote)(tradeQuote))
|
|
49
73
|
throw new Error('Unable to execute a trade rate quote');
|
|
@@ -57,5 +81,14 @@ exports.bebopApi = {
|
|
|
57
81
|
const feeData = await chain_adapters_1.evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
|
|
58
82
|
return feeData.networkFeeCryptoBaseUnit;
|
|
59
83
|
},
|
|
60
|
-
checkTradeStatus:
|
|
84
|
+
checkTradeStatus: input => {
|
|
85
|
+
if (input.chainId === caip_1.solanaChainId) {
|
|
86
|
+
return (0, utils_1.checkSolanaSwapStatus)({
|
|
87
|
+
txHash: input.txHash,
|
|
88
|
+
address: input.address,
|
|
89
|
+
assertGetSolanaChainAdapter: input.assertGetSolanaChainAdapter,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return (0, utils_1.checkEvmSwapStatus)(input);
|
|
93
|
+
},
|
|
61
94
|
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { SolanaMessageExecutionProps, SolanaMessageToSign, SwapperConfig } from '../../types';
|
|
2
|
+
export declare const executeSolanaMessage: (messageData: SolanaMessageToSign, { signSerializedTransaction }: SolanaMessageExecutionProps, config: SwapperConfig) => Promise<string>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.executeSolanaMessage = void 0;
|
|
7
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
8
|
+
const bebopService_1 = require("./utils/bebopService");
|
|
9
|
+
const executeSolanaMessage = async (messageData, { signSerializedTransaction }, config) => {
|
|
10
|
+
const { serializedTx, quoteId } = messageData;
|
|
11
|
+
if (!serializedTx || !quoteId) {
|
|
12
|
+
throw new Error('Missing serializedTx or quoteId in message data');
|
|
13
|
+
}
|
|
14
|
+
const signatures = await signSerializedTransaction(serializedTx);
|
|
15
|
+
if (!signatures.length) {
|
|
16
|
+
throw new Error('No signatures returned from wallet');
|
|
17
|
+
}
|
|
18
|
+
// Find the actual non-zero user signature (skip empty placeholder slots from co-signers)
|
|
19
|
+
const nonZeroSigIndex = signatures.findIndex(sig => {
|
|
20
|
+
const bytes = Buffer.from(sig, 'base64');
|
|
21
|
+
return !bytes.every(b => b === 0);
|
|
22
|
+
});
|
|
23
|
+
if (nonZeroSigIndex === -1) {
|
|
24
|
+
throw new Error('No non-zero signatures found after signing');
|
|
25
|
+
}
|
|
26
|
+
const userSignatureBase64 = signatures[nonZeroSigIndex];
|
|
27
|
+
const userSignatureBytes = Buffer.from(userSignatureBase64, 'base64');
|
|
28
|
+
const userSignatureBase58 = bs58_1.default.encode(userSignatureBytes);
|
|
29
|
+
const bebopService = (0, bebopService_1.bebopServiceFactory)({ apiKey: config.VITE_BEBOP_API_KEY });
|
|
30
|
+
const maybeOrderResponse = await bebopService.post('https://api.bebop.xyz/pmm/solana/v3/order', {
|
|
31
|
+
quote_id: quoteId,
|
|
32
|
+
signature: userSignatureBase58,
|
|
33
|
+
});
|
|
34
|
+
if (maybeOrderResponse.isErr()) {
|
|
35
|
+
const error = maybeOrderResponse.unwrapErr();
|
|
36
|
+
throw new Error(`Bebop order submission failed: ${error.cause ?? error.message}`);
|
|
37
|
+
}
|
|
38
|
+
const { data: orderResponse } = maybeOrderResponse.unwrap();
|
|
39
|
+
if (orderResponse.error) {
|
|
40
|
+
throw new Error(`Bebop order failed: ${orderResponse.error.message} (code ${orderResponse.error.errorCode})`);
|
|
41
|
+
}
|
|
42
|
+
if (!orderResponse.txHash) {
|
|
43
|
+
throw new Error(`Bebop order response missing txHash: ${JSON.stringify(orderResponse)}`);
|
|
44
|
+
}
|
|
45
|
+
return orderResponse.txHash;
|
|
46
|
+
};
|
|
47
|
+
exports.executeSolanaMessage = executeSolanaMessage;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AssetsByIdPartial } from '@shapeshiftoss/types';
|
|
2
|
+
import type { Result } from '@sniptt/monads';
|
|
3
|
+
import type { GetSolanaTradeQuoteInput, SwapErrorRight, TradeQuote } from '../../../types';
|
|
4
|
+
export declare function getBebopSolanaTradeQuote(input: GetSolanaTradeQuoteInput, _assetsById: AssetsByIdPartial, apiKey: string): Promise<Result<TradeQuote, SwapErrorRight>>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBebopSolanaTradeQuote = void 0;
|
|
4
|
+
const monads_1 = require("@sniptt/monads");
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
const types_1 = require("../../../types");
|
|
8
|
+
const utils_1 = require("../../../utils");
|
|
9
|
+
const fetchFromBebop_1 = require("../utils/fetchFromBebop");
|
|
10
|
+
const helpers_1 = require("../utils/helpers/helpers");
|
|
11
|
+
async function getBebopSolanaTradeQuote(input, _assetsById, apiKey) {
|
|
12
|
+
const { sellAsset, buyAsset, accountNumber, sendAddress, receiveAddress, affiliateBps, sellAmountIncludingProtocolFeesCryptoBaseUnit, } = input;
|
|
13
|
+
const assertion = (0, helpers_1.assertValidTrade)({ buyAsset, sellAsset });
|
|
14
|
+
if (assertion.isErr())
|
|
15
|
+
return (0, monads_1.Err)(assertion.unwrapErr());
|
|
16
|
+
const takerAddress = sendAddress || receiveAddress;
|
|
17
|
+
if (!takerAddress) {
|
|
18
|
+
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
19
|
+
message: 'Cannot execute quote without a wallet address',
|
|
20
|
+
code: types_1.TradeQuoteError.UnknownError,
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
const slippageTolerancePercentageDecimal = input.slippageTolerancePercentageDecimal ??
|
|
24
|
+
(0, constants_1.getDefaultSlippageDecimalPercentageForSwapper)(types_1.SwapperName.Bebop);
|
|
25
|
+
const maybeBebopQuoteResponse = await (0, fetchFromBebop_1.fetchBebopSolanaQuote)({
|
|
26
|
+
buyAsset,
|
|
27
|
+
sellAsset,
|
|
28
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
29
|
+
takerAddress,
|
|
30
|
+
receiverAddress: receiveAddress ?? takerAddress,
|
|
31
|
+
slippageTolerancePercentageDecimal,
|
|
32
|
+
affiliateBps,
|
|
33
|
+
apiKey,
|
|
34
|
+
});
|
|
35
|
+
if (maybeBebopQuoteResponse.isErr())
|
|
36
|
+
return (0, monads_1.Err)(maybeBebopQuoteResponse.unwrapErr());
|
|
37
|
+
const bebopQuoteResponse = maybeBebopQuoteResponse.unwrap();
|
|
38
|
+
const sellTokenAddress = Object.keys(bebopQuoteResponse.sellTokens)[0];
|
|
39
|
+
const buyTokenAddress = Object.keys(bebopQuoteResponse.buyTokens)[0];
|
|
40
|
+
if (!sellTokenAddress || !buyTokenAddress) {
|
|
41
|
+
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
42
|
+
message: 'Invalid token addresses in response',
|
|
43
|
+
code: types_1.TradeQuoteError.InvalidResponse,
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
if (bebopQuoteResponse.solana_tx &&
|
|
47
|
+
!(0, helpers_1.isBebopSolanaTxSafe)(bebopQuoteResponse.solana_tx, takerAddress)) {
|
|
48
|
+
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
49
|
+
message: 'Bebop signer index mismatch - taker not at expected position',
|
|
50
|
+
code: types_1.TradeQuoteError.NoRouteFound,
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
const sellAmount = bebopQuoteResponse.sellTokens[sellTokenAddress].amount;
|
|
54
|
+
const buyAmount = bebopQuoteResponse.buyTokens[buyTokenAddress].amount;
|
|
55
|
+
const rate = (0, helpers_1.calculateRate)({ buyAmount, sellAmount, buyAsset, sellAsset });
|
|
56
|
+
const buyTokenData = bebopQuoteResponse.buyTokens[buyTokenAddress];
|
|
57
|
+
const buyAmountBeforeFeesCryptoBaseUnit = buyTokenData.amountBeforeFee || buyAmount;
|
|
58
|
+
const buyAmountAfterFeesCryptoBaseUnit = buyAmount;
|
|
59
|
+
// Bebop Solana is gasless - Bebop pays the network fees via co-signing
|
|
60
|
+
const networkFeeCryptoBaseUnit = '0';
|
|
61
|
+
return (0, monads_1.Ok)({
|
|
62
|
+
id: (0, uuid_1.v4)(),
|
|
63
|
+
quoteOrRate: 'quote',
|
|
64
|
+
receiveAddress: receiveAddress ?? takerAddress,
|
|
65
|
+
affiliateBps,
|
|
66
|
+
slippageTolerancePercentageDecimal,
|
|
67
|
+
rate,
|
|
68
|
+
swapperName: types_1.SwapperName.Bebop,
|
|
69
|
+
steps: [
|
|
70
|
+
{
|
|
71
|
+
estimatedExecutionTimeMs: 0,
|
|
72
|
+
allowanceContract: '0x0',
|
|
73
|
+
buyAsset,
|
|
74
|
+
sellAsset,
|
|
75
|
+
accountNumber,
|
|
76
|
+
rate,
|
|
77
|
+
feeData: {
|
|
78
|
+
protocolFees: {},
|
|
79
|
+
networkFeeCryptoBaseUnit,
|
|
80
|
+
},
|
|
81
|
+
buyAmountBeforeFeesCryptoBaseUnit,
|
|
82
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
83
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
84
|
+
source: types_1.SwapperName.Bebop,
|
|
85
|
+
bebopSolanaSerializedTx: bebopQuoteResponse.solana_tx,
|
|
86
|
+
bebopQuoteId: bebopQuoteResponse.quoteId,
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
exports.getBebopSolanaTradeQuote = getBebopSolanaTradeQuote;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AssetsByIdPartial } from '@shapeshiftoss/types';
|
|
2
|
+
import type { Result } from '@sniptt/monads';
|
|
3
|
+
import type { GetSolanaTradeRateInput, SwapErrorRight, TradeRate } from '../../../types';
|
|
4
|
+
export declare function getBebopSolanaTradeRate(input: GetSolanaTradeRateInput, _assetsById: AssetsByIdPartial, apiKey: string): Promise<Result<TradeRate, SwapErrorRight>>;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBebopSolanaTradeRate = void 0;
|
|
4
|
+
const monads_1 = require("@sniptt/monads");
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
const types_1 = require("../../../types");
|
|
8
|
+
const utils_1 = require("../../../utils");
|
|
9
|
+
const fetchFromBebop_1 = require("../utils/fetchFromBebop");
|
|
10
|
+
const helpers_1 = require("../utils/helpers/helpers");
|
|
11
|
+
async function getBebopSolanaTradeRate(input, _assetsById, apiKey) {
|
|
12
|
+
const { sellAsset, buyAsset, accountNumber, receiveAddress, affiliateBps, sellAmountIncludingProtocolFeesCryptoBaseUnit, } = input;
|
|
13
|
+
const assertion = (0, helpers_1.assertValidTrade)({ buyAsset, sellAsset });
|
|
14
|
+
if (assertion.isErr())
|
|
15
|
+
return (0, monads_1.Err)(assertion.unwrapErr());
|
|
16
|
+
const slippageTolerancePercentageDecimal = input.slippageTolerancePercentageDecimal ??
|
|
17
|
+
(0, constants_1.getDefaultSlippageDecimalPercentageForSwapper)(types_1.SwapperName.Bebop);
|
|
18
|
+
const maybeBebopPriceResponse = await (0, fetchFromBebop_1.fetchBebopSolanaPrice)({
|
|
19
|
+
buyAsset,
|
|
20
|
+
sellAsset,
|
|
21
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
22
|
+
receiveAddress,
|
|
23
|
+
affiliateBps,
|
|
24
|
+
apiKey,
|
|
25
|
+
});
|
|
26
|
+
if (maybeBebopPriceResponse.isErr())
|
|
27
|
+
return (0, monads_1.Err)(maybeBebopPriceResponse.unwrapErr());
|
|
28
|
+
const bebopPriceResponse = maybeBebopPriceResponse.unwrap();
|
|
29
|
+
const sellTokenAddress = Object.keys(bebopPriceResponse.sellTokens)[0];
|
|
30
|
+
const buyTokenAddress = Object.keys(bebopPriceResponse.buyTokens)[0];
|
|
31
|
+
if (!sellTokenAddress || !buyTokenAddress) {
|
|
32
|
+
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
33
|
+
message: 'Invalid token addresses in response',
|
|
34
|
+
code: types_1.TradeQuoteError.InvalidResponse,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
if (bebopPriceResponse.solana_tx) {
|
|
38
|
+
if (!receiveAddress) {
|
|
39
|
+
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
40
|
+
message: 'Cannot validate Bebop Solana tx without a taker address',
|
|
41
|
+
code: types_1.TradeQuoteError.NoRouteFound,
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
if (!(0, helpers_1.isBebopSolanaTxSafe)(bebopPriceResponse.solana_tx, receiveAddress)) {
|
|
45
|
+
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
46
|
+
message: 'Bebop signer index mismatch - taker not at expected position',
|
|
47
|
+
code: types_1.TradeQuoteError.NoRouteFound,
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const sellAmount = bebopPriceResponse.sellTokens[sellTokenAddress].amount;
|
|
52
|
+
const buyAmount = bebopPriceResponse.buyTokens[buyTokenAddress].amount;
|
|
53
|
+
const rate = (0, helpers_1.calculateRate)({ buyAmount, sellAmount, buyAsset, sellAsset });
|
|
54
|
+
const buyTokenData = bebopPriceResponse.buyTokens[buyTokenAddress];
|
|
55
|
+
const buyAmountBeforeFeesCryptoBaseUnit = buyTokenData.amountBeforeFee || buyAmount;
|
|
56
|
+
const buyAmountAfterFeesCryptoBaseUnit = buyAmount;
|
|
57
|
+
// Bebop Solana is gasless - Bebop pays the network fees via co-signing
|
|
58
|
+
const networkFeeCryptoBaseUnit = '0';
|
|
59
|
+
return (0, monads_1.Ok)({
|
|
60
|
+
id: (0, uuid_1.v4)(),
|
|
61
|
+
quoteOrRate: 'rate',
|
|
62
|
+
accountNumber: undefined,
|
|
63
|
+
receiveAddress,
|
|
64
|
+
affiliateBps,
|
|
65
|
+
slippageTolerancePercentageDecimal,
|
|
66
|
+
rate,
|
|
67
|
+
swapperName: types_1.SwapperName.Bebop,
|
|
68
|
+
steps: [
|
|
69
|
+
{
|
|
70
|
+
estimatedExecutionTimeMs: 0,
|
|
71
|
+
allowanceContract: '0x0',
|
|
72
|
+
buyAsset,
|
|
73
|
+
sellAsset,
|
|
74
|
+
accountNumber,
|
|
75
|
+
rate,
|
|
76
|
+
feeData: {
|
|
77
|
+
protocolFees: {},
|
|
78
|
+
networkFeeCryptoBaseUnit,
|
|
79
|
+
},
|
|
80
|
+
buyAmountBeforeFeesCryptoBaseUnit,
|
|
81
|
+
buyAmountAfterFeesCryptoBaseUnit,
|
|
82
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
83
|
+
source: types_1.SwapperName.Bebop,
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
exports.getBebopSolanaTradeRate = getBebopSolanaTradeRate;
|
|
@@ -9,6 +9,7 @@ const viem_1 = require("viem");
|
|
|
9
9
|
const constants_1 = require("../../../constants");
|
|
10
10
|
const types_1 = require("../../../types");
|
|
11
11
|
const utils_2 = require("../../../utils");
|
|
12
|
+
const affiliateFee_1 = require("../../utils/affiliateFee");
|
|
12
13
|
const helpers_1 = require("../../utils/helpers/helpers");
|
|
13
14
|
const types_2 = require("../types");
|
|
14
15
|
const fetchFromBebop_1 = require("../utils/fetchFromBebop");
|
|
@@ -102,6 +103,15 @@ async function getBebopTradeQuote(input, assertGetEvmChainAdapter, _assetsById,
|
|
|
102
103
|
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
103
104
|
source: types_1.SwapperName.Bebop,
|
|
104
105
|
bebopTransactionMetadata: transactionMetadata,
|
|
106
|
+
affiliateFee: (0, affiliateFee_1.buildAffiliateFee)({
|
|
107
|
+
strategy: 'buy_asset',
|
|
108
|
+
affiliateBps,
|
|
109
|
+
sellAsset,
|
|
110
|
+
buyAsset,
|
|
111
|
+
sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
112
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
113
|
+
isEstimate: true,
|
|
114
|
+
}),
|
|
105
115
|
},
|
|
106
116
|
],
|
|
107
117
|
});
|
|
@@ -9,6 +9,7 @@ const viem_1 = require("viem");
|
|
|
9
9
|
const constants_1 = require("../../../constants");
|
|
10
10
|
const types_1 = require("../../../types");
|
|
11
11
|
const utils_2 = require("../../../utils");
|
|
12
|
+
const affiliateFee_1 = require("../../utils/affiliateFee");
|
|
12
13
|
const helpers_1 = require("../../utils/helpers/helpers");
|
|
13
14
|
const fetchFromBebop_1 = require("../utils/fetchFromBebop");
|
|
14
15
|
const helpers_2 = require("../utils/helpers/helpers");
|
|
@@ -85,6 +86,15 @@ async function getBebopTradeRate(input, assertGetEvmChainAdapter, _assetsById, a
|
|
|
85
86
|
buyAmountAfterFeesCryptoBaseUnit,
|
|
86
87
|
sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
87
88
|
source: types_1.SwapperName.Bebop,
|
|
89
|
+
affiliateFee: (0, affiliateFee_1.buildAffiliateFee)({
|
|
90
|
+
strategy: 'buy_asset',
|
|
91
|
+
affiliateBps,
|
|
92
|
+
sellAsset,
|
|
93
|
+
buyAsset,
|
|
94
|
+
sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit,
|
|
95
|
+
buyAmountCryptoBaseUnit: buyAmountAfterFeesCryptoBaseUnit,
|
|
96
|
+
isEstimate: true,
|
|
97
|
+
}),
|
|
88
98
|
},
|
|
89
99
|
],
|
|
90
100
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { KnownChainIds } from '@shapeshiftoss/types';
|
|
2
2
|
import type { Address, Hex } from 'viem';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const bebopSupportedEvmChainIds: readonly [KnownChainIds.EthereumMainnet, KnownChainIds.PolygonMainnet, KnownChainIds.ArbitrumMainnet, KnownChainIds.BaseMainnet, KnownChainIds.AvalancheMainnet, KnownChainIds.OptimismMainnet, KnownChainIds.BnbSmartChainMainnet];
|
|
4
|
+
export declare const bebopSupportedChainIds: readonly [KnownChainIds.EthereumMainnet, KnownChainIds.PolygonMainnet, KnownChainIds.ArbitrumMainnet, KnownChainIds.BaseMainnet, KnownChainIds.AvalancheMainnet, KnownChainIds.OptimismMainnet, KnownChainIds.BnbSmartChainMainnet, KnownChainIds.SolanaMainnet];
|
|
4
5
|
export type BebopSupportedChainId = (typeof bebopSupportedChainIds)[number];
|
|
5
6
|
export type BebopQuoteRoute = {
|
|
6
7
|
type: string;
|
|
@@ -87,3 +88,50 @@ export type BebopQuoteResponse = {
|
|
|
87
88
|
export declare const chainIdToBebopChain: Record<BebopSupportedChainId, string>;
|
|
88
89
|
export declare const BEBOP_NATIVE_MARKER = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
89
90
|
export declare const BEBOP_DUMMY_ADDRESS: `0x${string}`;
|
|
91
|
+
export declare const BEBOP_SOLANA_DUMMY_ADDRESS = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
|
|
92
|
+
export type BebopSolanaQuoteResponse = {
|
|
93
|
+
requestId: string;
|
|
94
|
+
type: string;
|
|
95
|
+
status: 'QUOTE_SUCCESS' | 'QUOTE_INDIC_ROUTE';
|
|
96
|
+
quoteId: string;
|
|
97
|
+
chainId: number;
|
|
98
|
+
approvalType: string;
|
|
99
|
+
nativeToken: string;
|
|
100
|
+
taker: string;
|
|
101
|
+
receiver: string;
|
|
102
|
+
expiry: number;
|
|
103
|
+
slippage: number;
|
|
104
|
+
gasFee: {
|
|
105
|
+
native: string;
|
|
106
|
+
usd: number;
|
|
107
|
+
};
|
|
108
|
+
buyTokens: Record<string, {
|
|
109
|
+
amount: string;
|
|
110
|
+
decimals: number;
|
|
111
|
+
priceUsd: number;
|
|
112
|
+
symbol: string;
|
|
113
|
+
minimumAmount: string;
|
|
114
|
+
price: number;
|
|
115
|
+
priceBeforeFee: number;
|
|
116
|
+
amountBeforeFee: string;
|
|
117
|
+
deltaFromExpected: number;
|
|
118
|
+
}>;
|
|
119
|
+
sellTokens: Record<string, {
|
|
120
|
+
amount: string;
|
|
121
|
+
decimals: number;
|
|
122
|
+
priceUsd: number;
|
|
123
|
+
symbol: string;
|
|
124
|
+
price: number;
|
|
125
|
+
priceBeforeFee: number;
|
|
126
|
+
}>;
|
|
127
|
+
settlementAddress: string;
|
|
128
|
+
approvalTarget: string;
|
|
129
|
+
requiredSignatures: string[];
|
|
130
|
+
priceImpact: number;
|
|
131
|
+
warnings: string[];
|
|
132
|
+
solana_tx: string;
|
|
133
|
+
blockhash: string;
|
|
134
|
+
makers: string[];
|
|
135
|
+
partnerFee?: Record<string, string>;
|
|
136
|
+
protocolFee?: Record<string, string>;
|
|
137
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BEBOP_DUMMY_ADDRESS = exports.BEBOP_NATIVE_MARKER = exports.chainIdToBebopChain = exports.bebopSupportedChainIds = void 0;
|
|
3
|
+
exports.BEBOP_SOLANA_DUMMY_ADDRESS = exports.BEBOP_DUMMY_ADDRESS = exports.BEBOP_NATIVE_MARKER = exports.chainIdToBebopChain = exports.bebopSupportedChainIds = exports.bebopSupportedEvmChainIds = void 0;
|
|
4
4
|
const types_1 = require("@shapeshiftoss/types");
|
|
5
|
-
exports.
|
|
5
|
+
exports.bebopSupportedEvmChainIds = [
|
|
6
6
|
types_1.KnownChainIds.EthereumMainnet,
|
|
7
7
|
types_1.KnownChainIds.PolygonMainnet,
|
|
8
8
|
types_1.KnownChainIds.ArbitrumMainnet,
|
|
@@ -11,6 +11,10 @@ exports.bebopSupportedChainIds = [
|
|
|
11
11
|
types_1.KnownChainIds.OptimismMainnet,
|
|
12
12
|
types_1.KnownChainIds.BnbSmartChainMainnet,
|
|
13
13
|
];
|
|
14
|
+
exports.bebopSupportedChainIds = [
|
|
15
|
+
...exports.bebopSupportedEvmChainIds,
|
|
16
|
+
types_1.KnownChainIds.SolanaMainnet,
|
|
17
|
+
];
|
|
14
18
|
exports.chainIdToBebopChain = {
|
|
15
19
|
[types_1.KnownChainIds.EthereumMainnet]: 'ethereum',
|
|
16
20
|
[types_1.KnownChainIds.PolygonMainnet]: 'polygon',
|
|
@@ -19,9 +23,12 @@ exports.chainIdToBebopChain = {
|
|
|
19
23
|
[types_1.KnownChainIds.AvalancheMainnet]: 'avalanche',
|
|
20
24
|
[types_1.KnownChainIds.OptimismMainnet]: 'optimism',
|
|
21
25
|
[types_1.KnownChainIds.BnbSmartChainMainnet]: 'bsc',
|
|
26
|
+
[types_1.KnownChainIds.SolanaMainnet]: 'solana',
|
|
22
27
|
};
|
|
23
28
|
exports.BEBOP_NATIVE_MARKER = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
24
29
|
// Dummy address used for rate quotes when no wallet is connected.
|
|
25
30
|
// This is Vitalik's address, same as what Bebop's own UI uses for price-only quotes.
|
|
26
31
|
// MUST NEVER be used for executable quote transactions.
|
|
27
32
|
exports.BEBOP_DUMMY_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
|
|
33
|
+
// Solana dummy address for rate quotes - uses the Token Program address which cannot be a real wallet
|
|
34
|
+
exports.BEBOP_SOLANA_DUMMY_ADDRESS = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
|
|
@@ -2,7 +2,7 @@ import type { Asset } from '@shapeshiftoss/types';
|
|
|
2
2
|
import type { Result } from '@sniptt/monads';
|
|
3
3
|
import type { Address } from 'viem';
|
|
4
4
|
import type { SwapErrorRight } from '../../../types';
|
|
5
|
-
import type { BebopQuoteResponse } from '../types';
|
|
5
|
+
import type { BebopQuoteResponse, BebopSolanaQuoteResponse } from '../types';
|
|
6
6
|
export declare const fetchBebopQuote: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, affiliateBps, apiKey, }: {
|
|
7
7
|
buyAsset: Asset;
|
|
8
8
|
sellAsset: Asset;
|
|
@@ -21,3 +21,21 @@ export declare const fetchBebopPrice: ({ buyAsset, sellAsset, sellAmountIncludin
|
|
|
21
21
|
affiliateBps?: string | undefined;
|
|
22
22
|
apiKey: string;
|
|
23
23
|
}) => Promise<Result<BebopQuoteResponse, SwapErrorRight>>;
|
|
24
|
+
export declare const fetchBebopSolanaQuote: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, affiliateBps, apiKey, }: {
|
|
25
|
+
buyAsset: Asset;
|
|
26
|
+
sellAsset: Asset;
|
|
27
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: string;
|
|
28
|
+
takerAddress: string;
|
|
29
|
+
receiverAddress: string;
|
|
30
|
+
slippageTolerancePercentageDecimal: string;
|
|
31
|
+
affiliateBps?: string | undefined;
|
|
32
|
+
apiKey: string;
|
|
33
|
+
}) => Promise<Result<BebopSolanaQuoteResponse, SwapErrorRight>>;
|
|
34
|
+
export declare const fetchBebopSolanaPrice: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, receiveAddress, affiliateBps, apiKey, }: {
|
|
35
|
+
buyAsset: Asset;
|
|
36
|
+
sellAsset: Asset;
|
|
37
|
+
sellAmountIncludingProtocolFeesCryptoBaseUnit: string;
|
|
38
|
+
receiveAddress: string | undefined;
|
|
39
|
+
affiliateBps?: string | undefined;
|
|
40
|
+
apiKey: string;
|
|
41
|
+
}) => Promise<Result<BebopSolanaQuoteResponse, SwapErrorRight>>;
|