@shapeshiftoss/swapper 20.3.0 → 20.5.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 +21 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/swappers/AcrossSwapper/utils/getAcrossStepData.js +7 -15
- package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/AvnuSwapper/endpoints.js +17 -12
- 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/BebopSwapper/utils/getBebopStepData.js +17 -22
- package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +1 -0
- package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.js +1 -0
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.js +3 -4
- package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.test.js +2 -2
- package/dist/cjs/swappers/CetusSwapper/endpoints.js +2 -3
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusStepData.js +13 -8
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusTradeContext.js +1 -2
- package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/CetusSwapper/utils/constants.d.ts +0 -1
- package/dist/cjs/swappers/CetusSwapper/utils/constants.js +1 -2
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.d.ts +3 -3
- package/dist/cjs/swappers/CetusSwapper/utils/helpers.js +6 -17
- package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +1 -2
- package/dist/cjs/swappers/ChainflipSwapper/types.d.ts +1 -0
- package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/cjs/swappers/DebridgeSwapper/utils/getDebridgeStepData.d.ts +0 -1
- package/dist/cjs/swappers/DebridgeSwapper/utils/getDebridgeStepData.js +9 -16
- package/dist/cjs/swappers/DebridgeSwapper/utils/getDebridgeTradeContext.js +0 -3
- 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 +46 -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/KyberSwapper/KyberSwapper.d.ts +2 -0
- package/dist/cjs/swappers/KyberSwapper/KyberSwapper.js +5 -0
- package/dist/cjs/swappers/KyberSwapper/endpoints.d.ts +2 -0
- package/dist/cjs/swappers/KyberSwapper/endpoints.js +14 -0
- package/dist/cjs/swappers/KyberSwapper/index.d.ts +2 -0
- package/dist/cjs/swappers/KyberSwapper/index.js +7 -0
- package/dist/cjs/swappers/KyberSwapper/swapperApi/getKyberTradeQuote.d.ts +4 -0
- package/dist/cjs/swappers/KyberSwapper/swapperApi/getKyberTradeQuote.js +64 -0
- package/dist/cjs/swappers/KyberSwapper/swapperApi/getKyberTradeRate.d.ts +4 -0
- package/dist/cjs/swappers/KyberSwapper/swapperApi/getKyberTradeRate.js +31 -0
- package/dist/cjs/swappers/KyberSwapper/types.d.ts +62 -0
- package/dist/cjs/swappers/KyberSwapper/types.js +2 -0
- package/dist/cjs/swappers/KyberSwapper/utils/constants.d.ts +21 -0
- package/dist/cjs/swappers/KyberSwapper/utils/constants.js +24 -0
- package/dist/cjs/swappers/KyberSwapper/utils/fetchFromKyber.d.ts +23 -0
- package/dist/cjs/swappers/KyberSwapper/utils/fetchFromKyber.js +38 -0
- package/dist/cjs/swappers/KyberSwapper/utils/getKyberStepData.d.ts +27 -0
- package/dist/cjs/swappers/KyberSwapper/utils/getKyberStepData.js +47 -0
- package/dist/cjs/swappers/KyberSwapper/utils/getKyberStepData.test.d.ts +1 -0
- package/dist/cjs/swappers/KyberSwapper/utils/getKyberStepData.test.js +92 -0
- package/dist/cjs/swappers/KyberSwapper/utils/getKyberTradeContext.d.ts +20 -0
- package/dist/cjs/swappers/KyberSwapper/utils/getKyberTradeContext.js +63 -0
- package/dist/cjs/swappers/KyberSwapper/utils/helpers.d.ts +27 -0
- package/dist/cjs/swappers/KyberSwapper/utils/helpers.js +172 -0
- package/dist/cjs/swappers/KyberSwapper/utils/helpers.test.d.ts +1 -0
- package/dist/cjs/swappers/KyberSwapper/utils/helpers.test.js +110 -0
- package/dist/cjs/swappers/KyberSwapper/utils/kyberService.d.ts +5 -0
- package/dist/cjs/swappers/KyberSwapper/utils/kyberService.js +9 -0
- package/dist/cjs/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +0 -1
- package/dist/cjs/swappers/NearIntentsSwapper/NearIntentsSwapper.js +1 -0
- package/dist/cjs/swappers/NearIntentsSwapper/endpoints.js +13 -14
- package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +1 -1
- package/dist/cjs/swappers/NearIntentsSwapper/types.d.ts +4 -4
- package/dist/cjs/swappers/NearIntentsSwapper/types.js +2 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +28 -0
- package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers.js +2 -2
- package/dist/cjs/swappers/PortalsSwapper/endpoints.js +4 -1
- package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +1 -1
- package/dist/cjs/swappers/PortalsSwapper/utils/getPortalsStepData.js +36 -55
- package/dist/cjs/swappers/PortalsSwapper/utils/getPortalsStepData.test.js +2 -2
- package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +2 -3
- package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.js +7 -15
- 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/relayStatus.js +3 -3
- package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +9 -4
- 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/generated/generatedThorLongtailTokens.json +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
- package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +2 -2
- package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.js +1 -1
- package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +27 -2
- 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/swappers/ZrxSwapper/utils/getZrxStepData.d.ts +3 -1
- package/dist/cjs/swappers/ZrxSwapper/utils/getZrxStepData.js +29 -10
- package/dist/cjs/types.d.ts +41 -12
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/utils/aptos/constants.d.ts +2 -0
- package/dist/cjs/utils/aptos/constants.js +7 -0
- package/dist/cjs/utils/aptos/getAptosTransactionFees.d.ts +2 -0
- package/dist/cjs/utils/aptos/getAptosTransactionFees.js +13 -0
- package/dist/cjs/utils/aptos/getUnsignedAptosTransaction.d.ts +2 -0
- package/dist/cjs/utils/aptos/getUnsignedAptosTransaction.js +16 -0
- package/dist/cjs/utils/aptos/index.d.ts +3 -0
- package/dist/cjs/utils/aptos/index.js +19 -0
- package/dist/cjs/utils/evm/getEvmNetworkFeeCryptoBaseUnit.d.ts +19 -6
- package/dist/cjs/utils/evm/getEvmNetworkFeeCryptoBaseUnit.js +45 -35
- package/dist/cjs/utils/evm/getEvmNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
- package/dist/cjs/utils/evm/getEvmNetworkFeeCryptoBaseUnit.test.js +103 -0
- package/dist/cjs/utils/evm/stateOverride.d.ts +3 -0
- package/dist/cjs/utils/evm/stateOverride.js +10 -4
- package/dist/cjs/utils/helpers.d.ts +1 -2
- package/dist/cjs/utils/helpers.js +9 -32
- package/dist/cjs/utils/helpers.test.js +7 -2
- package/dist/cjs/utils/index.d.ts +3 -2
- package/dist/cjs/utils/index.js +11 -27
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/constants.js +21 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/swappers/AcrossSwapper/utils/getAcrossStepData.js +8 -16
- package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/esm/swappers/AvnuSwapper/endpoints.js +18 -13
- 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/BebopSwapper/utils/getBebopStepData.js +18 -23
- package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +0 -2
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +0 -2
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +1 -0
- package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.js +1 -0
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.js +4 -5
- package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.test.js +2 -2
- package/dist/esm/swappers/CetusSwapper/endpoints.js +3 -4
- package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusStepData.js +13 -8
- package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusTradeContext.js +2 -3
- package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +0 -2
- package/dist/esm/swappers/CetusSwapper/utils/constants.d.ts +0 -1
- package/dist/esm/swappers/CetusSwapper/utils/constants.js +0 -1
- package/dist/esm/swappers/CetusSwapper/utils/helpers.d.ts +3 -3
- package/dist/esm/swappers/CetusSwapper/utils/helpers.js +4 -15
- package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +1 -2
- package/dist/esm/swappers/ChainflipSwapper/types.d.ts +1 -0
- package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
- package/dist/esm/swappers/DebridgeSwapper/utils/getDebridgeStepData.d.ts +0 -1
- package/dist/esm/swappers/DebridgeSwapper/utils/getDebridgeStepData.js +9 -16
- package/dist/esm/swappers/DebridgeSwapper/utils/getDebridgeTradeContext.js +0 -3
- 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 +42 -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/KyberSwapper/KyberSwapper.d.ts +2 -0
- package/dist/esm/swappers/KyberSwapper/KyberSwapper.js +2 -0
- package/dist/esm/swappers/KyberSwapper/endpoints.d.ts +2 -0
- package/dist/esm/swappers/KyberSwapper/endpoints.js +11 -0
- package/dist/esm/swappers/KyberSwapper/index.d.ts +2 -0
- package/dist/esm/swappers/KyberSwapper/index.js +2 -0
- package/dist/esm/swappers/KyberSwapper/swapperApi/getKyberTradeQuote.d.ts +4 -0
- package/dist/esm/swappers/KyberSwapper/swapperApi/getKyberTradeQuote.js +60 -0
- package/dist/esm/swappers/KyberSwapper/swapperApi/getKyberTradeRate.d.ts +4 -0
- package/dist/esm/swappers/KyberSwapper/swapperApi/getKyberTradeRate.js +27 -0
- package/dist/esm/swappers/KyberSwapper/types.d.ts +62 -0
- package/dist/esm/swappers/KyberSwapper/types.js +1 -0
- package/dist/esm/swappers/KyberSwapper/utils/constants.d.ts +21 -0
- package/dist/esm/swappers/KyberSwapper/utils/constants.js +21 -0
- package/dist/esm/swappers/KyberSwapper/utils/fetchFromKyber.d.ts +23 -0
- package/dist/esm/swappers/KyberSwapper/utils/fetchFromKyber.js +33 -0
- package/dist/esm/swappers/KyberSwapper/utils/getKyberStepData.d.ts +27 -0
- package/dist/esm/swappers/KyberSwapper/utils/getKyberStepData.js +43 -0
- package/dist/esm/swappers/KyberSwapper/utils/getKyberStepData.test.d.ts +1 -0
- package/dist/esm/swappers/KyberSwapper/utils/getKyberStepData.test.js +90 -0
- package/dist/esm/swappers/KyberSwapper/utils/getKyberTradeContext.d.ts +20 -0
- package/dist/esm/swappers/KyberSwapper/utils/getKyberTradeContext.js +59 -0
- package/dist/esm/swappers/KyberSwapper/utils/helpers.d.ts +27 -0
- package/dist/esm/swappers/KyberSwapper/utils/helpers.js +158 -0
- package/dist/esm/swappers/KyberSwapper/utils/helpers.test.d.ts +1 -0
- package/dist/esm/swappers/KyberSwapper/utils/helpers.test.js +108 -0
- package/dist/esm/swappers/KyberSwapper/utils/kyberService.d.ts +5 -0
- package/dist/esm/swappers/KyberSwapper/utils/kyberService.js +3 -0
- package/dist/esm/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +0 -1
- package/dist/esm/swappers/NearIntentsSwapper/NearIntentsSwapper.js +2 -1
- package/dist/esm/swappers/NearIntentsSwapper/endpoints.js +13 -14
- package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +1 -1
- package/dist/esm/swappers/NearIntentsSwapper/types.d.ts +4 -4
- package/dist/esm/swappers/NearIntentsSwapper/types.js +2 -0
- package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +29 -1
- 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/PortalsSwapper/utils/getPortalsStepData.js +34 -53
- package/dist/esm/swappers/PortalsSwapper/utils/getPortalsStepData.test.js +2 -2
- package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +2 -3
- package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.js +9 -17
- 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/relayStatus.js +3 -3
- package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +9 -4
- 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/generated/generatedThorLongtailTokens.json +1 -0
- package/dist/esm/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
- package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +2 -2
- package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.js +1 -1
- package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +28 -3
- 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/swappers/ZrxSwapper/utils/getZrxStepData.d.ts +3 -1
- package/dist/esm/swappers/ZrxSwapper/utils/getZrxStepData.js +31 -12
- package/dist/esm/types.d.ts +41 -12
- package/dist/esm/types.js +3 -0
- package/dist/esm/utils/aptos/constants.d.ts +2 -0
- package/dist/esm/utils/aptos/constants.js +4 -0
- package/dist/esm/utils/aptos/getAptosTransactionFees.d.ts +2 -0
- package/dist/esm/utils/aptos/getAptosTransactionFees.js +9 -0
- package/dist/esm/utils/aptos/getUnsignedAptosTransaction.d.ts +2 -0
- package/dist/esm/utils/aptos/getUnsignedAptosTransaction.js +12 -0
- package/dist/esm/utils/aptos/index.d.ts +3 -0
- package/dist/esm/utils/aptos/index.js +3 -0
- package/dist/esm/utils/evm/getEvmNetworkFeeCryptoBaseUnit.d.ts +19 -6
- package/dist/esm/utils/evm/getEvmNetworkFeeCryptoBaseUnit.js +42 -35
- package/dist/esm/utils/evm/getEvmNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
- package/dist/esm/utils/evm/getEvmNetworkFeeCryptoBaseUnit.test.js +101 -0
- package/dist/esm/utils/evm/stateOverride.d.ts +3 -0
- package/dist/esm/utils/evm/stateOverride.js +8 -3
- package/dist/esm/utils/helpers.d.ts +1 -2
- package/dist/esm/utils/helpers.js +10 -33
- package/dist/esm/utils/helpers.test.js +7 -2
- package/dist/esm/utils/index.d.ts +3 -2
- package/dist/esm/utils/index.js +9 -26
- package/package.json +10 -11
package/dist/cjs/constants.js
CHANGED
|
@@ -12,12 +12,15 @@ 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");
|
|
16
|
+
const KyberSwapper_1 = require("./swappers/KyberSwapper");
|
|
15
17
|
const MayachainSwapper_1 = require("./swappers/MayachainSwapper");
|
|
16
18
|
const NearIntentsSwapper_1 = require("./swappers/NearIntentsSwapper");
|
|
17
19
|
const PortalsSwapper_1 = require("./swappers/PortalsSwapper");
|
|
18
20
|
const RelaySwapper_1 = require("./swappers/RelaySwapper");
|
|
19
21
|
const StonfiSwapper_1 = require("./swappers/StonfiSwapper");
|
|
20
22
|
const SunioSwapper_1 = require("./swappers/SunioSwapper");
|
|
23
|
+
const SymbiosisSwapper_1 = require("./swappers/SymbiosisSwapper");
|
|
21
24
|
const ThorchainSwapper_1 = require("./swappers/ThorchainSwapper");
|
|
22
25
|
const ZrxSwapper_1 = require("./swappers/ZrxSwapper");
|
|
23
26
|
const types_1 = require("./types");
|
|
@@ -102,6 +105,18 @@ exports.swappers = {
|
|
|
102
105
|
...BobGatewaySwapper_1.bobGatewaySwapper,
|
|
103
106
|
...BobGatewaySwapper_1.bobGatewayApi,
|
|
104
107
|
},
|
|
108
|
+
[types_1.SwapperName.Symbiosis]: {
|
|
109
|
+
...SymbiosisSwapper_1.symbiosisSwapper,
|
|
110
|
+
...SymbiosisSwapper_1.symbiosisApi,
|
|
111
|
+
},
|
|
112
|
+
[types_1.SwapperName.Fynd]: {
|
|
113
|
+
...FyndSwapper_1.fyndSwapper,
|
|
114
|
+
...FyndSwapper_1.fyndApi,
|
|
115
|
+
},
|
|
116
|
+
[types_1.SwapperName.KyberSwap]: {
|
|
117
|
+
...KyberSwapper_1.kyberSwapper,
|
|
118
|
+
...KyberSwapper_1.kyberApi,
|
|
119
|
+
},
|
|
105
120
|
[types_1.SwapperName.Test]: undefined,
|
|
106
121
|
};
|
|
107
122
|
const DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE = '0.002';
|
|
@@ -121,12 +136,16 @@ const DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
|
|
|
121
136
|
// deBridge API off-chain simulation overestimates output on some chains (e.g. SEI ~2.4%), so auto slippage (1%) is insufficient
|
|
122
137
|
const DEFAULT_DEBRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
|
|
123
138
|
const DEFAULT_BOB_GATEWAY_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
|
|
139
|
+
// Symbiosis splits the tolerance across up to three legs, and a destination leg over its share pays out the transit token instead of reverting
|
|
140
|
+
const DEFAULT_SYMBIOSIS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
|
|
124
141
|
const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
|
|
125
142
|
if (swapperName === undefined)
|
|
126
143
|
return DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
127
144
|
switch (swapperName) {
|
|
128
145
|
case types_1.SwapperName.Zrx:
|
|
129
146
|
case types_1.SwapperName.Bebop:
|
|
147
|
+
case types_1.SwapperName.Fynd:
|
|
148
|
+
case types_1.SwapperName.KyberSwap:
|
|
130
149
|
case types_1.SwapperName.Test:
|
|
131
150
|
return DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
132
151
|
case types_1.SwapperName.CowSwap:
|
|
@@ -161,6 +180,8 @@ const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
|
|
|
161
180
|
return DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
162
181
|
case types_1.SwapperName.BobGateway:
|
|
163
182
|
return DEFAULT_BOB_GATEWAY_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
183
|
+
case types_1.SwapperName.Symbiosis:
|
|
184
|
+
return DEFAULT_SYMBIOSIS_SLIPPAGE_DECIMAL_PERCENTAGE;
|
|
164
185
|
default:
|
|
165
186
|
return (0, utils_1.assertUnreachable)(swapperName);
|
|
166
187
|
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -15,11 +15,14 @@ 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';
|
|
19
|
+
export * from './swappers/KyberSwapper';
|
|
18
20
|
export * from './swappers/PortalsSwapper';
|
|
19
21
|
export * from './swappers/ThorchainSwapper';
|
|
20
22
|
export * from './swappers/MayachainSwapper';
|
|
21
23
|
export * from './swappers/ButterSwap';
|
|
22
24
|
export * from './swappers/RelaySwapper';
|
|
25
|
+
export * from './swappers/SymbiosisSwapper';
|
|
23
26
|
export * from './utils/helpers';
|
|
24
27
|
export * from './utils/thorchain';
|
|
25
28
|
export * from './types';
|
package/dist/cjs/index.js
CHANGED
|
@@ -44,11 +44,14 @@ __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);
|
|
48
|
+
__exportStar(require("./swappers/KyberSwapper"), exports);
|
|
47
49
|
__exportStar(require("./swappers/PortalsSwapper"), exports);
|
|
48
50
|
__exportStar(require("./swappers/ThorchainSwapper"), exports);
|
|
49
51
|
__exportStar(require("./swappers/MayachainSwapper"), exports);
|
|
50
52
|
__exportStar(require("./swappers/ButterSwap"), exports);
|
|
51
53
|
__exportStar(require("./swappers/RelaySwapper"), exports);
|
|
54
|
+
__exportStar(require("./swappers/SymbiosisSwapper"), exports);
|
|
52
55
|
__exportStar(require("./utils/helpers"), exports);
|
|
53
56
|
__exportStar(require("./utils/thorchain"), exports);
|
|
54
57
|
__exportStar(require("./types"), exports);
|
|
@@ -21,7 +21,6 @@ async function getAcrossStepData(args) {
|
|
|
21
21
|
to: swapTx.to,
|
|
22
22
|
data: swapTx.data,
|
|
23
23
|
value: swapTx.value ?? '0',
|
|
24
|
-
gasLimit: swapTx.gas,
|
|
25
24
|
};
|
|
26
25
|
const stateOverride = {
|
|
27
26
|
sellAsset,
|
|
@@ -29,20 +28,12 @@ async function getAcrossStepData(args) {
|
|
|
29
28
|
spenderAddress,
|
|
30
29
|
};
|
|
31
30
|
if (type === 'rate') {
|
|
32
|
-
const networkFeeCryptoBaseUnit = await (
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
supportsEIP1559,
|
|
39
|
-
stateOverride,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return fallbackNetworkFeeCryptoBaseUnit;
|
|
44
|
-
}
|
|
45
|
-
})();
|
|
31
|
+
const networkFeeCryptoBaseUnit = await (0, evm_1.getEvmRateNetworkFeeCryptoBaseUnit)({
|
|
32
|
+
adapter,
|
|
33
|
+
supportsEIP1559,
|
|
34
|
+
providerGasLimit: swapTx.gas,
|
|
35
|
+
simulation: { transactionData, from, stateOverride },
|
|
36
|
+
}).catch(() => fallbackNetworkFeeCryptoBaseUnit);
|
|
46
37
|
const stepData = { networkFeeCryptoBaseUnit };
|
|
47
38
|
return (0, monads_1.Ok)(stepData);
|
|
48
39
|
}
|
|
@@ -53,6 +44,7 @@ async function getAcrossStepData(args) {
|
|
|
53
44
|
from,
|
|
54
45
|
supportsEIP1559,
|
|
55
46
|
stateOverride,
|
|
47
|
+
providerGasLimit: swapTx.gas,
|
|
56
48
|
});
|
|
57
49
|
const stepData = { transactionData, networkFeeCryptoBaseUnit };
|
|
58
50
|
return (0, monads_1.Ok)(stepData);
|
|
@@ -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
|
{
|
|
@@ -11,7 +11,7 @@ const helpers_1 = require("./utils/helpers");
|
|
|
11
11
|
exports.avnuApi = {
|
|
12
12
|
getTradeQuote: (input, deps) => (0, getTradeQuote_1.getTradeQuote)(input, deps),
|
|
13
13
|
getTradeRate: (input, deps) => (0, getTradeRate_1.getTradeRate)(input, deps),
|
|
14
|
-
getUnsignedStarknetTransaction: async ({ stepIndex, tradeQuote, from, slippageTolerancePercentageDecimal, assertGetStarknetChainAdapter, }) => {
|
|
14
|
+
getUnsignedStarknetTransaction: async ({ stepIndex, tradeQuote, from, callsOnly, slippageTolerancePercentageDecimal, assertGetStarknetChainAdapter, }) => {
|
|
15
15
|
if (!(0, utils_1.isExecutableTradeQuote)(tradeQuote))
|
|
16
16
|
throw new Error('Unable to execute a trade rate quote');
|
|
17
17
|
const step = (0, utils_1.getExecutableTradeStep)(tradeQuote, stepIndex);
|
|
@@ -37,19 +37,23 @@ exports.avnuApi = {
|
|
|
37
37
|
if (!avnuCalls || avnuCalls.length === 0) {
|
|
38
38
|
throw new Error('No swap calls returned from AVNU - quote may have expired');
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
// Format: [call_array_length, contract1, selector1, calldata_len1, ...calldata1, ...]
|
|
42
|
-
const fullCalldata = [avnuCalls.length.toString()];
|
|
43
|
-
for (const call of avnuCalls) {
|
|
40
|
+
const calls = avnuCalls.map(call => {
|
|
44
41
|
const rawCalldata = call.calldata ?? [];
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
const calldata = Array.isArray(rawCalldata) ? rawCalldata : starknet_1.CallData.compile(rawCalldata);
|
|
43
|
+
return {
|
|
44
|
+
contractAddress: (0, starknet_1.validateAndParseAddress)(call.contractAddress),
|
|
45
|
+
entrypoint: call.entrypoint,
|
|
46
|
+
calldata: calldata.map(String),
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
if (callsOnly) {
|
|
50
|
+
return {
|
|
51
|
+
addressNList: (0, chain_adapters_1.toAddressNList)(adapter.getBip44Params({ accountNumber })),
|
|
52
|
+
txHash: '',
|
|
53
|
+
calls,
|
|
54
|
+
};
|
|
50
55
|
}
|
|
51
|
-
|
|
52
|
-
const formattedCalldata = fullCalldata.map(helpers_1.toHexString);
|
|
56
|
+
const formattedCalldata = starknet_1.transaction.getExecuteCalldata(calls, '1').map(helpers_1.toHexString);
|
|
53
57
|
// Get nonce using adapter method (checks deployment status and returns appropriate nonce)
|
|
54
58
|
const chainIdHex = await adapter.getStarknetProvider().getChainId();
|
|
55
59
|
const nonce = await adapter.getNonce(normalizedFrom);
|
|
@@ -147,6 +151,7 @@ exports.avnuApi = {
|
|
|
147
151
|
return {
|
|
148
152
|
addressNList: (0, chain_adapters_1.toAddressNList)(adapter.getBip44Params({ accountNumber })),
|
|
149
153
|
txHash,
|
|
154
|
+
calls,
|
|
150
155
|
_txDetails: {
|
|
151
156
|
fromAddress: normalizedFrom,
|
|
152
157
|
calldata: formattedCalldata,
|
|
@@ -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())
|
|
@@ -11,41 +11,36 @@ async function getBebopStepData(args) {
|
|
|
11
11
|
const { tx, spenderAddress, sellAsset, sellAmountCryptoBaseUnit, type, input, from, deps } = args;
|
|
12
12
|
const adapter = deps.assertGetEvmChainAdapter(sellAsset.chainId);
|
|
13
13
|
const supportsEIP1559 = 'supportsEIP1559' in input ? input.supportsEIP1559 : false;
|
|
14
|
-
if (type === 'rate') {
|
|
15
|
-
const networkFeeCryptoBaseUnit = await (async () => {
|
|
16
|
-
try {
|
|
17
|
-
return await (0, evm_1.getEvmNetworkFeeCryptoBaseUnit)({
|
|
18
|
-
adapter,
|
|
19
|
-
supportsEIP1559,
|
|
20
|
-
gasLimit: (0, utils_1.bnOrZero)(tx.gas).toString(),
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
return (0, utils_1.bnOrZero)(tx.gas).times((0, utils_1.bnOrZero)(tx.gasPrice)).toFixed(0);
|
|
25
|
-
}
|
|
26
|
-
})();
|
|
27
|
-
const stepData = { networkFeeCryptoBaseUnit };
|
|
28
|
-
return (0, monads_1.Ok)(stepData);
|
|
29
|
-
}
|
|
30
14
|
const transactionData = {
|
|
31
15
|
type: 'evm',
|
|
32
16
|
chainId: Number((0, caip_1.fromChainId)(sellAsset.chainId).chainReference),
|
|
33
17
|
to: tx.to,
|
|
34
18
|
data: tx.data,
|
|
35
19
|
value: (0, viem_1.fromHex)(tx.value, 'bigint').toString(),
|
|
36
|
-
gasLimit: tx.gas?.toString(),
|
|
37
20
|
};
|
|
21
|
+
const stateOverride = {
|
|
22
|
+
sellAsset,
|
|
23
|
+
sellAmountCryptoBaseUnit,
|
|
24
|
+
spenderAddress,
|
|
25
|
+
};
|
|
26
|
+
if (type === 'rate') {
|
|
27
|
+
const networkFeeCryptoBaseUnit = await (0, evm_1.getEvmRateNetworkFeeCryptoBaseUnit)({
|
|
28
|
+
adapter,
|
|
29
|
+
supportsEIP1559,
|
|
30
|
+
providerGasLimit: tx.gas?.toString(),
|
|
31
|
+
simulation: { transactionData, from, stateOverride },
|
|
32
|
+
}).catch(() => (0, utils_1.bnOrZero)(tx.gas).times((0, utils_1.bnOrZero)(tx.gasPrice)).toFixed(0));
|
|
33
|
+
const stepData = { networkFeeCryptoBaseUnit };
|
|
34
|
+
return (0, monads_1.Ok)(stepData);
|
|
35
|
+
}
|
|
38
36
|
try {
|
|
39
37
|
const networkFeeCryptoBaseUnit = await (0, evm_1.getEvmNetworkFeeCryptoBaseUnit)({
|
|
40
38
|
adapter,
|
|
41
39
|
transactionData,
|
|
42
40
|
from,
|
|
43
41
|
supportsEIP1559,
|
|
44
|
-
stateOverride
|
|
45
|
-
|
|
46
|
-
sellAmountCryptoBaseUnit,
|
|
47
|
-
spenderAddress,
|
|
48
|
-
},
|
|
42
|
+
stateOverride,
|
|
43
|
+
providerGasLimit: tx.gas?.toString(),
|
|
49
44
|
});
|
|
50
45
|
const stepData = { transactionData, networkFeeCryptoBaseUnit };
|
|
51
46
|
return (0, monads_1.Ok)(stepData);
|
|
@@ -4,7 +4,6 @@ exports.getBobGatewayTradeQuote = void 0;
|
|
|
4
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) => {
|
|
@@ -38,7 +37,6 @@ const getBobGatewayTradeQuote = async (input, deps) => {
|
|
|
38
37
|
const tradeQuote = {
|
|
39
38
|
...tradeCommon,
|
|
40
39
|
quoteOrRate: 'quote',
|
|
41
|
-
deadline: Date.now() + helpers_1.FALLBACK_QUOTE_DEADLINE_MS,
|
|
42
40
|
receiveAddress,
|
|
43
41
|
steps: [
|
|
44
42
|
{
|
|
@@ -7,7 +7,6 @@ const monads_1 = require("@sniptt/monads");
|
|
|
7
7
|
const constants_1 = require("../../../constants");
|
|
8
8
|
const types_1 = require("../../../types");
|
|
9
9
|
const utils_2 = require("../../../utils");
|
|
10
|
-
const helpers_1 = require("../../../utils/helpers");
|
|
11
10
|
const getButterSwapStepData_1 = require("../utils/getButterSwapStepData");
|
|
12
11
|
const getButterSwapTradeContext_1 = require("../utils/getButterSwapTradeContext");
|
|
13
12
|
const xhr_1 = require("../xhr");
|
|
@@ -63,7 +62,6 @@ const getTradeQuote = async (input, deps) => {
|
|
|
63
62
|
const tradeQuote = {
|
|
64
63
|
...tradeCommon,
|
|
65
64
|
quoteOrRate: 'quote',
|
|
66
|
-
deadline: Date.now() + helpers_1.FALLBACK_QUOTE_DEADLINE_MS,
|
|
67
65
|
receiveAddress,
|
|
68
66
|
steps: [
|
|
69
67
|
{
|
|
@@ -56,6 +56,7 @@ const mockEvmChainAdapter = {
|
|
|
56
56
|
assertGetNearChainAdapter: () => vitest_1.vi.fn(),
|
|
57
57
|
assertGetStarknetChainAdapter: () => vitest_1.vi.fn(),
|
|
58
58
|
assertGetTonChainAdapter: () => vitest_1.vi.fn(),
|
|
59
|
+
assertGetAptosChainAdapter: () => vitest_1.vi.fn(),
|
|
59
60
|
config: {
|
|
60
61
|
VITE_BUTTERSWAP_CLIENT_ID: 'test',
|
|
61
62
|
},
|
|
@@ -36,6 +36,7 @@ const mockEvmChainAdapter = {
|
|
|
36
36
|
assertGetNearChainAdapter: () => vitest_1.vi.fn(),
|
|
37
37
|
assertGetStarknetChainAdapter: () => vitest_1.vi.fn(),
|
|
38
38
|
assertGetTonChainAdapter: () => vitest_1.vi.fn(),
|
|
39
|
+
assertGetAptosChainAdapter: () => vitest_1.vi.fn(),
|
|
39
40
|
config: {
|
|
40
41
|
VITE_BUTTERSWAP_CLIENT_ID: 'test',
|
|
41
42
|
},
|
|
@@ -28,10 +28,10 @@ async function getButterSwapStepData(args) {
|
|
|
28
28
|
if (args.type === 'rate') {
|
|
29
29
|
const networkFeeCryptoBaseUnit = await (async () => {
|
|
30
30
|
try {
|
|
31
|
-
return await (0, evm_1.
|
|
31
|
+
return await (0, evm_1.getEvmRateNetworkFeeCryptoBaseUnit)({
|
|
32
32
|
adapter,
|
|
33
33
|
supportsEIP1559,
|
|
34
|
-
|
|
34
|
+
providerGasLimit: (0, utils_1.bnOrZero)(route.gasEstimatedTarget).toFixed(),
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
catch {
|
|
@@ -55,13 +55,12 @@ async function getButterSwapStepData(args) {
|
|
|
55
55
|
supportsEIP1559,
|
|
56
56
|
transactionData,
|
|
57
57
|
from,
|
|
58
|
-
// Butter's gasEstimatedTarget lands short on chain (observed 24% under actual, causing
|
|
59
|
-
// in-flight OOG/SWAP_FAIL reverts) - estimate ourselves instead
|
|
60
58
|
stateOverride: {
|
|
61
59
|
sellAsset,
|
|
62
60
|
sellAmountCryptoBaseUnit,
|
|
63
61
|
spenderAddress,
|
|
64
62
|
},
|
|
63
|
+
providerGasLimit: (0, utils_1.bnOrZero)(route.gasEstimatedTarget).toFixed(),
|
|
65
64
|
});
|
|
66
65
|
const stepData = { transactionData, networkFeeCryptoBaseUnit };
|
|
67
66
|
return (0, monads_1.Ok)(stepData);
|
|
@@ -96,7 +96,7 @@ const evmQuoteInput = { supportsEIP1559: false };
|
|
|
96
96
|
});
|
|
97
97
|
// gasEstimatedTarget 1159118 is ignored - the tx carries the buffered on chain estimate
|
|
98
98
|
(0, vitest_1.expect)(actual.unwrap()).toEqual({
|
|
99
|
-
networkFeeCryptoBaseUnit: '
|
|
99
|
+
networkFeeCryptoBaseUnit: '600000000000000',
|
|
100
100
|
transactionData: {
|
|
101
101
|
type: 'evm',
|
|
102
102
|
chainId: 1,
|
|
@@ -123,7 +123,7 @@ const evmQuoteInput = { supportsEIP1559: false };
|
|
|
123
123
|
const { transactionData, networkFeeCryptoBaseUnit } = actual.unwrap();
|
|
124
124
|
// The buffered limit is set on the tx data in place, so the executable tx always carries one
|
|
125
125
|
(0, vitest_1.expect)(transactionData).toMatchObject({ gasLimit: '600000' });
|
|
126
|
-
(0, vitest_1.expect)(networkFeeCryptoBaseUnit).toBe('
|
|
126
|
+
(0, vitest_1.expect)(networkFeeCryptoBaseUnit).toBe('600000000000000');
|
|
127
127
|
});
|
|
128
128
|
(0, vitest_1.it)('errors rather than falling back to the provider fee when quote estimation fails', async () => {
|
|
129
129
|
const actual = await (0, getButterSwapStepData_1.getButterSwapStepData)({
|
|
@@ -11,7 +11,6 @@ const types_1 = require("../../types");
|
|
|
11
11
|
const utils_2 = require("../../utils");
|
|
12
12
|
const getTradeQuote_1 = require("./swapperApi/getTradeQuote");
|
|
13
13
|
const getTradeRate_1 = require("./swapperApi/getTradeRate");
|
|
14
|
-
const constants_2 = require("./utils/constants");
|
|
15
14
|
const helpers_1 = require("./utils/helpers");
|
|
16
15
|
exports.cetusApi = {
|
|
17
16
|
getTradeQuote: (input, deps) => (0, getTradeQuote_1.getTradeQuote)(input, deps),
|
|
@@ -23,12 +22,12 @@ exports.cetusApi = {
|
|
|
23
22
|
const { accountNumber, sellAsset, buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit } = step;
|
|
24
23
|
const adapter = assertGetSuiChainAdapter(sellAsset.chainId);
|
|
25
24
|
const rpcUrl = config.VITE_SUI_NODE_URL;
|
|
26
|
-
const client = (0, helpers_1.getAggregatorClient)(rpcUrl);
|
|
25
|
+
const client = (0, helpers_1.getAggregatorClient)(rpcUrl, from);
|
|
27
26
|
const suiClient = (0, helpers_1.getSuiClient)(rpcUrl);
|
|
28
27
|
const sellCoinType = (0, helpers_1.getCoinType)(sellAsset);
|
|
29
28
|
const buyCoinType = (0, helpers_1.getCoinType)(buyAsset);
|
|
30
29
|
// Exclude Pyth-dependent providers to avoid oracle failures
|
|
31
|
-
const providersWithoutPyth = (0, aggregator_sdk_1.getProvidersExcluding)(
|
|
30
|
+
const providersWithoutPyth = (0, aggregator_sdk_1.getProvidersExcluding)(aggregator_sdk_1.PYTH_ORACLE_BASED_DEXES);
|
|
32
31
|
const routerData = await (0, helpers_1.findBestRoute)(client, sellCoinType, buyCoinType, sellAmountIncludingProtocolFeesCryptoBaseUnit, providersWithoutPyth);
|
|
33
32
|
if (!routerData) {
|
|
34
33
|
throw new Error(`No route found for ${sellAsset.symbol}/${buyAsset.symbol}`);
|
|
@@ -8,9 +8,11 @@ const constants_1 = require("../../../constants");
|
|
|
8
8
|
const types_1 = require("../../../types");
|
|
9
9
|
const utils_2 = require("../../../utils");
|
|
10
10
|
const helpers_1 = require("../utils/helpers");
|
|
11
|
+
// The 0x0 dummy sender only holds dust SUI, so server-side gas selection exceeds the payment object limit
|
|
12
|
+
const UNFUNDED_SENDER_ERRORS = ['Insufficient balance of', 'maximum number of gas payment objects'];
|
|
11
13
|
async function getCetusStepData(args) {
|
|
12
14
|
const { routerData, rpcUrl, slippageTolerancePercentageDecimal, from } = args;
|
|
13
|
-
const client = (0, helpers_1.getAggregatorClient)(rpcUrl);
|
|
15
|
+
const client = (0, helpers_1.getAggregatorClient)(rpcUrl, from);
|
|
14
16
|
const suiClient = (0, helpers_1.getSuiClient)(rpcUrl);
|
|
15
17
|
const slippage = (0, utils_1.bnOrZero)(slippageTolerancePercentageDecimal ??
|
|
16
18
|
(0, constants_1.getDefaultSlippageDecimalPercentageForSwapper)(types_1.SwapperName.Cetus)).toNumber();
|
|
@@ -20,12 +22,14 @@ async function getCetusStepData(args) {
|
|
|
20
22
|
txb.setSender(from);
|
|
21
23
|
await client.fastRouterSwap({ router: routerData, slippage, txb, refreshAllCoins: true });
|
|
22
24
|
const transactionBytes = await txb.build({ client: suiClient });
|
|
23
|
-
const dryRunResult = await suiClient.
|
|
24
|
-
|
|
25
|
+
const dryRunResult = await suiClient.simulateTransaction({
|
|
26
|
+
transaction: transactionBytes,
|
|
27
|
+
include: { effects: true },
|
|
25
28
|
});
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
+
const { gasUsed } = (dryRunResult.Transaction ?? dryRunResult.FailedTransaction).effects;
|
|
30
|
+
const computationCost = BigInt(gasUsed.computationCost);
|
|
31
|
+
const storageCost = BigInt(gasUsed.storageCost);
|
|
32
|
+
const storageRebate = BigInt(gasUsed.storageRebate);
|
|
29
33
|
const netStorageCost = storageCost > storageRebate ? storageCost - storageRebate : 0n;
|
|
30
34
|
return (computationCost + netStorageCost).toString();
|
|
31
35
|
};
|
|
@@ -36,8 +40,9 @@ async function getCetusStepData(args) {
|
|
|
36
40
|
return (0, monads_1.Ok)(stepData);
|
|
37
41
|
}
|
|
38
42
|
catch (error) {
|
|
39
|
-
// Walletless rates have no coins to dry-run against - degrade to an unknown fee, but a real route/build error still fails
|
|
40
|
-
|
|
43
|
+
// Walletless rates have no usable coins to dry-run against - degrade to an unknown fee, but a real route/build error still fails
|
|
44
|
+
const errorMessage = error instanceof Error ? error.message : '';
|
|
45
|
+
if (UNFUNDED_SENDER_ERRORS.some(message => errorMessage.includes(message))) {
|
|
41
46
|
const stepData = { networkFeeCryptoBaseUnit: undefined };
|
|
42
47
|
return (0, monads_1.Ok)(stepData);
|
|
43
48
|
}
|
|
@@ -7,7 +7,6 @@ const uuid_1 = require("uuid");
|
|
|
7
7
|
const types_1 = require("../../../types");
|
|
8
8
|
const utils_1 = require("../../../utils");
|
|
9
9
|
const affiliateFee_1 = require("../../../utils/affiliateFee");
|
|
10
|
-
const constants_1 = require("../utils/constants");
|
|
11
10
|
const helpers_1 = require("../utils/helpers");
|
|
12
11
|
const getCetusTradeContext = async (input, deps) => {
|
|
13
12
|
const { sellAsset, buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit, affiliateBps } = input;
|
|
@@ -20,7 +19,7 @@ const getCetusTradeContext = async (input, deps) => {
|
|
|
20
19
|
const sellCoinType = (0, helpers_1.getCoinType)(sellAsset);
|
|
21
20
|
const buyCoinType = (0, helpers_1.getCoinType)(buyAsset);
|
|
22
21
|
// Exclude Pyth-dependent providers to avoid oracle failures
|
|
23
|
-
const providersWithoutPyth = (0, aggregator_sdk_1.getProvidersExcluding)(
|
|
22
|
+
const providersWithoutPyth = (0, aggregator_sdk_1.getProvidersExcluding)(aggregator_sdk_1.PYTH_ORACLE_BASED_DEXES);
|
|
24
23
|
const routerData = await (0, helpers_1.findBestRoute)(client, sellCoinType, buyCoinType, sellAmountIncludingProtocolFeesCryptoBaseUnit, providersWithoutPyth);
|
|
25
24
|
if (!routerData) {
|
|
26
25
|
return (0, monads_1.Err)((0, utils_1.makeSwapErrorRight)({
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getTradeQuote = void 0;
|
|
4
4
|
const monads_1 = require("@sniptt/monads");
|
|
5
5
|
const utils_1 = require("../../../utils");
|
|
6
|
-
const helpers_1 = require("../../../utils/helpers");
|
|
7
6
|
const getCetusStepData_1 = require("./getCetusStepData");
|
|
8
7
|
const getCetusTradeContext_1 = require("./getCetusTradeContext");
|
|
9
8
|
const getTradeQuote = async (input, deps) => {
|
|
@@ -28,7 +27,6 @@ const getTradeQuote = async (input, deps) => {
|
|
|
28
27
|
const tradeQuote = {
|
|
29
28
|
...tradeCommon,
|
|
30
29
|
quoteOrRate: 'quote',
|
|
31
|
-
deadline: Date.now() + helpers_1.FALLBACK_QUOTE_DEADLINE_MS,
|
|
32
30
|
receiveAddress,
|
|
33
31
|
steps: [
|
|
34
32
|
{
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ChainId } from '@shapeshiftoss/caip';
|
|
2
2
|
export declare const SUPPORTED_CETUS_CHAIN_IDS: readonly ChainId[];
|
|
3
3
|
export declare const isSupportedChainId: (chainId: ChainId) => chainId is ChainId;
|
|
4
|
-
export declare const PYTH_DEPENDENT_PROVIDERS: string[];
|
|
5
4
|
export declare const CETUS_FEE_ESTIMATE_DUMMY_ADDRESS = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CETUS_FEE_ESTIMATE_DUMMY_ADDRESS = exports.
|
|
3
|
+
exports.CETUS_FEE_ESTIMATE_DUMMY_ADDRESS = exports.isSupportedChainId = exports.SUPPORTED_CETUS_CHAIN_IDS = void 0;
|
|
4
4
|
const caip_1 = require("@shapeshiftoss/caip");
|
|
5
5
|
exports.SUPPORTED_CETUS_CHAIN_IDS = [caip_1.suiChainId];
|
|
6
6
|
const isSupportedChainId = (chainId) => {
|
|
7
7
|
return exports.SUPPORTED_CETUS_CHAIN_IDS.includes(chainId);
|
|
8
8
|
};
|
|
9
9
|
exports.isSupportedChainId = isSupportedChainId;
|
|
10
|
-
exports.PYTH_DEPENDENT_PROVIDERS = ['HAEDALPMM', 'HAEDALHMMV2', 'METASTABLE'];
|
|
11
10
|
// Placeholder sender for walletless rate fee estimation - dry-run needs a sender, real coins aren't required
|
|
12
11
|
exports.CETUS_FEE_ESTIMATE_DUMMY_ADDRESS = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { RouterDataV3 } from '@cetusprotocol/aggregator-sdk';
|
|
2
2
|
import { AggregatorClient } from '@cetusprotocol/aggregator-sdk';
|
|
3
|
-
import {
|
|
3
|
+
import { SuiGrpcClient } from '@mysten/sui/grpc';
|
|
4
4
|
import type { Asset } from '@shapeshiftoss/types';
|
|
5
5
|
import type { Result } from '@sniptt/monads';
|
|
6
6
|
import type { SwapErrorRight } from '../../../types';
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
7
|
+
export declare const getSuiClient: (rpcUrl: string) => SuiGrpcClient;
|
|
8
|
+
export declare const getAggregatorClient: (rpcUrl: string, signer?: string) => AggregatorClient;
|
|
9
9
|
export declare const assertValidTrade: ({ sellAsset, buyAsset, }: {
|
|
10
10
|
sellAsset: Asset;
|
|
11
11
|
buyAsset: Asset;
|