@shapeshiftoss/swapper 20.2.0 → 20.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/constants.js +15 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +1 -2
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +2 -1
- package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +21 -15
- package/dist/cjs/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +1 -0
- package/dist/cjs/swappers/BobGatewaySwapper/BobGatewaySwapper.js +10 -1
- package/dist/cjs/swappers/BobGatewaySwapper/endpoints.js +2 -33
- package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +5 -10
- package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +1 -2
- package/dist/cjs/swappers/BobGatewaySwapper/types.d.ts +3 -3
- package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.d.ts +3 -2
- package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.js +8 -5
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +2 -2
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +30 -34
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.js +117 -0
- package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +1 -2
- package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.d.ts +8 -11
- package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.js +36 -31
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +2 -5
- package/dist/cjs/swappers/ButterSwap/types.d.ts +0 -11
- package/dist/cjs/swappers/ButterSwap/utils/constants.d.ts +2 -0
- package/dist/cjs/swappers/ButterSwap/utils/constants.js +4 -1
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +2 -3
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.js +42 -14
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.test.js +120 -17
- package/dist/cjs/swappers/ButterSwap/utils/helpers.js +1 -2
- package/dist/cjs/swappers/ButterSwap/xhr.js +3 -3
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/ChainflipSwapper/endpoints.js +3 -19
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +1 -2
- package/dist/cjs/swappers/ChainflipSwapper/types.d.ts +1 -0
- package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +1 -1
- package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.js +31 -12
- package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/FyndSwapper/FyndSwapper.d.ts +2 -0
- package/dist/cjs/swappers/FyndSwapper/FyndSwapper.js +5 -0
- package/dist/cjs/swappers/FyndSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/FyndSwapper/endpoints.js +14 -0
- package/dist/cjs/swappers/FyndSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/FyndSwapper/getTradeQuote/getTradeQuote.js +43 -0
- package/dist/cjs/swappers/FyndSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/FyndSwapper/getTradeRate/getTradeRate.js +34 -0
- package/dist/cjs/swappers/FyndSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/FyndSwapper/index.js +7 -0
- package/dist/cjs/swappers/FyndSwapper/types.d.ts +41 -0
- package/dist/cjs/swappers/FyndSwapper/types.js +2 -0
- package/dist/cjs/swappers/FyndSwapper/utils/constants.d.ts +33 -0
- package/dist/cjs/swappers/FyndSwapper/utils/constants.js +38 -0
- package/dist/cjs/swappers/FyndSwapper/utils/fetchFromFynd.d.ts +13 -0
- package/dist/cjs/swappers/FyndSwapper/utils/fetchFromFynd.js +42 -0
- package/dist/cjs/swappers/FyndSwapper/utils/fyndService.d.ts +5 -0
- package/dist/cjs/swappers/FyndSwapper/utils/fyndService.js +9 -0
- package/dist/cjs/swappers/FyndSwapper/utils/getFyndStepData.d.ts +25 -0
- package/dist/cjs/swappers/FyndSwapper/utils/getFyndStepData.js +48 -0
- package/dist/cjs/swappers/FyndSwapper/utils/getFyndTradeContext.d.ts +18 -0
- package/dist/cjs/swappers/FyndSwapper/utils/getFyndTradeContext.js +94 -0
- package/dist/cjs/swappers/FyndSwapper/utils/helpers.d.ts +24 -0
- package/dist/cjs/swappers/FyndSwapper/utils/helpers.js +174 -0
- package/dist/cjs/swappers/FyndSwapper/utils/helpers.test.d.ts +1 -0
- package/dist/cjs/swappers/FyndSwapper/utils/helpers.test.js +101 -0
- package/dist/cjs/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +0 -1
- package/dist/cjs/swappers/NearIntentsSwapper/constants.d.ts +1 -0
- package/dist/cjs/swappers/NearIntentsSwapper/constants.js +3 -1
- package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +10 -5
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers.js +1 -1
- package/dist/cjs/swappers/PortalsSwapper/endpoints.js +4 -1
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +1 -1
- package/dist/cjs/swappers/RelaySwapper/constant.d.ts +1 -1
- package/dist/cjs/swappers/RelaySwapper/constant.js +3 -2
- package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +3 -5
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.js +2 -1
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.d.ts +2 -3
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.js +46 -13
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.test.js +139 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayTradeContext.d.ts +1 -0
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayTradeContext.js +4 -0
- package/dist/cjs/swappers/RelaySwapper/utils/helpers.js +1 -2
- package/dist/cjs/swappers/RelaySwapper/utils/relayStatus.js +3 -3
- package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +1 -1
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +10 -8
- package/dist/cjs/swappers/SunioSwapper/endpoints.js +3 -63
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +3 -4
- package/dist/cjs/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +7 -1
- package/dist/cjs/swappers/SunioSwapper/types.d.ts +0 -3
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +11 -6
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.js +33 -30
- package/dist/cjs/swappers/SunioSwapper/utils/constants.d.ts +3 -3
- package/dist/cjs/swappers/SunioSwapper/utils/constants.js +5 -9
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.d.ts +8 -3
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.js +54 -20
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.test.js +177 -0
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioTradeContext.js +3 -2
- package/dist/cjs/swappers/SunioSwapper/utils/helpers.js +2 -1
- package/dist/cjs/swappers/SymbiosisSwapper/SymbiosisSwapper.d.ts +2 -0
- package/dist/cjs/swappers/SymbiosisSwapper/SymbiosisSwapper.js +8 -0
- package/dist/cjs/swappers/SymbiosisSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/SymbiosisSwapper/endpoints.js +66 -0
- package/dist/cjs/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.js +42 -0
- package/dist/cjs/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.js +34 -0
- package/dist/cjs/swappers/SymbiosisSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/SymbiosisSwapper/index.js +7 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/constants.d.ts +19 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/constants.js +64 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.d.ts +26 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.js +106 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.js +161 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.d.ts +17 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.js +146 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.d.ts +38 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.js +172 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.test.d.ts +1 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.test.js +151 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/symbiosisService.d.ts +5 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/symbiosisService.js +18 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/types.d.ts +83 -0
- package/dist/cjs/swappers/SymbiosisSwapper/utils/types.js +11 -0
- package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +3 -4
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +6 -1
- package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +15 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +7 -0
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +0 -2
- package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +0 -2
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.js +1 -1
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +1 -1
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +17 -20
- package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +31 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +24 -1
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +110 -0
- package/dist/cjs/swappers/ZrxSwapper/types.d.ts +2 -1
- package/dist/cjs/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.d.ts +1 -0
- package/dist/cjs/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.js +26 -0
- package/dist/cjs/types.d.ts +15 -13
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/utils/helpers.d.ts +1 -2
- package/dist/cjs/utils/helpers.js +8 -32
- package/dist/cjs/utils/helpers.test.js +6 -2
- package/dist/cjs/utils/thorchain/getThorStepData.js +32 -49
- package/dist/cjs/utils/thorchain/getThorStepData.tron.test.d.ts +1 -0
- package/dist/cjs/utils/thorchain/getThorStepData.tron.test.js +93 -0
- package/dist/cjs/utils/thorchain/index.d.ts +0 -1
- package/dist/cjs/utils/thorchain/index.js +1 -14
- package/dist/cjs/utils/tron/constants.d.ts +1 -0
- package/dist/cjs/utils/tron/constants.js +5 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.d.ts +27 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.js +64 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
- package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.js +157 -0
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.d.ts +2 -1
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.js +14 -48
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.test.d.ts +1 -0
- package/dist/cjs/utils/tron/getUnsignedTronTransaction.test.js +76 -0
- package/dist/cjs/utils/tron/index.d.ts +2 -0
- package/dist/cjs/utils/tron/index.js +2 -0
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/constants.js +15 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +1 -2
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +2 -1
- package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +21 -15
- package/dist/esm/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +1 -0
- package/dist/esm/swappers/BobGatewaySwapper/BobGatewaySwapper.js +11 -2
- package/dist/esm/swappers/BobGatewaySwapper/endpoints.js +5 -36
- package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +5 -10
- package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +1 -2
- package/dist/esm/swappers/BobGatewaySwapper/types.d.ts +3 -3
- package/dist/esm/swappers/BobGatewaySwapper/utils/constants.d.ts +3 -2
- package/dist/esm/swappers/BobGatewaySwapper/utils/constants.js +8 -7
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +2 -2
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +21 -25
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.d.ts +1 -0
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.js +115 -0
- package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +1 -2
- package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.d.ts +8 -11
- package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.js +13 -30
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +2 -5
- package/dist/esm/swappers/ButterSwap/types.d.ts +0 -11
- package/dist/esm/swappers/ButterSwap/utils/constants.d.ts +2 -0
- package/dist/esm/swappers/ButterSwap/utils/constants.js +3 -0
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +2 -3
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.js +42 -14
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.test.js +120 -17
- package/dist/esm/swappers/ButterSwap/utils/helpers.js +1 -2
- package/dist/esm/swappers/ButterSwap/xhr.js +3 -3
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +0 -2
- package/dist/esm/swappers/ChainflipSwapper/endpoints.js +3 -19
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +1 -2
- package/dist/esm/swappers/ChainflipSwapper/types.d.ts +1 -0
- package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +1 -1
- package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.js +32 -13
- package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/esm/swappers/FyndSwapper/FyndSwapper.d.ts +2 -0
- package/dist/esm/swappers/FyndSwapper/FyndSwapper.js +2 -0
- package/dist/esm/swappers/FyndSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/FyndSwapper/endpoints.js +11 -0
- package/dist/esm/swappers/FyndSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/FyndSwapper/getTradeQuote/getTradeQuote.js +39 -0
- package/dist/esm/swappers/FyndSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/FyndSwapper/getTradeRate/getTradeRate.js +30 -0
- package/dist/esm/swappers/FyndSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/FyndSwapper/index.js +2 -0
- package/dist/esm/swappers/FyndSwapper/types.d.ts +41 -0
- package/dist/esm/swappers/FyndSwapper/types.js +1 -0
- package/dist/esm/swappers/FyndSwapper/utils/constants.d.ts +33 -0
- package/dist/esm/swappers/FyndSwapper/utils/constants.js +35 -0
- package/dist/esm/swappers/FyndSwapper/utils/fetchFromFynd.d.ts +13 -0
- package/dist/esm/swappers/FyndSwapper/utils/fetchFromFynd.js +38 -0
- package/dist/esm/swappers/FyndSwapper/utils/fyndService.d.ts +5 -0
- package/dist/esm/swappers/FyndSwapper/utils/fyndService.js +3 -0
- package/dist/esm/swappers/FyndSwapper/utils/getFyndStepData.d.ts +25 -0
- package/dist/esm/swappers/FyndSwapper/utils/getFyndStepData.js +44 -0
- package/dist/esm/swappers/FyndSwapper/utils/getFyndTradeContext.d.ts +18 -0
- package/dist/esm/swappers/FyndSwapper/utils/getFyndTradeContext.js +90 -0
- package/dist/esm/swappers/FyndSwapper/utils/helpers.d.ts +24 -0
- package/dist/esm/swappers/FyndSwapper/utils/helpers.js +162 -0
- package/dist/esm/swappers/FyndSwapper/utils/helpers.test.d.ts +1 -0
- package/dist/esm/swappers/FyndSwapper/utils/helpers.test.js +99 -0
- package/dist/esm/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +0 -1
- package/dist/esm/swappers/NearIntentsSwapper/constants.d.ts +1 -0
- package/dist/esm/swappers/NearIntentsSwapper/constants.js +2 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +10 -5
- package/dist/esm/swappers/NearIntentsSwapper/utils/helpers.js +2 -2
- package/dist/esm/swappers/PortalsSwapper/endpoints.js +4 -1
- package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +2 -2
- package/dist/esm/swappers/RelaySwapper/constant.d.ts +1 -1
- package/dist/esm/swappers/RelaySwapper/constant.js +2 -1
- package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +3 -5
- package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.js +3 -2
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.d.ts +2 -3
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.js +46 -13
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.test.d.ts +1 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.test.js +137 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayTradeContext.d.ts +1 -0
- package/dist/esm/swappers/RelaySwapper/utils/getRelayTradeContext.js +5 -1
- package/dist/esm/swappers/RelaySwapper/utils/helpers.js +1 -2
- package/dist/esm/swappers/RelaySwapper/utils/relayStatus.js +3 -3
- package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +3 -3
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +10 -8
- package/dist/esm/swappers/SunioSwapper/endpoints.js +5 -65
- package/dist/esm/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +3 -4
- package/dist/esm/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +7 -1
- package/dist/esm/swappers/SunioSwapper/types.d.ts +0 -3
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +11 -6
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.js +31 -28
- package/dist/esm/swappers/SunioSwapper/utils/constants.d.ts +3 -3
- package/dist/esm/swappers/SunioSwapper/utils/constants.js +4 -8
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.d.ts +8 -3
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.js +52 -18
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.test.d.ts +1 -0
- package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.test.js +175 -0
- package/dist/esm/swappers/SunioSwapper/utils/getSunioTradeContext.js +2 -1
- package/dist/esm/swappers/SunioSwapper/utils/helpers.js +3 -2
- package/dist/esm/swappers/SymbiosisSwapper/SymbiosisSwapper.d.ts +2 -0
- package/dist/esm/swappers/SymbiosisSwapper/SymbiosisSwapper.js +5 -0
- package/dist/esm/swappers/SymbiosisSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/SymbiosisSwapper/endpoints.js +63 -0
- package/dist/esm/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.js +38 -0
- package/dist/esm/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.d.ts +4 -0
- package/dist/esm/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.js +30 -0
- package/dist/esm/swappers/SymbiosisSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/SymbiosisSwapper/index.js +2 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/constants.d.ts +19 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/constants.js +61 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.d.ts +26 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.js +102 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.d.ts +1 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.js +159 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.d.ts +17 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.js +139 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.d.ts +38 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.js +156 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.test.d.ts +1 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.test.js +149 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/symbiosisService.d.ts +5 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/symbiosisService.js +12 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/types.d.ts +83 -0
- package/dist/esm/swappers/SymbiosisSwapper/utils/types.js +8 -0
- package/dist/esm/swappers/ThorchainSwapper/endpoints.js +4 -5
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +1 -0
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +6 -1
- package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +15 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +7 -0
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +0 -2
- package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +0 -2
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.js +1 -1
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +1 -1
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +17 -20
- package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +29 -1
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +25 -2
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +108 -0
- package/dist/esm/swappers/ZrxSwapper/types.d.ts +2 -1
- package/dist/esm/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.d.ts +1 -0
- package/dist/esm/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.js +22 -0
- package/dist/esm/types.d.ts +15 -13
- package/dist/esm/types.js +2 -0
- package/dist/esm/utils/helpers.d.ts +1 -2
- package/dist/esm/utils/helpers.js +9 -33
- package/dist/esm/utils/helpers.test.js +6 -2
- package/dist/esm/utils/thorchain/getThorStepData.js +32 -49
- package/dist/esm/utils/thorchain/getThorStepData.tron.test.d.ts +1 -0
- package/dist/esm/utils/thorchain/getThorStepData.tron.test.js +91 -0
- package/dist/esm/utils/thorchain/index.d.ts +0 -1
- package/dist/esm/utils/thorchain/index.js +0 -1
- package/dist/esm/utils/tron/constants.d.ts +1 -0
- package/dist/esm/utils/tron/constants.js +2 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.d.ts +27 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.js +59 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
- package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.js +155 -0
- package/dist/esm/utils/tron/getUnsignedTronTransaction.d.ts +2 -1
- package/dist/esm/utils/tron/getUnsignedTronTransaction.js +14 -48
- package/dist/esm/utils/tron/getUnsignedTronTransaction.test.d.ts +1 -0
- package/dist/esm/utils/tron/getUnsignedTronTransaction.test.js +74 -0
- package/dist/esm/utils/tron/index.d.ts +2 -0
- package/dist/esm/utils/tron/index.js +2 -0
- package/package.json +8 -8
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +0 -14
- package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +0 -32
- package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +0 -12
- package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +0 -78
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +0 -2
- package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.js +0 -36
- package/dist/cjs/utils/thorchain/tron/getTronTransactionFees.d.ts +0 -2
- package/dist/cjs/utils/thorchain/tron/getTronTransactionFees.js +0 -68
- package/dist/cjs/utils/thorchain/tron/getUnsignedTronTransaction.d.ts +0 -3
- package/dist/cjs/utils/thorchain/tron/getUnsignedTronTransaction.js +0 -35
- package/dist/cjs/utils/thorchain/tron/index.d.ts +0 -2
- package/dist/cjs/utils/thorchain/tron/index.js +0 -18
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +0 -14
- package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +0 -28
- package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +0 -12
- package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +0 -74
- package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +0 -2
- package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.js +0 -32
- package/dist/esm/utils/thorchain/tron/getTronTransactionFees.d.ts +0 -2
- package/dist/esm/utils/thorchain/tron/getTronTransactionFees.js +0 -64
- package/dist/esm/utils/thorchain/tron/getUnsignedTronTransaction.d.ts +0 -3
- package/dist/esm/utils/thorchain/tron/getUnsignedTronTransaction.js +0 -31
- package/dist/esm/utils/thorchain/tron/index.d.ts +0 -2
- package/dist/esm/utils/thorchain/tron/index.js +0 -2
- /package/dist/cjs/swappers/SunioSwapper/utils/{fetchFromSunio.d.ts → fetchSunioQuote.d.ts} +0 -0
- /package/dist/cjs/swappers/SunioSwapper/utils/{fetchFromSunio.js → fetchSunioQuote.js} +0 -0
- /package/dist/esm/swappers/SunioSwapper/utils/{fetchFromSunio.d.ts → fetchSunioQuote.d.ts} +0 -0
- /package/dist/esm/swappers/SunioSwapper/utils/{fetchFromSunio.js → fetchSunioQuote.js} +0 -0
package/dist/cjs/constants.js
CHANGED
|
@@ -12,12 +12,14 @@ const CetusSwapper_1 = require("./swappers/CetusSwapper");
|
|
|
12
12
|
const ChainflipSwapper_1 = require("./swappers/ChainflipSwapper");
|
|
13
13
|
const CowSwapper_1 = require("./swappers/CowSwapper");
|
|
14
14
|
const DebridgeSwapper_1 = require("./swappers/DebridgeSwapper");
|
|
15
|
+
const FyndSwapper_1 = require("./swappers/FyndSwapper");
|
|
15
16
|
const MayachainSwapper_1 = require("./swappers/MayachainSwapper");
|
|
16
17
|
const NearIntentsSwapper_1 = require("./swappers/NearIntentsSwapper");
|
|
17
18
|
const PortalsSwapper_1 = require("./swappers/PortalsSwapper");
|
|
18
19
|
const RelaySwapper_1 = require("./swappers/RelaySwapper");
|
|
19
20
|
const StonfiSwapper_1 = require("./swappers/StonfiSwapper");
|
|
20
21
|
const SunioSwapper_1 = require("./swappers/SunioSwapper");
|
|
22
|
+
const SymbiosisSwapper_1 = require("./swappers/SymbiosisSwapper");
|
|
21
23
|
const ThorchainSwapper_1 = require("./swappers/ThorchainSwapper");
|
|
22
24
|
const ZrxSwapper_1 = require("./swappers/ZrxSwapper");
|
|
23
25
|
const types_1 = require("./types");
|
|
@@ -102,6 +104,14 @@ exports.swappers = {
|
|
|
102
104
|
...BobGatewaySwapper_1.bobGatewaySwapper,
|
|
103
105
|
...BobGatewaySwapper_1.bobGatewayApi,
|
|
104
106
|
},
|
|
107
|
+
[types_1.SwapperName.Symbiosis]: {
|
|
108
|
+
...SymbiosisSwapper_1.symbiosisSwapper,
|
|
109
|
+
...SymbiosisSwapper_1.symbiosisApi,
|
|
110
|
+
},
|
|
111
|
+
[types_1.SwapperName.Fynd]: {
|
|
112
|
+
...FyndSwapper_1.fyndSwapper,
|
|
113
|
+
...FyndSwapper_1.fyndApi,
|
|
114
|
+
},
|
|
105
115
|
[types_1.SwapperName.Test]: undefined,
|
|
106
116
|
};
|
|
107
117
|
const DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE = '0.002';
|
|
@@ -121,12 +131,15 @@ const DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
|
|
|
121
131
|
// deBridge API off-chain simulation overestimates output on some chains (e.g. SEI ~2.4%), so auto slippage (1%) is insufficient
|
|
122
132
|
const DEFAULT_DEBRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
|
|
123
133
|
const DEFAULT_BOB_GATEWAY_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
|
|
134
|
+
// Symbiosis splits the tolerance across up to three legs, and a destination leg over its share pays out the transit token instead of reverting
|
|
135
|
+
const DEFAULT_SYMBIOSIS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
|
|
124
136
|
const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
|
|
125
137
|
if (swapperName === undefined)
|
|
126
138
|
return DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
127
139
|
switch (swapperName) {
|
|
128
140
|
case types_1.SwapperName.Zrx:
|
|
129
141
|
case types_1.SwapperName.Bebop:
|
|
142
|
+
case types_1.SwapperName.Fynd:
|
|
130
143
|
case types_1.SwapperName.Test:
|
|
131
144
|
return DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
132
145
|
case types_1.SwapperName.CowSwap:
|
|
@@ -161,6 +174,8 @@ const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
|
|
|
161
174
|
return DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
162
175
|
case types_1.SwapperName.BobGateway:
|
|
163
176
|
return DEFAULT_BOB_GATEWAY_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
177
|
+
case types_1.SwapperName.Symbiosis:
|
|
178
|
+
return DEFAULT_SYMBIOSIS_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
164
179
|
default:
|
|
165
180
|
return (0, utils_1.assertUnreachable)(swapperName);
|
|
166
181
|
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -15,11 +15,13 @@ export * from './swappers/ChainflipSwapper';
|
|
|
15
15
|
export * from './swappers/SunioSwapper';
|
|
16
16
|
export * from './swappers/CowSwapper';
|
|
17
17
|
export * from './swappers/DebridgeSwapper';
|
|
18
|
+
export * from './swappers/FyndSwapper';
|
|
18
19
|
export * from './swappers/PortalsSwapper';
|
|
19
20
|
export * from './swappers/ThorchainSwapper';
|
|
20
21
|
export * from './swappers/MayachainSwapper';
|
|
21
22
|
export * from './swappers/ButterSwap';
|
|
22
23
|
export * from './swappers/RelaySwapper';
|
|
24
|
+
export * from './swappers/SymbiosisSwapper';
|
|
23
25
|
export * from './utils/helpers';
|
|
24
26
|
export * from './utils/thorchain';
|
|
25
27
|
export * from './types';
|
package/dist/cjs/index.js
CHANGED
|
@@ -44,11 +44,13 @@ __exportStar(require("./swappers/ChainflipSwapper"), exports);
|
|
|
44
44
|
__exportStar(require("./swappers/SunioSwapper"), exports);
|
|
45
45
|
__exportStar(require("./swappers/CowSwapper"), exports);
|
|
46
46
|
__exportStar(require("./swappers/DebridgeSwapper"), exports);
|
|
47
|
+
__exportStar(require("./swappers/FyndSwapper"), exports);
|
|
47
48
|
__exportStar(require("./swappers/PortalsSwapper"), exports);
|
|
48
49
|
__exportStar(require("./swappers/ThorchainSwapper"), exports);
|
|
49
50
|
__exportStar(require("./swappers/MayachainSwapper"), exports);
|
|
50
51
|
__exportStar(require("./swappers/ButterSwap"), exports);
|
|
51
52
|
__exportStar(require("./swappers/RelaySwapper"), exports);
|
|
53
|
+
__exportStar(require("./swappers/SymbiosisSwapper"), exports);
|
|
52
54
|
__exportStar(require("./utils/helpers"), exports);
|
|
53
55
|
__exportStar(require("./utils/thorchain"), exports);
|
|
54
56
|
__exportStar(require("./types"), exports);
|
|
@@ -4,7 +4,6 @@ exports.getTradeQuote = exports.getTradeQuoteWithWallet = void 0;
|
|
|
4
4
|
const hdwallet_core_1 = require("@shapeshiftoss/hdwallet-core");
|
|
5
5
|
const monads_1 = require("@sniptt/monads");
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
|
-
const helpers_1 = require("../../../utils/helpers");
|
|
8
7
|
const getArbitrumBridgeStepData_1 = require("../utils/getArbitrumBridgeStepData");
|
|
9
8
|
const getArbitrumBridgeTradeContext_1 = require("../utils/getArbitrumBridgeTradeContext");
|
|
10
9
|
const getTradeQuoteWithWallet = async (inputWithWallet, deps) => {
|
|
@@ -37,7 +36,6 @@ const getTradeQuote = async (input, deps) => {
|
|
|
37
36
|
const tradeQuote = {
|
|
38
37
|
...tradeCommon,
|
|
39
38
|
quoteOrRate: 'quote',
|
|
40
|
-
deadline: Date.now() + helpers_1.FALLBACK_QUOTE_DEADLINE_MS,
|
|
41
39
|
receiveAddress,
|
|
42
40
|
steps: [
|
|
43
41
|
{
|
|
@@ -5,7 +5,6 @@ const monads_1 = require("@sniptt/monads");
|
|
|
5
5
|
const starknet_1 = require("starknet");
|
|
6
6
|
const types_1 = require("../../../types");
|
|
7
7
|
const utils_1 = require("../../../utils");
|
|
8
|
-
const helpers_1 = require("../../../utils/helpers");
|
|
9
8
|
const getAvnuTradeContext_1 = require("../utils/getAvnuTradeContext");
|
|
10
9
|
const getTradeQuote = async (input, deps) => {
|
|
11
10
|
const { sellAsset, accountNumber } = input;
|
|
@@ -36,7 +35,7 @@ const getTradeQuote = async (input, deps) => {
|
|
|
36
35
|
...tradeCommon,
|
|
37
36
|
receiveAddress: normalizedReceiveAddress,
|
|
38
37
|
quoteOrRate: 'quote',
|
|
39
|
-
deadline
|
|
38
|
+
deadline,
|
|
40
39
|
steps: [
|
|
41
40
|
{
|
|
42
41
|
...stepCommon,
|
|
@@ -13,12 +13,13 @@ export declare const fetchBebopQuote: ({ buyAsset, sellAsset, sellAmountIncludin
|
|
|
13
13
|
affiliateBps?: string | undefined;
|
|
14
14
|
apiKey: string;
|
|
15
15
|
}) => Promise<Result<BebopQuoteResponse, SwapErrorRight>>;
|
|
16
|
-
export declare const fetchBebopSolanaQuote: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, apiKey, }: {
|
|
16
|
+
export declare const fetchBebopSolanaQuote: ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, affiliateBps, apiKey, }: {
|
|
17
17
|
buyAsset: Asset;
|
|
18
18
|
sellAsset: Asset;
|
|
19
19
|
sellAmountIncludingProtocolFeesCryptoBaseUnit: string;
|
|
20
20
|
takerAddress: string;
|
|
21
21
|
receiverAddress: string;
|
|
22
22
|
slippageTolerancePercentageDecimal: string;
|
|
23
|
+
affiliateBps?: string | undefined;
|
|
23
24
|
apiKey: string;
|
|
24
25
|
}) => Promise<Result<BebopSolanaQuoteResponse, SwapErrorRight>>;
|
|
@@ -11,6 +11,9 @@ const helpers_1 = require("../../../utils/helpers");
|
|
|
11
11
|
const types_2 = require("../types");
|
|
12
12
|
const bebopService_1 = require("./bebopService");
|
|
13
13
|
const helpers_2 = require("./helpers");
|
|
14
|
+
// PMM charges the fee set against our api key, which nets exactly this bps
|
|
15
|
+
const BEBOP_PMM_AFFILIATE_BPS = '60';
|
|
16
|
+
const isPmmEligible = (affiliateBps) => (0, utils_1.bnOrZero)(affiliateBps).eq(BEBOP_PMM_AFFILIATE_BPS);
|
|
14
17
|
const fetchBebopQuote = async ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, affiliateBps, apiKey, }) => {
|
|
15
18
|
try {
|
|
16
19
|
const sellToken = (0, helpers_2.assetIdToBebopToken)(sellAsset.assetId);
|
|
@@ -30,26 +33,24 @@ const fetchBebopQuote = async ({ buyAsset, sellAsset, sellAmountIncludingProtoco
|
|
|
30
33
|
approval_type: 'Standard',
|
|
31
34
|
skip_validation: 'true',
|
|
32
35
|
gasless: 'false',
|
|
33
|
-
// PMM fees are configured against our api key on Bebop's side, not sent per quote
|
|
34
36
|
source: 'shapeshift',
|
|
35
37
|
};
|
|
36
38
|
const jamParams = new URLSearchParams(baseParams);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
jamParams.set('fee', affiliateBps);
|
|
41
|
-
jamParams.set('fee_recipient', (0, viem_1.getAddress)((0, helpers_1.getTreasuryAddressFromChainId)(buyAsset.chainId)));
|
|
42
|
-
}
|
|
39
|
+
// Without an explicit fee JAM charges our api key's flat fee, so 1 bps is the lowest it can go
|
|
40
|
+
jamParams.set('fee', affiliateBps && (0, utils_1.bnOrZero)(affiliateBps).gt(0) ? affiliateBps : '1');
|
|
41
|
+
jamParams.set('fee_recipient', (0, viem_1.getAddress)((0, helpers_1.getTreasuryAddressFromChainId)(buyAsset.chainId)));
|
|
43
42
|
const service = (0, bebopService_1.bebopServiceFactory)({ apiKey });
|
|
44
|
-
const
|
|
43
|
+
const requests = [
|
|
45
44
|
service.get(`https://api.bebop.xyz/jam/${chainName}/v2/quote`, {
|
|
46
45
|
params: jamParams,
|
|
47
46
|
}),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
];
|
|
48
|
+
if (isPmmEligible(affiliateBps)) {
|
|
49
|
+
requests.push(service.get(`https://api.bebop.xyz/pmm/${chainName}/v3/quote`, {
|
|
50
|
+
params: new URLSearchParams(baseParams),
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
const maybeResponses = await Promise.all(requests);
|
|
53
54
|
if (maybeResponses.every(maybeResponse => maybeResponse.isErr())) {
|
|
54
55
|
return (0, monads_1.Err)((0, utils_2.makeSwapErrorRight)({
|
|
55
56
|
message: 'Failed to fetch quote from Bebop',
|
|
@@ -80,8 +81,14 @@ const fetchBebopQuote = async ({ buyAsset, sellAsset, sellAmountIncludingProtoco
|
|
|
80
81
|
}
|
|
81
82
|
};
|
|
82
83
|
exports.fetchBebopQuote = fetchBebopQuote;
|
|
83
|
-
const fetchBebopSolanaQuote = async ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, apiKey, }) => {
|
|
84
|
+
const fetchBebopSolanaQuote = async ({ buyAsset, sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, takerAddress, receiverAddress, slippageTolerancePercentageDecimal, affiliateBps, apiKey, }) => {
|
|
84
85
|
try {
|
|
86
|
+
if (!isPmmEligible(affiliateBps)) {
|
|
87
|
+
return (0, monads_1.Err)((0, utils_2.makeSwapErrorRight)({
|
|
88
|
+
message: 'Bebop Solana is PMM only and cannot take the requested bps',
|
|
89
|
+
code: types_1.TradeQuoteError.NoRouteFound,
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
85
92
|
// Bebop's Solana routes don't wrap native SOL on the input side, so selling native SOL
|
|
86
93
|
// always fails on-chain. Reject up front instead of returning an unexecutable quote.
|
|
87
94
|
if (sellAsset.assetId === caip_1.solAssetId) {
|
|
@@ -104,7 +111,6 @@ const fetchBebopSolanaQuote = async ({ buyAsset, sellAsset, sellAmountIncludingP
|
|
|
104
111
|
approval_type: 'Standard',
|
|
105
112
|
skip_validation: 'false',
|
|
106
113
|
gasless: 'true',
|
|
107
|
-
// Solana is PMM only, so its fees are configured against our api key on Bebop's side
|
|
108
114
|
source: 'shapeshift',
|
|
109
115
|
});
|
|
110
116
|
const maybeResponse = await (0, bebopService_1.bebopServiceFactory)({ apiKey }).get('https://api.bebop.xyz/pmm/solana/v3/quote', { params });
|
|
@@ -22,6 +22,7 @@ const getBebopSolanaTradeContext = async ({ input, deps, takerAddress, receiverA
|
|
|
22
22
|
takerAddress,
|
|
23
23
|
receiverAddress,
|
|
24
24
|
slippageTolerancePercentageDecimal,
|
|
25
|
+
affiliateBps,
|
|
25
26
|
apiKey: deps.config.VITE_BEBOP_API_KEY,
|
|
26
27
|
});
|
|
27
28
|
if (maybeBebopQuoteResponse.isErr())
|
|
@@ -2,8 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bobGatewaySwapper = void 0;
|
|
4
4
|
const utils_1 = require("../../utils");
|
|
5
|
+
const helpers_1 = require("./utils/helpers");
|
|
5
6
|
exports.bobGatewaySwapper = {
|
|
6
7
|
executeEvmTransaction: utils_1.executeEvmTransaction,
|
|
7
|
-
executeUtxoTransaction: (txToSign, {
|
|
8
|
+
executeUtxoTransaction: async (txToSign, { signTransaction }, context) => {
|
|
9
|
+
if (!signTransaction)
|
|
10
|
+
throw new Error('[BobGateway] signTransaction is required');
|
|
11
|
+
if (!context)
|
|
12
|
+
throw new Error('[BobGateway] execution context is required');
|
|
13
|
+
const { orderId } = (0, utils_1.getSwapMetadata)(context.swapperMetadata, 'bob');
|
|
14
|
+
const bitcoinTxHex = await signTransaction(txToSign);
|
|
15
|
+
return (0, helpers_1.submitBobGatewayBtcDeposit)({ config: context.config, orderId, bitcoinTxHex });
|
|
16
|
+
},
|
|
8
17
|
executeTronTransaction: utils_1.executeTronTransaction,
|
|
9
18
|
};
|
|
@@ -10,7 +10,6 @@ const utxo_1 = require("../../utils/utxo");
|
|
|
10
10
|
const getTradeQuote_1 = require("./swapperApi/getTradeQuote");
|
|
11
11
|
const getTradeRate_1 = require("./swapperApi/getTradeRate");
|
|
12
12
|
const helpers_1 = require("./utils/helpers");
|
|
13
|
-
const registeredSwapIds = new Set();
|
|
14
13
|
exports.bobGatewayApi = {
|
|
15
14
|
getTradeRate: (input, deps) => (0, getTradeRate_1.getBobGatewayTradeRate)(input, deps),
|
|
16
15
|
getTradeQuote: (input, deps) => (0, getTradeQuote_1.getBobGatewayTradeQuote)(input, deps),
|
|
@@ -18,42 +17,12 @@ exports.bobGatewayApi = {
|
|
|
18
17
|
getUtxoTransactionFees: utxo_1.getUtxoTransactionFees,
|
|
19
18
|
getUnsignedEvmTransaction: evm_1.getUnsignedEvmTransaction,
|
|
20
19
|
getEvmTransactionFees: evm_1.getEvmTransactionFees,
|
|
21
|
-
getUnsignedTronTransaction:
|
|
22
|
-
if (!(0, utils_1.isExecutableTradeQuote)(tradeQuote)) {
|
|
23
|
-
throw new Error('[BobGateway] unable to execute a trade rate');
|
|
24
|
-
}
|
|
25
|
-
const step = (0, utils_1.getExecutableTradeStep)(tradeQuote, stepIndex);
|
|
26
|
-
const { accountNumber, sellAsset, transactionData } = step;
|
|
27
|
-
if (transactionData?.type !== 'tron')
|
|
28
|
-
throw new Error('[BobGateway] invalid tron transaction');
|
|
29
|
-
const adapter = assertGetTronChainAdapter(sellAsset.chainId);
|
|
30
|
-
const { to, data, value } = transactionData;
|
|
31
|
-
return adapter.buildCustomApiTx({
|
|
32
|
-
accountNumber,
|
|
33
|
-
from,
|
|
34
|
-
to: (0, helpers_1.toTronBase58)(to),
|
|
35
|
-
value,
|
|
36
|
-
data,
|
|
37
|
-
});
|
|
38
|
-
},
|
|
20
|
+
getUnsignedTronTransaction: tron_1.getUnsignedTronTransaction,
|
|
39
21
|
getTronTransactionFees: tron_1.getTronTransactionFees,
|
|
40
|
-
checkTradeStatus: async ({ swap, config
|
|
22
|
+
checkTradeStatus: async ({ swap, config }) => {
|
|
41
23
|
if (!swap)
|
|
42
24
|
throw new Error('[BobGateway] swap is required for status check');
|
|
43
25
|
const { orderId } = (0, utils_1.getSwapMetadata)(swap.metadata.swapperMetadata, 'bob');
|
|
44
|
-
if (txHash && !registeredSwapIds.has(swap.id)) {
|
|
45
|
-
try {
|
|
46
|
-
await (0, helpers_1.registerBobGatewayTx)({
|
|
47
|
-
config,
|
|
48
|
-
orderId,
|
|
49
|
-
txHash,
|
|
50
|
-
sellAsset: swap.sellAsset,
|
|
51
|
-
buyAsset: swap.buyAsset,
|
|
52
|
-
});
|
|
53
|
-
registeredSwapIds.add(swap.id);
|
|
54
|
-
}
|
|
55
|
-
catch { }
|
|
56
|
-
}
|
|
57
26
|
let orderInfo;
|
|
58
27
|
try {
|
|
59
28
|
orderInfo = await (0, helpers_1.getBobGatewayClient)(config).getOrder(orderId);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getBobGatewayTradeQuote = void 0;
|
|
4
|
-
const
|
|
4
|
+
const caip_1 = require("@shapeshiftoss/caip");
|
|
5
5
|
const monads_1 = require("@sniptt/monads");
|
|
6
6
|
const utils_1 = require("../../../utils");
|
|
7
|
-
const helpers_1 = require("../../../utils/helpers");
|
|
8
7
|
const getBobGatewayStepData_1 = require("../utils/getBobGatewayStepData");
|
|
9
8
|
const getBobGatewayTradeContext_1 = require("../utils/getBobGatewayTradeContext");
|
|
10
9
|
const getBobGatewayTradeQuote = async (input, deps) => {
|
|
@@ -13,18 +12,15 @@ const getBobGatewayTradeQuote = async (input, deps) => {
|
|
|
13
12
|
if (maybeAddresses.isErr())
|
|
14
13
|
return (0, monads_1.Err)(maybeAddresses.unwrapErr());
|
|
15
14
|
const { sendAddress, receiveAddress } = maybeAddresses.unwrap();
|
|
16
|
-
const
|
|
17
|
-
// omit the sender for
|
|
18
|
-
|
|
19
|
-
const sender = isEvmSell ? sendAddress : undefined;
|
|
20
|
-
// utxo deposits are refunded on the sell chain, so refunds go to the sending address
|
|
21
|
-
const refundAddress = isEvmSell ? undefined : sendAddress;
|
|
15
|
+
const isBtcSell = sellAsset.chainId === caip_1.btcChainId;
|
|
16
|
+
// omit the sender for btc sells so the sdk doesn't build a psbt from a single address
|
|
17
|
+
const sender = isBtcSell ? undefined : sendAddress;
|
|
22
18
|
const maybeContext = await (0, getBobGatewayTradeContext_1.getBobGatewayTradeContext)({
|
|
23
19
|
input,
|
|
24
20
|
deps,
|
|
25
21
|
sender,
|
|
26
22
|
recipient: receiveAddress,
|
|
27
|
-
refundAddress,
|
|
23
|
+
refundAddress: sendAddress,
|
|
28
24
|
});
|
|
29
25
|
if (maybeContext.isErr())
|
|
30
26
|
return (0, monads_1.Err)(maybeContext.unwrapErr());
|
|
@@ -41,7 +37,6 @@ const getBobGatewayTradeQuote = async (input, deps) => {
|
|
|
41
37
|
const tradeQuote = {
|
|
42
38
|
...tradeCommon,
|
|
43
39
|
quoteOrRate: 'quote',
|
|
44
|
-
deadline: Date.now() + helpers_1.FALLBACK_QUOTE_DEADLINE_MS,
|
|
45
40
|
receiveAddress,
|
|
46
41
|
steps: [
|
|
47
42
|
{
|
|
@@ -11,8 +11,7 @@ const getBobGatewayTradeRate = async (input, deps) => {
|
|
|
11
11
|
const isBtcSell = sellAsset.chainId === caip_1.btcChainId;
|
|
12
12
|
const recipient = receiveAddress ?? (0, helpers_1.dummyAddressForChainId)(buyAsset.chainId);
|
|
13
13
|
const sender = isBtcSell ? undefined : (0, helpers_1.dummyAddressForChainId)(sellAsset.chainId);
|
|
14
|
-
|
|
15
|
-
const refundAddress = isBtcSell ? (0, helpers_1.dummyAddressForChainId)(sellAsset.chainId) : undefined;
|
|
14
|
+
const refundAddress = (0, helpers_1.dummyAddressForChainId)(sellAsset.chainId);
|
|
16
15
|
const maybeContext = await (0, getBobGatewayTradeContext_1.getBobGatewayTradeContext)({
|
|
17
16
|
input,
|
|
18
17
|
deps,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { GetEvmTradeQuoteInput, GetEvmTradeRateInput, GetUtxoTradeQuoteInput, GetUtxoTradeRateInput } from '../../types';
|
|
1
|
+
import type { GetEvmTradeQuoteInput, GetEvmTradeRateInput, GetTronTradeQuoteInput, GetTronTradeRateInput, GetUtxoTradeQuoteInput, GetUtxoTradeRateInput } from '../../types';
|
|
2
2
|
export type BobGatewayMetadata = {
|
|
3
3
|
name: 'bob';
|
|
4
4
|
orderId: string;
|
|
5
5
|
};
|
|
6
|
-
export type BobGatewayTradeQuoteInput = GetEvmTradeQuoteInput | GetUtxoTradeQuoteInput;
|
|
7
|
-
export type BobGatewayTradeRateInput = GetEvmTradeRateInput | GetUtxoTradeRateInput;
|
|
6
|
+
export type BobGatewayTradeQuoteInput = GetEvmTradeQuoteInput | GetUtxoTradeQuoteInput | GetTronTradeQuoteInput;
|
|
7
|
+
export type BobGatewayTradeRateInput = GetEvmTradeRateInput | GetUtxoTradeRateInput | GetTronTradeRateInput;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { ChainId } from '@shapeshiftoss/caip';
|
|
2
2
|
export declare const BOB_GATEWAY_BASE_URL = "https://gateway-api-mainnet.gobob.xyz";
|
|
3
3
|
export declare const chainIdToBobGatewayChainName: {
|
|
4
|
-
readonly [x: string]: "ethereum" | "polygon" | "arbitrum" | "base" | "avalanche" | "bsc" | "bob" | "plasma" | "bera" | "bitcoin" | "sei" | "sonic" | "unichain" | "
|
|
4
|
+
readonly [x: string]: "ethereum" | "polygon" | "arbitrum" | "base" | "avalanche" | "bsc" | "robinhood" | "bob" | "plasma" | "tron" | "bera" | "bitcoin" | "sei" | "sonic" | "unichain" | "hyperevm";
|
|
5
5
|
};
|
|
6
6
|
export declare const bobGatewayChainNameToChainId: Record<BobGatewayChainName, ChainId>;
|
|
7
7
|
export type BobGatewayChainName = (typeof chainIdToBobGatewayChainName)[keyof typeof chainIdToBobGatewayChainName];
|
|
8
8
|
export declare const DUMMY_EVM_ADDRESS: `0x${string}`;
|
|
9
9
|
export declare const DUMMY_BTC_ADDRESS = "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq";
|
|
10
|
-
export declare const DUMMY_TRON_ADDRESS = "TT2T17KZhoDu47i2E4FWxfG79zdkEWkU9N";
|
|
11
10
|
export declare const BOB_GATEWAY_TOKENSWAP_DEFAULT_GAS_LIMIT = "350000";
|
|
12
11
|
export declare const BOB_GATEWAY_OFFRAMP_DEFAULT_GAS_LIMIT = "550000";
|
|
12
|
+
export declare const BOB_GATEWAY_TRON_DEFAULT_ENERGY = "420000";
|
|
13
|
+
export declare const BOB_GATEWAY_TRON_DEFAULT_BANDWIDTH_BYTES = 4000;
|
|
13
14
|
export declare const decimalSlippageToBobBps: (slippageDecimal: string) => string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decimalSlippageToBobBps = exports.
|
|
3
|
+
exports.decimalSlippageToBobBps = exports.BOB_GATEWAY_TRON_DEFAULT_BANDWIDTH_BYTES = exports.BOB_GATEWAY_TRON_DEFAULT_ENERGY = exports.BOB_GATEWAY_OFFRAMP_DEFAULT_GAS_LIMIT = exports.BOB_GATEWAY_TOKENSWAP_DEFAULT_GAS_LIMIT = exports.DUMMY_BTC_ADDRESS = exports.DUMMY_EVM_ADDRESS = exports.bobGatewayChainNameToChainId = exports.chainIdToBobGatewayChainName = exports.BOB_GATEWAY_BASE_URL = void 0;
|
|
4
4
|
const caip_1 = require("@shapeshiftoss/caip");
|
|
5
5
|
exports.BOB_GATEWAY_BASE_URL = 'https://gateway-api-mainnet.gobob.xyz';
|
|
6
6
|
// Chain name strings expected by the BOB Gateway API
|
|
7
|
-
// https://gateway-api-mainnet.gobob.xyz/
|
|
7
|
+
// https://gateway-api-mainnet.gobob.xyz/v4/get-routes
|
|
8
8
|
exports.chainIdToBobGatewayChainName = {
|
|
9
9
|
[caip_1.arbitrumChainId]: 'arbitrum',
|
|
10
10
|
[caip_1.avalancheChainId]: 'avalanche',
|
|
@@ -19,15 +19,18 @@ exports.chainIdToBobGatewayChainName = {
|
|
|
19
19
|
[caip_1.unichainChainId]: 'unichain',
|
|
20
20
|
[caip_1.plasmaChainId]: 'plasma',
|
|
21
21
|
[caip_1.polygonChainId]: 'polygon',
|
|
22
|
-
[caip_1.hyperEvmChainId]: '
|
|
23
|
-
|
|
22
|
+
[caip_1.hyperEvmChainId]: 'hyperevm',
|
|
23
|
+
[caip_1.robinhoodChainId]: 'robinhood',
|
|
24
|
+
[caip_1.tronChainId]: 'tron',
|
|
24
25
|
};
|
|
25
26
|
exports.bobGatewayChainNameToChainId = Object.fromEntries(Object.entries(exports.chainIdToBobGatewayChainName).map(([chainId, chainName]) => [chainName, chainId]));
|
|
26
27
|
exports.DUMMY_EVM_ADDRESS = '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045';
|
|
27
28
|
exports.DUMMY_BTC_ADDRESS = 'bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq';
|
|
28
|
-
exports.DUMMY_TRON_ADDRESS = 'TT2T17KZhoDu47i2E4FWxfG79zdkEWkU9N';
|
|
29
29
|
exports.BOB_GATEWAY_TOKENSWAP_DEFAULT_GAS_LIMIT = '350000'; // EVM→EVM
|
|
30
30
|
exports.BOB_GATEWAY_OFFRAMP_DEFAULT_GAS_LIMIT = '550000'; // EVM→BTC
|
|
31
|
+
// AllowanceHolder exec measured on mainnet: rates price it before an order exists, token quotes without their allowance fall back to it
|
|
32
|
+
exports.BOB_GATEWAY_TRON_DEFAULT_ENERGY = '420000';
|
|
33
|
+
exports.BOB_GATEWAY_TRON_DEFAULT_BANDWIDTH_BYTES = 4000;
|
|
31
34
|
// https://docs.gobob.xyz/api-reference/v2/get-a-gateway-quote#parameter-slippage
|
|
32
35
|
const decimalSlippageToBobBps = (slippageDecimal) => {
|
|
33
36
|
return String(Math.round(parseFloat(slippageDecimal) * 10_000));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { GatewayQuoteV4 } from '@gobob/bob-sdk';
|
|
2
2
|
import type { Result } from '@sniptt/monads';
|
|
3
3
|
import type { StepDataArgs, SwapErrorRight, TxBuildData } from '../../../types';
|
|
4
4
|
type BaseArgs = {
|
|
5
|
-
quote:
|
|
5
|
+
quote: GatewayQuoteV4;
|
|
6
6
|
sellAmountCryptoBaseUnit: string;
|
|
7
7
|
spenderAddress: string;
|
|
8
8
|
};
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getBobGatewayStepData = void 0;
|
|
4
4
|
const caip_1 = require("@shapeshiftoss/caip");
|
|
5
|
-
const utils_1 = require("@shapeshiftoss/utils");
|
|
6
5
|
const monads_1 = require("@sniptt/monads");
|
|
7
6
|
const types_1 = require("../../../types");
|
|
8
|
-
const
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
9
8
|
const evm_1 = require("../../../utils/evm");
|
|
9
|
+
const tron_1 = require("../../../utils/tron");
|
|
10
10
|
const utxo_1 = require("../../../utils/utxo");
|
|
11
11
|
const constants_1 = require("./constants");
|
|
12
12
|
const helpers_1 = require("./helpers");
|
|
@@ -52,7 +52,7 @@ async function getBobGatewayStepData(args) {
|
|
|
52
52
|
}
|
|
53
53
|
const { orderResponse } = resolved;
|
|
54
54
|
if (!('onramp' in orderResponse))
|
|
55
|
-
return (0, monads_1.Err)((0,
|
|
55
|
+
return (0, monads_1.Err)((0, utils_1.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
|
|
56
56
|
const transactionData = {
|
|
57
57
|
type: 'utxo',
|
|
58
58
|
to: orderResponse.onramp.address,
|
|
@@ -75,7 +75,7 @@ async function getBobGatewayStepData(args) {
|
|
|
75
75
|
return (0, monads_1.Ok)(stepData);
|
|
76
76
|
}
|
|
77
77
|
catch (err) {
|
|
78
|
-
return (0, monads_1.Err)((0,
|
|
78
|
+
return (0, monads_1.Err)((0, utils_1.makeNetworkFeeEstimationFailedErr)('getBobGatewayStepData', err));
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
// EVM sells (offramp EVM → BTC, or tokenSwap EVM → Tron)
|
|
@@ -102,13 +102,13 @@ async function getBobGatewayStepData(args) {
|
|
|
102
102
|
}
|
|
103
103
|
const { orderResponse, from } = resolved;
|
|
104
104
|
if (!('offramp' in orderResponse) && !('tokenSwap' in orderResponse))
|
|
105
|
-
return (0, monads_1.Err)((0,
|
|
105
|
+
return (0, monads_1.Err)((0, utils_1.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
|
|
106
106
|
const order = 'offramp' in orderResponse ? orderResponse.offramp : orderResponse.tokenSwap;
|
|
107
107
|
if (order.tx.type !== 'evm')
|
|
108
|
-
return (0, monads_1.Err)((0,
|
|
108
|
+
return (0, monads_1.Err)((0, utils_1.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
|
|
109
109
|
const { tx, orderId } = order;
|
|
110
110
|
if (!('supportsEIP1559' in input))
|
|
111
|
-
return (0, monads_1.Err)((0,
|
|
111
|
+
return (0, monads_1.Err)((0, utils_1.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
|
|
112
112
|
const transactionData = {
|
|
113
113
|
type: 'evm',
|
|
114
114
|
chainId: Number((0, caip_1.fromChainId)(sellAsset.chainId).chainReference),
|
|
@@ -136,25 +136,23 @@ async function getBobGatewayStepData(args) {
|
|
|
136
136
|
return (0, monads_1.Ok)(stepData);
|
|
137
137
|
}
|
|
138
138
|
catch (err) {
|
|
139
|
-
return (0, monads_1.Err)((0,
|
|
139
|
+
return (0, monads_1.Err)((0, utils_1.makeNetworkFeeEstimationFailedErr)('getBobGatewayStepData', err));
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
// Tron sells (offramp Tron → BTC, or tokenSwap TRON → EVM)
|
|
143
143
|
case caip_1.CHAIN_NAMESPACE.Tron: {
|
|
144
144
|
const adapter = deps.assertGetTronChainAdapter(sellAsset.chainId);
|
|
145
|
-
const contractAddress = (0, utils_1.contractAddressOrUndefined)(sellAsset.assetId);
|
|
146
145
|
if (resolved.type === 'rate') {
|
|
146
|
+
// The gateway call isn't built until an order exists, so rates price a measured default
|
|
147
147
|
const networkFeeCryptoBaseUnit = await (async () => {
|
|
148
148
|
try {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
chainSpecific: { contractAddress },
|
|
149
|
+
return await (0, tron_1.getTronContractCallFallbackFeeCryptoBaseUnit)({
|
|
150
|
+
adapter,
|
|
151
|
+
energy: constants_1.BOB_GATEWAY_TRON_DEFAULT_ENERGY,
|
|
152
|
+
bandwidthBytes: constants_1.BOB_GATEWAY_TRON_DEFAULT_BANDWIDTH_BYTES,
|
|
153
|
+
contractAddress: spenderAddress,
|
|
154
|
+
fullEnergyOnShareLookupFailure: true,
|
|
156
155
|
});
|
|
157
|
-
return fast.txFee;
|
|
158
156
|
}
|
|
159
157
|
catch { }
|
|
160
158
|
})();
|
|
@@ -163,36 +161,34 @@ async function getBobGatewayStepData(args) {
|
|
|
163
161
|
}
|
|
164
162
|
const { orderResponse, from } = resolved;
|
|
165
163
|
if (!('offramp' in orderResponse) && !('tokenSwap' in orderResponse))
|
|
166
|
-
return (0, monads_1.Err)((0,
|
|
164
|
+
return (0, monads_1.Err)((0, utils_1.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
|
|
167
165
|
const order = 'offramp' in orderResponse ? orderResponse.offramp : orderResponse.tokenSwap;
|
|
168
166
|
if (order.tx.type !== 'tron')
|
|
169
|
-
return (0, monads_1.Err)((0,
|
|
167
|
+
return (0, monads_1.Err)((0, utils_1.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
|
|
170
168
|
const { tx, orderId } = order;
|
|
171
|
-
const
|
|
172
|
-
type: 'tron',
|
|
173
|
-
to: tx.to,
|
|
174
|
-
data: tx.data,
|
|
175
|
-
value: tx.value,
|
|
176
|
-
};
|
|
169
|
+
const call = { to: tx.to, data: tx.data, value: tx.value };
|
|
177
170
|
try {
|
|
178
|
-
const { fast } = await adapter.getFeeData({
|
|
179
|
-
to: (0, helpers_1.toTronBase58)(tx.to),
|
|
180
|
-
value: sellAmountCryptoBaseUnit,
|
|
181
|
-
chainSpecific: { from, contractAddress },
|
|
182
|
-
});
|
|
183
171
|
const stepData = {
|
|
184
172
|
orderId,
|
|
185
|
-
transactionData,
|
|
186
|
-
networkFeeCryptoBaseUnit:
|
|
173
|
+
transactionData: { type: 'tron', ...call },
|
|
174
|
+
networkFeeCryptoBaseUnit: await (0, tron_1.getTronContractCallNetworkFeeCryptoBaseUnit)({
|
|
175
|
+
adapter,
|
|
176
|
+
transactionData: call,
|
|
177
|
+
from,
|
|
178
|
+
sellAsset,
|
|
179
|
+
sellAmountCryptoBaseUnit,
|
|
180
|
+
spenderAddress,
|
|
181
|
+
fallbackEnergy: constants_1.BOB_GATEWAY_TRON_DEFAULT_ENERGY,
|
|
182
|
+
}),
|
|
187
183
|
};
|
|
188
184
|
return (0, monads_1.Ok)(stepData);
|
|
189
185
|
}
|
|
190
186
|
catch (err) {
|
|
191
|
-
return (0, monads_1.Err)((0,
|
|
187
|
+
return (0, monads_1.Err)((0, utils_1.makeNetworkFeeEstimationFailedErr)('getBobGatewayStepData', err));
|
|
192
188
|
}
|
|
193
189
|
}
|
|
194
190
|
default:
|
|
195
|
-
return (0, monads_1.Err)((0,
|
|
191
|
+
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
196
192
|
message: `[BobGateway] unsupported chain namespace: ${chainNamespace}`,
|
|
197
193
|
code: types_1.TradeQuoteError.UnsupportedChain,
|
|
198
194
|
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|