@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.
Files changed (361) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/constants.js +15 -0
  3. package/dist/cjs/index.d.ts +2 -0
  4. package/dist/cjs/index.js +2 -0
  5. package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
  6. package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +1 -2
  7. package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +2 -1
  8. package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +21 -15
  9. package/dist/cjs/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +1 -0
  10. package/dist/cjs/swappers/BobGatewaySwapper/BobGatewaySwapper.js +10 -1
  11. package/dist/cjs/swappers/BobGatewaySwapper/endpoints.js +2 -33
  12. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +5 -10
  13. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +1 -2
  14. package/dist/cjs/swappers/BobGatewaySwapper/types.d.ts +3 -3
  15. package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.d.ts +3 -2
  16. package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.js +8 -5
  17. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +2 -2
  18. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +30 -34
  19. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.d.ts +1 -0
  20. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.js +117 -0
  21. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +1 -2
  22. package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.d.ts +8 -11
  23. package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.js +36 -31
  24. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +2 -5
  25. package/dist/cjs/swappers/ButterSwap/types.d.ts +0 -11
  26. package/dist/cjs/swappers/ButterSwap/utils/constants.d.ts +2 -0
  27. package/dist/cjs/swappers/ButterSwap/utils/constants.js +4 -1
  28. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +2 -3
  29. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.js +42 -14
  30. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.test.js +120 -17
  31. package/dist/cjs/swappers/ButterSwap/utils/helpers.js +1 -2
  32. package/dist/cjs/swappers/ButterSwap/xhr.js +3 -3
  33. package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +0 -2
  34. package/dist/cjs/swappers/ChainflipSwapper/endpoints.js +3 -19
  35. package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +1 -2
  36. package/dist/cjs/swappers/ChainflipSwapper/types.d.ts +1 -0
  37. package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +1 -1
  38. package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.js +31 -12
  39. package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
  40. package/dist/cjs/swappers/FyndSwapper/FyndSwapper.d.ts +2 -0
  41. package/dist/cjs/swappers/FyndSwapper/FyndSwapper.js +5 -0
  42. package/dist/cjs/swappers/FyndSwapper/endpoints.d.ts +2 -0
  43. package/dist/cjs/swappers/FyndSwapper/endpoints.js +14 -0
  44. package/dist/cjs/swappers/FyndSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
  45. package/dist/cjs/swappers/FyndSwapper/getTradeQuote/getTradeQuote.js +43 -0
  46. package/dist/cjs/swappers/FyndSwapper/getTradeRate/getTradeRate.d.ts +4 -0
  47. package/dist/cjs/swappers/FyndSwapper/getTradeRate/getTradeRate.js +34 -0
  48. package/dist/cjs/swappers/FyndSwapper/index.d.ts +2 -0
  49. package/dist/cjs/swappers/FyndSwapper/index.js +7 -0
  50. package/dist/cjs/swappers/FyndSwapper/types.d.ts +41 -0
  51. package/dist/cjs/swappers/FyndSwapper/types.js +2 -0
  52. package/dist/cjs/swappers/FyndSwapper/utils/constants.d.ts +33 -0
  53. package/dist/cjs/swappers/FyndSwapper/utils/constants.js +38 -0
  54. package/dist/cjs/swappers/FyndSwapper/utils/fetchFromFynd.d.ts +13 -0
  55. package/dist/cjs/swappers/FyndSwapper/utils/fetchFromFynd.js +42 -0
  56. package/dist/cjs/swappers/FyndSwapper/utils/fyndService.d.ts +5 -0
  57. package/dist/cjs/swappers/FyndSwapper/utils/fyndService.js +9 -0
  58. package/dist/cjs/swappers/FyndSwapper/utils/getFyndStepData.d.ts +25 -0
  59. package/dist/cjs/swappers/FyndSwapper/utils/getFyndStepData.js +48 -0
  60. package/dist/cjs/swappers/FyndSwapper/utils/getFyndTradeContext.d.ts +18 -0
  61. package/dist/cjs/swappers/FyndSwapper/utils/getFyndTradeContext.js +94 -0
  62. package/dist/cjs/swappers/FyndSwapper/utils/helpers.d.ts +24 -0
  63. package/dist/cjs/swappers/FyndSwapper/utils/helpers.js +174 -0
  64. package/dist/cjs/swappers/FyndSwapper/utils/helpers.test.d.ts +1 -0
  65. package/dist/cjs/swappers/FyndSwapper/utils/helpers.test.js +101 -0
  66. package/dist/cjs/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +0 -1
  67. package/dist/cjs/swappers/NearIntentsSwapper/constants.d.ts +1 -0
  68. package/dist/cjs/swappers/NearIntentsSwapper/constants.js +3 -1
  69. package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +10 -5
  70. package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers.js +1 -1
  71. package/dist/cjs/swappers/PortalsSwapper/endpoints.js +4 -1
  72. package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +1 -1
  73. package/dist/cjs/swappers/RelaySwapper/constant.d.ts +1 -1
  74. package/dist/cjs/swappers/RelaySwapper/constant.js +3 -2
  75. package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +3 -5
  76. package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.js +2 -1
  77. package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.d.ts +2 -3
  78. package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.js +46 -13
  79. package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.test.d.ts +1 -0
  80. package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.test.js +139 -0
  81. package/dist/cjs/swappers/RelaySwapper/utils/getRelayTradeContext.d.ts +1 -0
  82. package/dist/cjs/swappers/RelaySwapper/utils/getRelayTradeContext.js +4 -0
  83. package/dist/cjs/swappers/RelaySwapper/utils/helpers.js +1 -2
  84. package/dist/cjs/swappers/RelaySwapper/utils/relayStatus.js +3 -3
  85. package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +1 -1
  86. package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +10 -8
  87. package/dist/cjs/swappers/SunioSwapper/endpoints.js +3 -63
  88. package/dist/cjs/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +3 -4
  89. package/dist/cjs/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +7 -1
  90. package/dist/cjs/swappers/SunioSwapper/types.d.ts +0 -3
  91. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +11 -6
  92. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapContractCall.js +33 -30
  93. package/dist/cjs/swappers/SunioSwapper/utils/constants.d.ts +3 -3
  94. package/dist/cjs/swappers/SunioSwapper/utils/constants.js +5 -9
  95. package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.d.ts +8 -3
  96. package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.js +54 -20
  97. package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.test.d.ts +1 -0
  98. package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.test.js +177 -0
  99. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTradeContext.js +3 -2
  100. package/dist/cjs/swappers/SunioSwapper/utils/helpers.js +2 -1
  101. package/dist/cjs/swappers/SymbiosisSwapper/SymbiosisSwapper.d.ts +2 -0
  102. package/dist/cjs/swappers/SymbiosisSwapper/SymbiosisSwapper.js +8 -0
  103. package/dist/cjs/swappers/SymbiosisSwapper/endpoints.d.ts +2 -0
  104. package/dist/cjs/swappers/SymbiosisSwapper/endpoints.js +66 -0
  105. package/dist/cjs/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
  106. package/dist/cjs/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.js +42 -0
  107. package/dist/cjs/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.d.ts +4 -0
  108. package/dist/cjs/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.js +34 -0
  109. package/dist/cjs/swappers/SymbiosisSwapper/index.d.ts +2 -0
  110. package/dist/cjs/swappers/SymbiosisSwapper/index.js +7 -0
  111. package/dist/cjs/swappers/SymbiosisSwapper/utils/constants.d.ts +19 -0
  112. package/dist/cjs/swappers/SymbiosisSwapper/utils/constants.js +64 -0
  113. package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.d.ts +26 -0
  114. package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.js +106 -0
  115. package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.d.ts +1 -0
  116. package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.js +161 -0
  117. package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.d.ts +17 -0
  118. package/dist/cjs/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.js +146 -0
  119. package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.d.ts +38 -0
  120. package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.js +172 -0
  121. package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.test.d.ts +1 -0
  122. package/dist/cjs/swappers/SymbiosisSwapper/utils/helpers.test.js +151 -0
  123. package/dist/cjs/swappers/SymbiosisSwapper/utils/symbiosisService.d.ts +5 -0
  124. package/dist/cjs/swappers/SymbiosisSwapper/utils/symbiosisService.js +18 -0
  125. package/dist/cjs/swappers/SymbiosisSwapper/utils/types.d.ts +83 -0
  126. package/dist/cjs/swappers/SymbiosisSwapper/utils/types.js +11 -0
  127. package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +3 -4
  128. package/dist/cjs/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +1 -0
  129. package/dist/cjs/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
  130. package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +6 -1
  131. package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +15 -0
  132. package/dist/cjs/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +7 -0
  133. package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +0 -2
  134. package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +0 -2
  135. package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.js +1 -1
  136. package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +1 -1
  137. package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +17 -20
  138. package/dist/cjs/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +31 -0
  139. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +24 -1
  140. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
  141. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +110 -0
  142. package/dist/cjs/swappers/ZrxSwapper/types.d.ts +2 -1
  143. package/dist/cjs/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.d.ts +1 -0
  144. package/dist/cjs/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.js +26 -0
  145. package/dist/cjs/types.d.ts +15 -13
  146. package/dist/cjs/types.js +2 -0
  147. package/dist/cjs/utils/helpers.d.ts +1 -2
  148. package/dist/cjs/utils/helpers.js +8 -32
  149. package/dist/cjs/utils/helpers.test.js +6 -2
  150. package/dist/cjs/utils/thorchain/getThorStepData.js +32 -49
  151. package/dist/cjs/utils/thorchain/getThorStepData.tron.test.d.ts +1 -0
  152. package/dist/cjs/utils/thorchain/getThorStepData.tron.test.js +93 -0
  153. package/dist/cjs/utils/thorchain/index.d.ts +0 -1
  154. package/dist/cjs/utils/thorchain/index.js +1 -14
  155. package/dist/cjs/utils/tron/constants.d.ts +1 -0
  156. package/dist/cjs/utils/tron/constants.js +5 -0
  157. package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.d.ts +27 -0
  158. package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.js +64 -0
  159. package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
  160. package/dist/cjs/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.js +157 -0
  161. package/dist/cjs/utils/tron/getUnsignedTronTransaction.d.ts +2 -1
  162. package/dist/cjs/utils/tron/getUnsignedTronTransaction.js +14 -48
  163. package/dist/cjs/utils/tron/getUnsignedTronTransaction.test.d.ts +1 -0
  164. package/dist/cjs/utils/tron/getUnsignedTronTransaction.test.js +76 -0
  165. package/dist/cjs/utils/tron/index.d.ts +2 -0
  166. package/dist/cjs/utils/tron/index.js +2 -0
  167. package/dist/esm/.tsbuildinfo +1 -1
  168. package/dist/esm/constants.js +15 -0
  169. package/dist/esm/index.d.ts +2 -0
  170. package/dist/esm/index.js +2 -0
  171. package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
  172. package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +1 -2
  173. package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +2 -1
  174. package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +21 -15
  175. package/dist/esm/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +1 -0
  176. package/dist/esm/swappers/BobGatewaySwapper/BobGatewaySwapper.js +11 -2
  177. package/dist/esm/swappers/BobGatewaySwapper/endpoints.js +5 -36
  178. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +5 -10
  179. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +1 -2
  180. package/dist/esm/swappers/BobGatewaySwapper/types.d.ts +3 -3
  181. package/dist/esm/swappers/BobGatewaySwapper/utils/constants.d.ts +3 -2
  182. package/dist/esm/swappers/BobGatewaySwapper/utils/constants.js +8 -7
  183. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +2 -2
  184. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +21 -25
  185. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.d.ts +1 -0
  186. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.test.js +115 -0
  187. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +1 -2
  188. package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.d.ts +8 -11
  189. package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.js +13 -30
  190. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +2 -5
  191. package/dist/esm/swappers/ButterSwap/types.d.ts +0 -11
  192. package/dist/esm/swappers/ButterSwap/utils/constants.d.ts +2 -0
  193. package/dist/esm/swappers/ButterSwap/utils/constants.js +3 -0
  194. package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +2 -3
  195. package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.js +42 -14
  196. package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.test.js +120 -17
  197. package/dist/esm/swappers/ButterSwap/utils/helpers.js +1 -2
  198. package/dist/esm/swappers/ButterSwap/xhr.js +3 -3
  199. package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +0 -2
  200. package/dist/esm/swappers/ChainflipSwapper/endpoints.js +3 -19
  201. package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +1 -2
  202. package/dist/esm/swappers/ChainflipSwapper/types.d.ts +1 -0
  203. package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +1 -1
  204. package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.js +32 -13
  205. package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +0 -2
  206. package/dist/esm/swappers/FyndSwapper/FyndSwapper.d.ts +2 -0
  207. package/dist/esm/swappers/FyndSwapper/FyndSwapper.js +2 -0
  208. package/dist/esm/swappers/FyndSwapper/endpoints.d.ts +2 -0
  209. package/dist/esm/swappers/FyndSwapper/endpoints.js +11 -0
  210. package/dist/esm/swappers/FyndSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
  211. package/dist/esm/swappers/FyndSwapper/getTradeQuote/getTradeQuote.js +39 -0
  212. package/dist/esm/swappers/FyndSwapper/getTradeRate/getTradeRate.d.ts +4 -0
  213. package/dist/esm/swappers/FyndSwapper/getTradeRate/getTradeRate.js +30 -0
  214. package/dist/esm/swappers/FyndSwapper/index.d.ts +2 -0
  215. package/dist/esm/swappers/FyndSwapper/index.js +2 -0
  216. package/dist/esm/swappers/FyndSwapper/types.d.ts +41 -0
  217. package/dist/esm/swappers/FyndSwapper/types.js +1 -0
  218. package/dist/esm/swappers/FyndSwapper/utils/constants.d.ts +33 -0
  219. package/dist/esm/swappers/FyndSwapper/utils/constants.js +35 -0
  220. package/dist/esm/swappers/FyndSwapper/utils/fetchFromFynd.d.ts +13 -0
  221. package/dist/esm/swappers/FyndSwapper/utils/fetchFromFynd.js +38 -0
  222. package/dist/esm/swappers/FyndSwapper/utils/fyndService.d.ts +5 -0
  223. package/dist/esm/swappers/FyndSwapper/utils/fyndService.js +3 -0
  224. package/dist/esm/swappers/FyndSwapper/utils/getFyndStepData.d.ts +25 -0
  225. package/dist/esm/swappers/FyndSwapper/utils/getFyndStepData.js +44 -0
  226. package/dist/esm/swappers/FyndSwapper/utils/getFyndTradeContext.d.ts +18 -0
  227. package/dist/esm/swappers/FyndSwapper/utils/getFyndTradeContext.js +90 -0
  228. package/dist/esm/swappers/FyndSwapper/utils/helpers.d.ts +24 -0
  229. package/dist/esm/swappers/FyndSwapper/utils/helpers.js +162 -0
  230. package/dist/esm/swappers/FyndSwapper/utils/helpers.test.d.ts +1 -0
  231. package/dist/esm/swappers/FyndSwapper/utils/helpers.test.js +99 -0
  232. package/dist/esm/swappers/MayachainSwapper/generated/generatedTradableAssetMap.json +0 -1
  233. package/dist/esm/swappers/NearIntentsSwapper/constants.d.ts +1 -0
  234. package/dist/esm/swappers/NearIntentsSwapper/constants.js +2 -0
  235. package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +10 -5
  236. package/dist/esm/swappers/NearIntentsSwapper/utils/helpers.js +2 -2
  237. package/dist/esm/swappers/PortalsSwapper/endpoints.js +4 -1
  238. package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +2 -2
  239. package/dist/esm/swappers/RelaySwapper/constant.d.ts +1 -1
  240. package/dist/esm/swappers/RelaySwapper/constant.js +2 -1
  241. package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +3 -5
  242. package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.js +3 -2
  243. package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.d.ts +2 -3
  244. package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.js +46 -13
  245. package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.test.d.ts +1 -0
  246. package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.test.js +137 -0
  247. package/dist/esm/swappers/RelaySwapper/utils/getRelayTradeContext.d.ts +1 -0
  248. package/dist/esm/swappers/RelaySwapper/utils/getRelayTradeContext.js +5 -1
  249. package/dist/esm/swappers/RelaySwapper/utils/helpers.js +1 -2
  250. package/dist/esm/swappers/RelaySwapper/utils/relayStatus.js +3 -3
  251. package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +3 -3
  252. package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +10 -8
  253. package/dist/esm/swappers/SunioSwapper/endpoints.js +5 -65
  254. package/dist/esm/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +3 -4
  255. package/dist/esm/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +7 -1
  256. package/dist/esm/swappers/SunioSwapper/types.d.ts +0 -3
  257. package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.d.ts +11 -6
  258. package/dist/esm/swappers/SunioSwapper/utils/buildSwapContractCall.js +31 -28
  259. package/dist/esm/swappers/SunioSwapper/utils/constants.d.ts +3 -3
  260. package/dist/esm/swappers/SunioSwapper/utils/constants.js +4 -8
  261. package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.d.ts +8 -3
  262. package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.js +52 -18
  263. package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.test.d.ts +1 -0
  264. package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.test.js +175 -0
  265. package/dist/esm/swappers/SunioSwapper/utils/getSunioTradeContext.js +2 -1
  266. package/dist/esm/swappers/SunioSwapper/utils/helpers.js +3 -2
  267. package/dist/esm/swappers/SymbiosisSwapper/SymbiosisSwapper.d.ts +2 -0
  268. package/dist/esm/swappers/SymbiosisSwapper/SymbiosisSwapper.js +5 -0
  269. package/dist/esm/swappers/SymbiosisSwapper/endpoints.d.ts +2 -0
  270. package/dist/esm/swappers/SymbiosisSwapper/endpoints.js +63 -0
  271. package/dist/esm/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.d.ts +4 -0
  272. package/dist/esm/swappers/SymbiosisSwapper/getTradeQuote/getTradeQuote.js +38 -0
  273. package/dist/esm/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.d.ts +4 -0
  274. package/dist/esm/swappers/SymbiosisSwapper/getTradeRate/getTradeRate.js +30 -0
  275. package/dist/esm/swappers/SymbiosisSwapper/index.d.ts +2 -0
  276. package/dist/esm/swappers/SymbiosisSwapper/index.js +2 -0
  277. package/dist/esm/swappers/SymbiosisSwapper/utils/constants.d.ts +19 -0
  278. package/dist/esm/swappers/SymbiosisSwapper/utils/constants.js +61 -0
  279. package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.d.ts +26 -0
  280. package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.js +102 -0
  281. package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.d.ts +1 -0
  282. package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisStepData.test.js +159 -0
  283. package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.d.ts +17 -0
  284. package/dist/esm/swappers/SymbiosisSwapper/utils/getSymbiosisTradeContext.js +139 -0
  285. package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.d.ts +38 -0
  286. package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.js +156 -0
  287. package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.test.d.ts +1 -0
  288. package/dist/esm/swappers/SymbiosisSwapper/utils/helpers.test.js +149 -0
  289. package/dist/esm/swappers/SymbiosisSwapper/utils/symbiosisService.d.ts +5 -0
  290. package/dist/esm/swappers/SymbiosisSwapper/utils/symbiosisService.js +12 -0
  291. package/dist/esm/swappers/SymbiosisSwapper/utils/types.d.ts +83 -0
  292. package/dist/esm/swappers/SymbiosisSwapper/utils/types.js +8 -0
  293. package/dist/esm/swappers/ThorchainSwapper/endpoints.js +4 -5
  294. package/dist/esm/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +1 -0
  295. package/dist/esm/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
  296. package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +6 -1
  297. package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.test.js +15 -0
  298. package/dist/esm/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +7 -0
  299. package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +0 -2
  300. package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +0 -2
  301. package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.js +1 -1
  302. package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.d.ts +1 -1
  303. package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.js +17 -20
  304. package/dist/esm/swappers/ThorchainSwapper/utils/getUniqueAddressSubstring/getUniqueAddressSubstring.test.js +29 -1
  305. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +25 -2
  306. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +1 -0
  307. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +108 -0
  308. package/dist/esm/swappers/ZrxSwapper/types.d.ts +2 -1
  309. package/dist/esm/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.d.ts +1 -0
  310. package/dist/esm/swappers/ZrxSwapper/utils/getZrxNativeCheckDeadline.js +22 -0
  311. package/dist/esm/types.d.ts +15 -13
  312. package/dist/esm/types.js +2 -0
  313. package/dist/esm/utils/helpers.d.ts +1 -2
  314. package/dist/esm/utils/helpers.js +9 -33
  315. package/dist/esm/utils/helpers.test.js +6 -2
  316. package/dist/esm/utils/thorchain/getThorStepData.js +32 -49
  317. package/dist/esm/utils/thorchain/getThorStepData.tron.test.d.ts +1 -0
  318. package/dist/esm/utils/thorchain/getThorStepData.tron.test.js +91 -0
  319. package/dist/esm/utils/thorchain/index.d.ts +0 -1
  320. package/dist/esm/utils/thorchain/index.js +0 -1
  321. package/dist/esm/utils/tron/constants.d.ts +1 -0
  322. package/dist/esm/utils/tron/constants.js +2 -0
  323. package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.d.ts +27 -0
  324. package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.js +59 -0
  325. package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.d.ts +1 -0
  326. package/dist/esm/utils/tron/getTronNetworkFeeCryptoBaseUnit.test.js +155 -0
  327. package/dist/esm/utils/tron/getUnsignedTronTransaction.d.ts +2 -1
  328. package/dist/esm/utils/tron/getUnsignedTronTransaction.js +14 -48
  329. package/dist/esm/utils/tron/getUnsignedTronTransaction.test.d.ts +1 -0
  330. package/dist/esm/utils/tron/getUnsignedTronTransaction.test.js +74 -0
  331. package/dist/esm/utils/tron/index.d.ts +2 -0
  332. package/dist/esm/utils/tron/index.js +2 -0
  333. package/package.json +8 -8
  334. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +0 -14
  335. package/dist/cjs/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +0 -32
  336. package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +0 -12
  337. package/dist/cjs/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +0 -78
  338. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +0 -2
  339. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.js +0 -36
  340. package/dist/cjs/utils/thorchain/tron/getTronTransactionFees.d.ts +0 -2
  341. package/dist/cjs/utils/thorchain/tron/getTronTransactionFees.js +0 -68
  342. package/dist/cjs/utils/thorchain/tron/getUnsignedTronTransaction.d.ts +0 -3
  343. package/dist/cjs/utils/thorchain/tron/getUnsignedTronTransaction.js +0 -35
  344. package/dist/cjs/utils/thorchain/tron/index.d.ts +0 -2
  345. package/dist/cjs/utils/thorchain/tron/index.js +0 -18
  346. package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.d.ts +0 -14
  347. package/dist/esm/swappers/SunioSwapper/utils/buildSwapRouteParameters.js +0 -28
  348. package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.d.ts +0 -12
  349. package/dist/esm/swappers/SunioSwapper/utils/estimateSunioNetworkFee.js +0 -74
  350. package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.d.ts +0 -2
  351. package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.js +0 -32
  352. package/dist/esm/utils/thorchain/tron/getTronTransactionFees.d.ts +0 -2
  353. package/dist/esm/utils/thorchain/tron/getTronTransactionFees.js +0 -64
  354. package/dist/esm/utils/thorchain/tron/getUnsignedTronTransaction.d.ts +0 -3
  355. package/dist/esm/utils/thorchain/tron/getUnsignedTronTransaction.js +0 -31
  356. package/dist/esm/utils/thorchain/tron/index.d.ts +0 -2
  357. package/dist/esm/utils/thorchain/tron/index.js +0 -2
  358. /package/dist/cjs/swappers/SunioSwapper/utils/{fetchFromSunio.d.ts → fetchSunioQuote.d.ts} +0 -0
  359. /package/dist/cjs/swappers/SunioSwapper/utils/{fetchFromSunio.js → fetchSunioQuote.js} +0 -0
  360. /package/dist/esm/swappers/SunioSwapper/utils/{fetchFromSunio.d.ts → fetchSunioQuote.d.ts} +0 -0
  361. /package/dist/esm/swappers/SunioSwapper/utils/{fetchFromSunio.js → fetchSunioQuote.js} +0 -0
@@ -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
  }
@@ -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: deadline ?? Date.now() + helpers_1.FALLBACK_QUOTE_DEADLINE_MS,
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
- const pmmParams = new URLSearchParams(baseParams);
38
- // JAM settles the fee on-chain, so it still takes our bps and a recipient per quote
39
- if (affiliateBps && affiliateBps !== '0') {
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 [maybeJam, maybePmm] = await Promise.all([
43
+ const requests = [
45
44
  service.get(`https://api.bebop.xyz/jam/${chainName}/v2/quote`, {
46
45
  params: jamParams,
47
46
  }),
48
- service.get(`https://api.bebop.xyz/pmm/${chainName}/v3/quote`, {
49
- params: pmmParams,
50
- }),
51
- ]);
52
- const maybeResponses = [maybeJam, maybePmm];
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, { signAndBroadcastTransaction }) => signAndBroadcastTransaction(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: ({ from, stepIndex, tradeQuote, assertGetTronChainAdapter }) => {
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, txHash }) => {
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 chain_adapters_1 = require("@shapeshiftoss/chain-adapters");
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 isEvmSell = (0, chain_adapters_1.isEvmChainId)(sellAsset.chainId);
17
- // omit the sender for utxo sells so order creation does not enforce a per-address confirmed
18
- // funds check (deposits are matched via op_return, not the sending address)
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
- // utxo deposits are refunded on the sell chain, so the refund address must be a btc address
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" | "hyperliquid";
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.BOB_GATEWAY_OFFRAMP_DEFAULT_GAS_LIMIT = exports.BOB_GATEWAY_TOKENSWAP_DEFAULT_GAS_LIMIT = exports.DUMMY_TRON_ADDRESS = exports.DUMMY_BTC_ADDRESS = exports.DUMMY_EVM_ADDRESS = exports.bobGatewayChainNameToChainId = exports.chainIdToBobGatewayChainName = exports.BOB_GATEWAY_BASE_URL = void 0;
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/v2/get-routes
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]: 'hyperliquid',
23
- // [tronChainId]: 'tron',
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 { GatewayQuoteV3 } from '@gobob/bob-sdk';
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: GatewayQuoteV3;
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 utils_2 = require("../../../utils");
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, utils_2.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
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, utils_2.makeNetworkFeeEstimationFailedErr)('getBobGatewayStepData', err));
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, utils_2.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
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, utils_2.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
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, utils_2.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
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, utils_2.makeNetworkFeeEstimationFailedErr)('getBobGatewayStepData', err));
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
- if (!('offramp' in quote) && !('tokenSwap' in quote))
150
- return;
151
- const order = 'offramp' in quote ? quote.offramp : quote.tokenSwap;
152
- const { fast } = await adapter.getFeeData({
153
- to: (0, helpers_1.toTronBase58)(order.txTo),
154
- value: order.inputAmount.amount,
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, utils_2.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
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, utils_2.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
167
+ return (0, monads_1.Err)((0, utils_1.makeTradeStepBuildFailedErr)('getBobGatewayStepData'));
170
168
  const { tx, orderId } = order;
171
- const transactionData = {
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: fast.txFee,
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, utils_2.makeNetworkFeeEstimationFailedErr)('getBobGatewayStepData', err));
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, utils_2.makeSwapErrorRight)({
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
  }));