@shapeshiftoss/swapper 17.8.0 → 19.0.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 (1110) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/constants.js +33 -51
  3. package/dist/cjs/index.d.ts +9 -5
  4. package/dist/cjs/index.js +9 -5
  5. package/dist/cjs/swapper.d.ts +2 -2
  6. package/dist/cjs/swappers/AcrossSwapper/AcrossSwapper.js +3 -1
  7. package/dist/cjs/swappers/AcrossSwapper/constant.js +2 -1
  8. package/dist/cjs/swappers/AcrossSwapper/endpoints.js +11 -39
  9. package/dist/cjs/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.d.ts +3 -2
  10. package/dist/cjs/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.js +34 -22
  11. package/dist/cjs/swappers/AcrossSwapper/getTradeRate/getTradeRate.d.ts +3 -2
  12. package/dist/cjs/swappers/AcrossSwapper/getTradeRate/getTradeRate.js +27 -12
  13. package/dist/cjs/swappers/AcrossSwapper/index.d.ts +1 -0
  14. package/dist/cjs/swappers/AcrossSwapper/index.js +3 -1
  15. package/dist/cjs/swappers/AcrossSwapper/utils/acrossService.d.ts +6 -3
  16. package/dist/cjs/swappers/AcrossSwapper/utils/acrossService.js +5 -1
  17. package/dist/cjs/swappers/AcrossSwapper/utils/fetchAcrossTrade.js +1 -1
  18. package/dist/cjs/swappers/AcrossSwapper/utils/getAcrossStepData.d.ts +25 -0
  19. package/dist/cjs/swappers/AcrossSwapper/utils/getAcrossStepData.js +139 -0
  20. package/dist/cjs/swappers/AcrossSwapper/utils/getAcrossTradeContext.d.ts +18 -0
  21. package/dist/cjs/swappers/AcrossSwapper/utils/getAcrossTradeContext.js +184 -0
  22. package/dist/cjs/swappers/AcrossSwapper/utils/helpers.d.ts +12 -0
  23. package/dist/cjs/swappers/AcrossSwapper/utils/helpers.js +58 -0
  24. package/dist/cjs/swappers/AcrossSwapper/utils/types.d.ts +3 -22
  25. package/dist/cjs/swappers/ArbitrumBridgeSwapper/endpoints.d.ts +0 -11
  26. package/dist/cjs/swappers/ArbitrumBridgeSwapper/endpoints.js +7 -145
  27. package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.d.ts +4 -5
  28. package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +42 -75
  29. package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -3
  30. package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.js +26 -70
  31. package/dist/cjs/swappers/ArbitrumBridgeSwapper/index.d.ts +2 -0
  32. package/dist/cjs/swappers/ArbitrumBridgeSwapper/index.js +5 -0
  33. package/dist/cjs/swappers/ArbitrumBridgeSwapper/types.d.ts +3 -7
  34. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeStepData.d.ts +27 -0
  35. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeStepData.js +62 -0
  36. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeTradeContext.d.ts +13 -0
  37. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeTradeContext.js +51 -0
  38. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/helpers.d.ts +28 -8
  39. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/helpers.js +157 -36
  40. package/dist/cjs/swappers/AvnuSwapper/endpoints.js +9 -35
  41. package/dist/cjs/swappers/AvnuSwapper/index.d.ts +2 -0
  42. package/dist/cjs/swappers/AvnuSwapper/index.js +5 -1
  43. package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  44. package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +23 -122
  45. package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeRate.d.ts +3 -2
  46. package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeRate.js +41 -122
  47. package/dist/cjs/swappers/AvnuSwapper/types.d.ts +7 -0
  48. package/dist/cjs/swappers/AvnuSwapper/utils/getAvnuTradeContext.d.ts +15 -0
  49. package/dist/cjs/swappers/AvnuSwapper/utils/getAvnuTradeContext.js +107 -0
  50. package/dist/cjs/swappers/AvnuSwapper/utils/helpers.d.ts +11 -0
  51. package/dist/cjs/swappers/AvnuSwapper/utils/helpers.js +47 -1
  52. package/dist/cjs/swappers/BebopSwapper/endpoints.js +19 -63
  53. package/dist/cjs/swappers/BebopSwapper/executeSolanaMessage.js +2 -2
  54. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.d.ts +2 -3
  55. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.js +31 -72
  56. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.d.ts +2 -3
  57. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +20 -77
  58. package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.d.ts +2 -5
  59. package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +36 -111
  60. package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.d.ts +2 -5
  61. package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +25 -84
  62. package/dist/cjs/swappers/BebopSwapper/types.d.ts +9 -2
  63. package/dist/cjs/swappers/BebopSwapper/types.js +2 -0
  64. package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +2 -2
  65. package/dist/cjs/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.d.ts +15 -0
  66. package/dist/cjs/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +67 -0
  67. package/dist/cjs/swappers/BebopSwapper/utils/getBebopStepData.d.ts +24 -0
  68. package/dist/cjs/swappers/BebopSwapper/utils/getBebopStepData.js +57 -0
  69. package/dist/cjs/swappers/BebopSwapper/utils/getBebopTradeContext.d.ts +17 -0
  70. package/dist/cjs/swappers/BebopSwapper/utils/getBebopTradeContext.js +87 -0
  71. package/dist/cjs/swappers/BebopSwapper/utils/{helpers/helpers.d.ts → helpers.d.ts} +2 -3
  72. package/dist/cjs/swappers/BebopSwapper/utils/{helpers/helpers.js → helpers.js} +4 -8
  73. package/dist/cjs/swappers/BobGatewaySwapper/BobGatewaySwapper.js +1 -0
  74. package/dist/cjs/swappers/BobGatewaySwapper/endpoints.js +21 -80
  75. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.d.ts +3 -2
  76. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +29 -65
  77. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeRate.d.ts +3 -2
  78. package/dist/cjs/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +17 -55
  79. package/dist/cjs/swappers/BobGatewaySwapper/types.d.ts +5 -18
  80. package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.d.ts +2 -2
  81. package/dist/cjs/swappers/BobGatewaySwapper/utils/constants.js +6 -2
  82. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +24 -0
  83. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +201 -0
  84. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.d.ts +17 -0
  85. package/dist/cjs/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +68 -0
  86. package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.d.ts +10 -11
  87. package/dist/cjs/swappers/BobGatewaySwapper/utils/helpers.js +51 -100
  88. package/dist/cjs/swappers/ButterSwap/endpoints.js +13 -120
  89. package/dist/cjs/swappers/ButterSwap/index.d.ts +1 -0
  90. package/dist/cjs/swappers/ButterSwap/index.js +3 -0
  91. package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.js +3 -3
  92. package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.test.js +3 -3
  93. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.d.ts +3 -2
  94. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +42 -180
  95. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +35 -6
  96. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.d.ts +3 -2
  97. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.js +24 -122
  98. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.js +12 -3
  99. package/dist/cjs/swappers/ButterSwap/types.d.ts +14 -0
  100. package/dist/cjs/swappers/ButterSwap/utils/butterSwapHistoryService.js +1 -4
  101. package/dist/cjs/swappers/ButterSwap/utils/butterSwapService.js +1 -4
  102. package/dist/cjs/swappers/ButterSwap/utils/constants.js +3 -1
  103. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +32 -0
  104. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.js +199 -0
  105. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapStepData.test.js +265 -0
  106. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapTradeContext.d.ts +17 -0
  107. package/dist/cjs/swappers/ButterSwap/utils/getButterSwapTradeContext.js +111 -0
  108. package/dist/cjs/swappers/ButterSwap/utils/helpers.d.ts +11 -0
  109. package/dist/cjs/swappers/ButterSwap/utils/helpers.js +41 -9
  110. package/dist/cjs/swappers/ButterSwap/xhr.js +1 -1
  111. package/dist/cjs/swappers/CetusSwapper/endpoints.js +2 -6
  112. package/dist/cjs/swappers/CetusSwapper/index.d.ts +2 -0
  113. package/dist/cjs/swappers/CetusSwapper/index.js +5 -0
  114. package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusStepData.d.ts +24 -0
  115. package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusStepData.js +56 -0
  116. package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusTradeContext.d.ts +12 -0
  117. package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusTradeContext.js +83 -0
  118. package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  119. package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +35 -99
  120. package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.d.ts +3 -2
  121. package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.js +25 -96
  122. package/dist/cjs/swappers/CetusSwapper/types.d.ts +3 -0
  123. package/dist/cjs/swappers/CetusSwapper/utils/constants.d.ts +1 -0
  124. package/dist/cjs/swappers/CetusSwapper/utils/constants.js +3 -1
  125. package/dist/cjs/swappers/CetusSwapper/utils/helpers.d.ts +6 -0
  126. package/dist/cjs/swappers/CetusSwapper/utils/helpers.js +23 -1
  127. package/dist/cjs/swappers/ChainflipSwapper/constants.d.ts +1 -0
  128. package/dist/cjs/swappers/ChainflipSwapper/constants.js +3 -1
  129. package/dist/cjs/swappers/ChainflipSwapper/endpoints.js +28 -171
  130. package/dist/cjs/swappers/ChainflipSwapper/index.d.ts +2 -0
  131. package/dist/cjs/swappers/ChainflipSwapper/index.js +5 -0
  132. package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  133. package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +74 -128
  134. package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeRate.d.ts +4 -2
  135. package/dist/cjs/swappers/ChainflipSwapper/swapperApi/getTradeRate.js +33 -7
  136. package/dist/cjs/swappers/ChainflipSwapper/types.d.ts +7 -0
  137. package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +26 -0
  138. package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipStepData.js +186 -0
  139. package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipTradeContexts.d.ts +19 -0
  140. package/dist/cjs/swappers/ChainflipSwapper/utils/getChainflipTradeContexts.js +141 -0
  141. package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.d.ts +22 -2
  142. package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.js +101 -1
  143. package/dist/cjs/swappers/CowSwapper/CowSwapper.js +3 -3
  144. package/dist/cjs/swappers/CowSwapper/endpoints.js +29 -83
  145. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +3 -2
  146. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +33 -123
  147. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.d.ts +3 -2
  148. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +23 -121
  149. package/dist/cjs/swappers/CowSwapper/index.d.ts +2 -0
  150. package/dist/cjs/swappers/CowSwapper/index.js +5 -0
  151. package/dist/cjs/swappers/CowSwapper/types.d.ts +3 -0
  152. package/dist/cjs/swappers/CowSwapper/utils/getCowSwapStepData.d.ts +23 -0
  153. package/dist/cjs/swappers/CowSwapper/utils/getCowSwapStepData.js +38 -0
  154. package/dist/cjs/swappers/CowSwapper/utils/getCowSwapStepData.test.js +83 -0
  155. package/dist/cjs/swappers/CowSwapper/utils/getCowSwapTradeContext.d.ts +17 -0
  156. package/dist/cjs/swappers/CowSwapper/utils/getCowSwapTradeContext.js +138 -0
  157. package/dist/cjs/swappers/CowSwapper/utils/{helpers/helpers.d.ts → helpers.d.ts} +1 -1
  158. package/dist/cjs/swappers/CowSwapper/utils/{helpers/helpers.js → helpers.js} +2 -2
  159. package/dist/cjs/swappers/CowSwapper/utils/helpers.test.js +53 -0
  160. package/dist/cjs/swappers/DebridgeSwapper/constant.d.ts +1 -1
  161. package/dist/cjs/swappers/DebridgeSwapper/constant.js +11 -9
  162. package/dist/cjs/swappers/DebridgeSwapper/endpoints.js +16 -118
  163. package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.d.ts +3 -2
  164. package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +34 -22
  165. package/dist/cjs/swappers/DebridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -2
  166. package/dist/cjs/swappers/DebridgeSwapper/getTradeRate/getTradeRate.js +32 -12
  167. package/dist/cjs/swappers/DebridgeSwapper/index.d.ts +1 -0
  168. package/dist/cjs/swappers/DebridgeSwapper/index.js +3 -1
  169. package/dist/cjs/swappers/DebridgeSwapper/utils/getDebridgeStepData.d.ts +26 -0
  170. package/dist/cjs/swappers/DebridgeSwapper/utils/getDebridgeStepData.js +58 -0
  171. package/dist/cjs/swappers/DebridgeSwapper/utils/getDebridgeTradeContext.d.ts +17 -0
  172. package/dist/cjs/swappers/DebridgeSwapper/utils/getDebridgeTradeContext.js +200 -0
  173. package/dist/cjs/swappers/DebridgeSwapper/utils/helpers.d.ts +12 -0
  174. package/dist/cjs/swappers/DebridgeSwapper/utils/helpers.js +52 -0
  175. package/dist/cjs/swappers/DebridgeSwapper/utils/types.d.ts +7 -26
  176. package/dist/cjs/swappers/MayachainSwapper/endpoints.js +13 -56
  177. package/dist/cjs/swappers/MayachainSwapper/getTradeQuote.d.ts +3 -3
  178. package/dist/cjs/swappers/MayachainSwapper/getTradeQuote.js +3 -3
  179. package/dist/cjs/swappers/MayachainSwapper/getTradeRate.d.ts +3 -3
  180. package/dist/cjs/swappers/MayachainSwapper/getTradeRate.js +3 -3
  181. package/dist/cjs/swappers/MayachainSwapper/index.d.ts +2 -0
  182. package/dist/cjs/swappers/MayachainSwapper/index.js +5 -1
  183. package/dist/cjs/swappers/MayachainSwapper/utils/index.d.ts +1 -1
  184. package/dist/cjs/swappers/MayachainSwapper/utils/index.js +1 -1
  185. package/dist/cjs/swappers/NearIntentsSwapper/endpoints.js +38 -161
  186. package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  187. package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +69 -320
  188. package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.d.ts +3 -2
  189. package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +56 -376
  190. package/dist/cjs/swappers/NearIntentsSwapper/types.d.ts +8 -0
  191. package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.d.ts +23 -0
  192. package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +235 -0
  193. package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsTradeContext.d.ts +21 -0
  194. package/dist/cjs/swappers/NearIntentsSwapper/utils/getNearIntentsTradeContext.js +62 -0
  195. package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers.d.ts +40 -0
  196. package/dist/cjs/swappers/NearIntentsSwapper/utils/{helpers/helpers.js → helpers.js} +111 -16
  197. package/dist/cjs/swappers/PortalsSwapper/constants.d.ts +1 -0
  198. package/dist/cjs/swappers/PortalsSwapper/constants.js +5 -1
  199. package/dist/cjs/swappers/PortalsSwapper/endpoints.js +8 -50
  200. package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +3 -4
  201. package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +137 -210
  202. package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +3 -4
  203. package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +75 -190
  204. package/dist/cjs/swappers/PortalsSwapper/index.d.ts +2 -0
  205. package/dist/cjs/swappers/PortalsSwapper/index.js +5 -0
  206. package/dist/cjs/swappers/PortalsSwapper/types.d.ts +3 -0
  207. package/dist/cjs/swappers/PortalsSwapper/types.js +2 -1
  208. package/dist/cjs/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +9 -8
  209. package/dist/cjs/swappers/PortalsSwapper/utils/getPortalsStepData.d.ts +27 -0
  210. package/dist/cjs/swappers/PortalsSwapper/utils/getPortalsStepData.js +82 -0
  211. package/dist/cjs/swappers/PortalsSwapper/utils/getPortalsTradeContext.d.ts +25 -0
  212. package/dist/cjs/swappers/PortalsSwapper/utils/getPortalsTradeContext.js +83 -0
  213. package/dist/cjs/swappers/PortalsSwapper/utils/helpers.d.ts +26 -2
  214. package/dist/cjs/swappers/PortalsSwapper/utils/helpers.js +78 -6
  215. package/dist/cjs/swappers/RelaySwapper/constant.js +4 -3
  216. package/dist/cjs/swappers/RelaySwapper/endpoints.js +35 -125
  217. package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.d.ts +3 -2
  218. package/dist/cjs/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +43 -20
  219. package/dist/cjs/swappers/RelaySwapper/getTradeRate/getTradeRate.d.ts +4 -3
  220. package/dist/cjs/swappers/RelaySwapper/getTradeRate/getTradeRate.js +33 -11
  221. package/dist/cjs/swappers/RelaySwapper/index.d.ts +1 -0
  222. package/dist/cjs/swappers/RelaySwapper/index.js +3 -0
  223. package/dist/cjs/swappers/RelaySwapper/utils/fetchRelayTrade.d.ts +1 -1
  224. package/dist/cjs/swappers/RelaySwapper/utils/fetchRelayTrade.js +1 -1
  225. package/dist/cjs/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.js +3 -1
  226. package/dist/cjs/swappers/RelaySwapper/utils/getRelayAssetAddress.js +1 -1
  227. package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.d.ts +31 -0
  228. package/dist/cjs/swappers/RelaySwapper/utils/getRelayStepData.js +197 -0
  229. package/dist/cjs/swappers/RelaySwapper/utils/getRelayTradeContext.d.ts +22 -0
  230. package/dist/cjs/swappers/RelaySwapper/utils/getRelayTradeContext.js +310 -0
  231. package/dist/cjs/swappers/RelaySwapper/utils/helpers.d.ts +26 -0
  232. package/dist/cjs/swappers/RelaySwapper/utils/helpers.js +80 -0
  233. package/dist/cjs/swappers/RelaySwapper/utils/notifyTransactionIndexing.js +1 -1
  234. package/dist/cjs/swappers/RelaySwapper/utils/relayService.d.ts +6 -3
  235. package/dist/cjs/swappers/RelaySwapper/utils/relayService.js +3 -1
  236. package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +5 -0
  237. package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +9 -23
  238. package/dist/cjs/swappers/StonfiSwapper/endpoints.js +52 -69
  239. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  240. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeQuote.js +36 -122
  241. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeRate.d.ts +3 -2
  242. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeRate.js +24 -108
  243. package/dist/cjs/swappers/StonfiSwapper/types.d.ts +26 -29
  244. package/dist/cjs/swappers/StonfiSwapper/utils/constants.d.ts +1 -0
  245. package/dist/cjs/swappers/StonfiSwapper/utils/constants.js +2 -1
  246. package/dist/cjs/swappers/StonfiSwapper/utils/getStonfiStepData.d.ts +24 -0
  247. package/dist/cjs/swappers/StonfiSwapper/utils/getStonfiStepData.js +18 -0
  248. package/dist/cjs/swappers/StonfiSwapper/utils/getStonfiTradeContext.d.ts +15 -0
  249. package/dist/cjs/swappers/StonfiSwapper/utils/getStonfiTradeContext.js +101 -0
  250. package/dist/cjs/swappers/StonfiSwapper/utils/helpers.d.ts +20 -3
  251. package/dist/cjs/swappers/StonfiSwapper/utils/helpers.js +59 -29
  252. package/dist/cjs/swappers/SunioSwapper/endpoints.js +6 -13
  253. package/dist/cjs/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.d.ts +3 -2
  254. package/dist/cjs/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +39 -3
  255. package/dist/cjs/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.d.ts +3 -2
  256. package/dist/cjs/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +26 -3
  257. package/dist/cjs/swappers/SunioSwapper/types.d.ts +6 -0
  258. package/dist/cjs/swappers/SunioSwapper/utils/fetchFromSunio.js +1 -1
  259. package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.d.ts +21 -0
  260. package/dist/cjs/swappers/SunioSwapper/utils/getSunioStepData.js +43 -0
  261. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTradeContext.d.ts +15 -0
  262. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTradeContext.js +97 -0
  263. package/dist/cjs/swappers/SunioSwapper/utils/getSunioTransactionFees.js +1 -1
  264. package/dist/cjs/swappers/SunioSwapper/utils/helpers.d.ts +10 -0
  265. package/dist/cjs/swappers/SunioSwapper/utils/helpers.js +44 -0
  266. package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +18 -71
  267. package/dist/cjs/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +1 -0
  268. package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.d.ts +3 -3
  269. package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.js +12 -43
  270. package/dist/cjs/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +51 -31
  271. package/dist/cjs/swappers/ThorchainSwapper/getTradeRate/getTradeRate.d.ts +3 -3
  272. package/dist/cjs/swappers/ThorchainSwapper/getTradeRate/getTradeRate.js +12 -43
  273. package/dist/cjs/swappers/ThorchainSwapper/index.d.ts +2 -0
  274. package/dist/cjs/swappers/ThorchainSwapper/index.js +5 -1
  275. package/dist/cjs/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +7 -7
  276. package/dist/cjs/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.d.ts +18 -0
  277. package/dist/cjs/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +99 -0
  278. package/dist/cjs/swappers/ThorchainSwapper/utils/assertValidTrade.d.ts +12 -0
  279. package/dist/cjs/swappers/ThorchainSwapper/utils/assertValidTrade.js +45 -0
  280. package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.d.ts +3 -3
  281. package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +47 -96
  282. package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.d.ts +3 -3
  283. package/dist/cjs/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +16 -102
  284. package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.d.ts +3 -3
  285. package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailQuote.js +68 -45
  286. package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailRate.d.ts +3 -3
  287. package/dist/cjs/swappers/ThorchainSwapper/utils/getLongtailRate.js +19 -52
  288. package/dist/cjs/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.js +3 -3
  289. package/dist/cjs/swappers/ThorchainSwapper/utils/longTailHelpers.d.ts +2 -2
  290. package/dist/cjs/swappers/ThorchainSwapper/utils/longTailHelpers.js +6 -6
  291. package/dist/cjs/swappers/ThorchainSwapper/utils/test-data/responses.d.ts +1 -1
  292. package/dist/cjs/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.js +4 -0
  293. package/dist/cjs/swappers/ZrxSwapper/endpoints.js +5 -69
  294. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.d.ts +3 -5
  295. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +58 -88
  296. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.d.ts +3 -3
  297. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +32 -50
  298. package/dist/cjs/swappers/ZrxSwapper/index.d.ts +2 -0
  299. package/dist/cjs/swappers/ZrxSwapper/index.js +7 -0
  300. package/dist/cjs/swappers/ZrxSwapper/types.d.ts +4 -1
  301. package/dist/cjs/swappers/ZrxSwapper/types.js +1 -0
  302. package/dist/cjs/swappers/ZrxSwapper/utils/constants.js +1 -0
  303. package/dist/cjs/swappers/ZrxSwapper/utils/fetchFromZrx.js +2 -2
  304. package/dist/cjs/swappers/ZrxSwapper/utils/getZrxStepData.d.ts +23 -0
  305. package/dist/cjs/swappers/ZrxSwapper/utils/getZrxStepData.js +46 -0
  306. package/dist/cjs/swappers/ZrxSwapper/utils/getZrxTradeContext.d.ts +27 -0
  307. package/dist/cjs/swappers/ZrxSwapper/utils/getZrxTradeContext.js +59 -0
  308. package/dist/cjs/swappers/ZrxSwapper/utils/{helpers/helpers.d.ts → helpers.d.ts} +7 -4
  309. package/dist/cjs/swappers/ZrxSwapper/utils/{helpers/helpers.js → helpers.js} +14 -6
  310. package/dist/cjs/types.d.ts +140 -242
  311. package/dist/cjs/types.js +0 -1
  312. package/dist/cjs/{swappers/utils → utils}/affiliateFee.d.ts +1 -1
  313. package/dist/cjs/utils/cosmossdk/getCosmosSdkExecutionContext.d.ts +20 -0
  314. package/dist/cjs/utils/cosmossdk/getCosmosSdkExecutionContext.js +18 -0
  315. package/dist/cjs/utils/cosmossdk/getCosmosSdkTransactionFees.js +9 -0
  316. package/dist/cjs/utils/cosmossdk/getUnsignedCosmosSdkTransaction.d.ts +4 -0
  317. package/dist/cjs/utils/cosmossdk/getUnsignedCosmosSdkTransaction.js +36 -0
  318. package/dist/cjs/utils/cosmossdk/index.d.ts +3 -0
  319. package/dist/cjs/{thorchain-utils/solana → utils/cosmossdk}/index.js +3 -3
  320. package/dist/cjs/{cowswap-utils → utils/cowswap}/index.d.ts +1 -1
  321. package/dist/cjs/{cowswap-utils → utils/cowswap}/index.js +1 -1
  322. package/dist/cjs/utils/cowswap/index.test.js +29 -0
  323. package/dist/cjs/utils/evm/constants.d.ts +1 -0
  324. package/dist/cjs/utils/evm/constants.js +7 -0
  325. package/dist/cjs/utils/evm/getEvmExecutionContext.d.ts +27 -0
  326. package/dist/cjs/utils/evm/getEvmExecutionContext.js +29 -0
  327. package/dist/cjs/utils/evm/getEvmNetworkFeeCryptoBaseUnit.d.ts +22 -0
  328. package/dist/cjs/utils/evm/getEvmNetworkFeeCryptoBaseUnit.js +52 -0
  329. package/dist/cjs/utils/evm/getEvmTransactionFees.d.ts +2 -0
  330. package/dist/cjs/utils/evm/getEvmTransactionFees.js +9 -0
  331. package/dist/cjs/{thorchain-utils → utils}/evm/getUnsignedEvmTransaction.d.ts +2 -2
  332. package/dist/cjs/utils/evm/getUnsignedEvmTransaction.js +24 -0
  333. package/dist/cjs/utils/evm/index.d.ts +7 -0
  334. package/dist/cjs/{thorchain-utils → utils}/evm/index.js +6 -2
  335. package/dist/cjs/utils/evm/stateOverride.d.ts +17 -0
  336. package/dist/cjs/utils/evm/stateOverride.js +308 -0
  337. package/dist/{esm/utils/tenderly → cjs/utils/evm}/storageSlots.d.ts +3 -3
  338. package/dist/cjs/utils/{tenderly → evm}/storageSlots.js +8 -20
  339. package/dist/cjs/{swappers/utils/helpers → utils}/helpers.d.ts +2 -0
  340. package/dist/cjs/{swappers/utils/helpers → utils}/helpers.js +14 -1
  341. package/dist/cjs/utils/helpers.test.js +51 -0
  342. package/dist/{esm/utils.d.ts → cjs/utils/index.d.ts} +37 -6
  343. package/dist/cjs/{utils.js → utils/index.js} +52 -11
  344. package/dist/cjs/utils/solana/calculateAccountCreationCosts.d.ts +3 -0
  345. package/dist/cjs/utils/solana/calculateAccountCreationCosts.js +14 -0
  346. package/dist/cjs/utils/solana/computeBudgetInstructions.d.ts +13 -0
  347. package/dist/cjs/utils/solana/computeBudgetInstructions.js +28 -0
  348. package/dist/cjs/utils/solana/constants.d.ts +1 -0
  349. package/dist/cjs/utils/solana/constants.js +8 -0
  350. package/dist/cjs/utils/solana/getSolanaExecutionContext.d.ts +10 -0
  351. package/dist/cjs/utils/solana/getSolanaExecutionContext.js +15 -0
  352. package/dist/cjs/utils/solana/getSolanaNetworkFeeCryptoBaseUnit.d.ts +15 -0
  353. package/dist/cjs/utils/solana/getSolanaNetworkFeeCryptoBaseUnit.js +37 -0
  354. package/dist/cjs/utils/solana/getSolanaTransactionFees.d.ts +2 -0
  355. package/dist/cjs/utils/solana/getSolanaTransactionFees.js +18 -0
  356. package/dist/cjs/utils/solana/getUnsignedSolanaTransaction.d.ts +3 -0
  357. package/dist/cjs/utils/solana/getUnsignedSolanaTransaction.js +27 -0
  358. package/dist/cjs/utils/solana/index.d.ts +7 -0
  359. package/dist/cjs/utils/solana/index.js +23 -0
  360. package/dist/cjs/utils/solana/isSolanaTransactionOversized.d.ts +8 -0
  361. package/dist/cjs/utils/solana/isSolanaTransactionOversized.js +23 -0
  362. package/dist/cjs/utils/test-data/cryptoMarketDataById.d.ts +4 -0
  363. package/dist/cjs/{swappers/utils → utils}/test-data/setupSwapQuote.d.ts +2 -2
  364. package/dist/cjs/{swappers/utils → utils}/test-data/setupSwapQuote.js +2 -1
  365. package/dist/cjs/{thorchain-utils → utils/thorchain}/checkTradeStatus.d.ts +1 -1
  366. package/dist/cjs/{thorchain-utils → utils/thorchain}/checkTradeStatus.js +24 -6
  367. package/dist/cjs/{thorchain-utils → utils/thorchain}/getInboundAddressDataForChain.d.ts +1 -1
  368. package/dist/cjs/{thorchain-utils → utils/thorchain}/getInboundAddressDataForChain.js +2 -2
  369. package/dist/cjs/{thorchain-utils → utils/thorchain}/getPoolDetails.d.ts +2 -2
  370. package/dist/cjs/{thorchain-utils → utils/thorchain}/getPoolDetails.js +1 -1
  371. package/dist/cjs/{thorchain-utils → utils/thorchain}/getQuote.d.ts +1 -1
  372. package/dist/cjs/{thorchain-utils → utils/thorchain}/getQuote.js +2 -2
  373. package/dist/cjs/utils/thorchain/getThorL1TradeContexts.d.ts +18 -0
  374. package/dist/cjs/utils/thorchain/getThorL1TradeContexts.js +200 -0
  375. package/dist/cjs/utils/thorchain/getThorL1TradeQuote.d.ts +4 -0
  376. package/dist/cjs/utils/thorchain/getThorL1TradeQuote.js +76 -0
  377. package/dist/cjs/utils/thorchain/getThorL1TradeRate.d.ts +4 -0
  378. package/dist/cjs/utils/thorchain/getThorL1TradeRate.js +43 -0
  379. package/dist/cjs/utils/thorchain/getThorStepData.d.ts +35 -0
  380. package/dist/cjs/utils/thorchain/getThorStepData.js +339 -0
  381. package/dist/cjs/{thorchain-utils/evm → utils/thorchain}/getThorTxData.d.ts +5 -7
  382. package/dist/cjs/utils/thorchain/getThorTxData.js +35 -0
  383. package/dist/cjs/{thorchain-utils → utils/thorchain}/index.d.ts +7 -9
  384. package/dist/cjs/{thorchain-utils → utils/thorchain}/index.js +12 -35
  385. package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/index.test.js +1 -1
  386. package/dist/cjs/utils/thorchain/routerCallData/routerCalldata.d.ts +17 -0
  387. package/dist/cjs/utils/thorchain/routerCallData/routerCalldata.js +24 -0
  388. package/dist/cjs/{thorchain-utils → utils/thorchain}/service.d.ts +3 -3
  389. package/dist/cjs/{thorchain-utils → utils/thorchain}/service.js +1 -1
  390. package/dist/{esm/thorchain-utils → cjs/utils/thorchain}/tron/getTronTransactionFees.d.ts +1 -1
  391. package/dist/cjs/{thorchain-utils → utils/thorchain}/tron/getTronTransactionFees.js +2 -2
  392. package/dist/cjs/{thorchain-utils → utils/thorchain}/tron/getUnsignedTronTransaction.d.ts +1 -1
  393. package/dist/cjs/{thorchain-utils → utils/thorchain}/tron/getUnsignedTronTransaction.js +2 -2
  394. package/dist/cjs/{thorchain-utils → utils/thorchain}/tron/index.d.ts +0 -1
  395. package/dist/cjs/{thorchain-utils → utils/thorchain}/tron/index.js +0 -1
  396. package/dist/cjs/{thorchain-utils → utils/thorchain}/types.d.ts +15 -22
  397. package/dist/{esm/tron-utils → cjs/utils/tron}/getTronTransactionFees.d.ts +1 -1
  398. package/dist/cjs/{tron-utils → utils/tron}/getTronTransactionFees.js +1 -1
  399. package/dist/{esm/tron-utils → cjs/utils/tron}/getUnsignedTronTransaction.d.ts +1 -1
  400. package/dist/cjs/{tron-utils → utils/tron}/getUnsignedTronTransaction.js +4 -3
  401. package/dist/cjs/utils/tron/index.d.ts +2 -0
  402. package/dist/cjs/{thorchain-utils/cosmossdk → utils/tron}/index.js +2 -2
  403. package/dist/cjs/utils/utxo/constants.d.ts +1 -0
  404. package/dist/cjs/utils/utxo/constants.js +5 -0
  405. package/dist/cjs/{thorchain-utils → utils}/utxo/getUnsignedUtxoTransaction.d.ts +2 -2
  406. package/dist/cjs/utils/utxo/getUnsignedUtxoTransaction.js +23 -0
  407. package/dist/cjs/utils/utxo/getUtxoExecutionContext.d.ts +12 -0
  408. package/dist/cjs/utils/utxo/getUtxoExecutionContext.js +22 -0
  409. package/dist/cjs/utils/utxo/getUtxoNetworkFeeCryptoBaseUnit.d.ts +12 -0
  410. package/dist/cjs/utils/utxo/getUtxoNetworkFeeCryptoBaseUnit.js +30 -0
  411. package/dist/cjs/utils/utxo/getUtxoTransactionFees.d.ts +2 -0
  412. package/dist/cjs/utils/utxo/getUtxoTransactionFees.js +9 -0
  413. package/dist/cjs/utils/utxo/index.d.ts +5 -0
  414. package/dist/cjs/{thorchain-utils → utils}/utxo/index.js +3 -1
  415. package/dist/esm/.tsbuildinfo +1 -1
  416. package/dist/esm/constants.js +19 -37
  417. package/dist/esm/index.d.ts +10 -6
  418. package/dist/esm/index.js +10 -6
  419. package/dist/esm/swapper.d.ts +2 -2
  420. package/dist/esm/swapper.js +1 -1
  421. package/dist/esm/swappers/AcrossSwapper/AcrossSwapper.js +4 -2
  422. package/dist/esm/swappers/AcrossSwapper/constant.js +4 -3
  423. package/dist/esm/swappers/AcrossSwapper/endpoints.js +14 -39
  424. package/dist/esm/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.d.ts +3 -2
  425. package/dist/esm/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.js +36 -24
  426. package/dist/esm/swappers/AcrossSwapper/getTradeRate/getTradeRate.d.ts +3 -2
  427. package/dist/esm/swappers/AcrossSwapper/getTradeRate/getTradeRate.js +27 -12
  428. package/dist/esm/swappers/AcrossSwapper/index.d.ts +1 -0
  429. package/dist/esm/swappers/AcrossSwapper/index.js +1 -0
  430. package/dist/esm/swappers/AcrossSwapper/utils/acrossService.d.ts +6 -3
  431. package/dist/esm/swappers/AcrossSwapper/utils/acrossService.js +4 -1
  432. package/dist/esm/swappers/AcrossSwapper/utils/fetchAcrossTrade.js +2 -2
  433. package/dist/esm/swappers/AcrossSwapper/utils/getAcrossStepData.d.ts +25 -0
  434. package/dist/esm/swappers/AcrossSwapper/utils/getAcrossStepData.js +135 -0
  435. package/dist/esm/swappers/AcrossSwapper/utils/getAcrossTradeContext.d.ts +18 -0
  436. package/dist/esm/swappers/AcrossSwapper/utils/getAcrossTradeContext.js +177 -0
  437. package/dist/esm/swappers/AcrossSwapper/utils/helpers.d.ts +12 -0
  438. package/dist/esm/swappers/AcrossSwapper/utils/helpers.js +52 -0
  439. package/dist/esm/swappers/AcrossSwapper/utils/types.d.ts +3 -22
  440. package/dist/esm/swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.js +1 -1
  441. package/dist/esm/swappers/ArbitrumBridgeSwapper/endpoints.d.ts +0 -11
  442. package/dist/esm/swappers/ArbitrumBridgeSwapper/endpoints.js +8 -145
  443. package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.d.ts +4 -5
  444. package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.js +42 -74
  445. package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -3
  446. package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeRate/getTradeRate.js +26 -70
  447. package/dist/esm/swappers/ArbitrumBridgeSwapper/index.d.ts +2 -0
  448. package/dist/esm/swappers/ArbitrumBridgeSwapper/index.js +2 -0
  449. package/dist/esm/swappers/ArbitrumBridgeSwapper/types.d.ts +3 -7
  450. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeStepData.d.ts +27 -0
  451. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeStepData.js +58 -0
  452. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeTradeContext.d.ts +13 -0
  453. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/getArbitrumBridgeTradeContext.js +47 -0
  454. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/helpers.d.ts +28 -8
  455. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/helpers.js +146 -29
  456. package/dist/esm/swappers/AvnuSwapper/endpoints.js +10 -36
  457. package/dist/esm/swappers/AvnuSwapper/index.d.ts +2 -0
  458. package/dist/esm/swappers/AvnuSwapper/index.js +2 -0
  459. package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  460. package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +23 -122
  461. package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeRate.d.ts +3 -2
  462. package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeRate.js +41 -122
  463. package/dist/esm/swappers/AvnuSwapper/types.d.ts +7 -0
  464. package/dist/esm/swappers/AvnuSwapper/utils/getAvnuTradeContext.d.ts +15 -0
  465. package/dist/esm/swappers/AvnuSwapper/utils/getAvnuTradeContext.js +103 -0
  466. package/dist/esm/swappers/AvnuSwapper/utils/helpers.d.ts +11 -0
  467. package/dist/esm/swappers/AvnuSwapper/utils/helpers.js +44 -0
  468. package/dist/esm/swappers/BebopSwapper/BebopSwapper.js +1 -1
  469. package/dist/esm/swappers/BebopSwapper/endpoints.js +20 -61
  470. package/dist/esm/swappers/BebopSwapper/executeSolanaMessage.js +2 -2
  471. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.d.ts +2 -3
  472. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.js +33 -74
  473. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.d.ts +2 -3
  474. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +18 -75
  475. package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.d.ts +2 -5
  476. package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +37 -112
  477. package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.d.ts +2 -5
  478. package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +25 -84
  479. package/dist/esm/swappers/BebopSwapper/types.d.ts +9 -2
  480. package/dist/esm/swappers/BebopSwapper/types.js +2 -0
  481. package/dist/esm/swappers/BebopSwapper/utils/bebopService.js +1 -1
  482. package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +3 -3
  483. package/dist/esm/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.d.ts +15 -0
  484. package/dist/esm/swappers/BebopSwapper/utils/getBebopSolanaTradeContext.js +63 -0
  485. package/dist/esm/swappers/BebopSwapper/utils/getBebopStepData.d.ts +24 -0
  486. package/dist/esm/swappers/BebopSwapper/utils/getBebopStepData.js +53 -0
  487. package/dist/esm/swappers/BebopSwapper/utils/getBebopTradeContext.d.ts +17 -0
  488. package/dist/esm/swappers/BebopSwapper/utils/getBebopTradeContext.js +83 -0
  489. package/dist/esm/swappers/BebopSwapper/utils/{helpers/helpers.d.ts → helpers.d.ts} +2 -3
  490. package/dist/esm/swappers/BebopSwapper/utils/{helpers/helpers.js → helpers.js} +3 -6
  491. package/dist/esm/swappers/BobGatewaySwapper/BobGatewaySwapper.js +2 -1
  492. package/dist/esm/swappers/BobGatewaySwapper/endpoints.js +20 -79
  493. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.d.ts +3 -2
  494. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeQuote.js +30 -66
  495. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeRate.d.ts +3 -2
  496. package/dist/esm/swappers/BobGatewaySwapper/swapperApi/getTradeRate.js +18 -56
  497. package/dist/esm/swappers/BobGatewaySwapper/types.d.ts +5 -18
  498. package/dist/esm/swappers/BobGatewaySwapper/utils/constants.d.ts +2 -2
  499. package/dist/esm/swappers/BobGatewaySwapper/utils/constants.js +8 -2
  500. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.d.ts +24 -0
  501. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayStepData.js +197 -0
  502. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.d.ts +17 -0
  503. package/dist/esm/swappers/BobGatewaySwapper/utils/getBobGatewayTradeContext.js +64 -0
  504. package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.d.ts +10 -11
  505. package/dist/esm/swappers/BobGatewaySwapper/utils/helpers.js +51 -100
  506. package/dist/esm/swappers/ButterSwap/ButterSwap.js +1 -1
  507. package/dist/esm/swappers/ButterSwap/endpoints.js +11 -115
  508. package/dist/esm/swappers/ButterSwap/index.d.ts +1 -0
  509. package/dist/esm/swappers/ButterSwap/index.js +1 -0
  510. package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.js +4 -4
  511. package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.test.js +4 -4
  512. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.d.ts +3 -2
  513. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +46 -184
  514. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +35 -6
  515. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.d.ts +3 -2
  516. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.js +25 -123
  517. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.js +12 -3
  518. package/dist/esm/swappers/ButterSwap/types.d.ts +14 -0
  519. package/dist/esm/swappers/ButterSwap/utils/butterSwapHistoryService.js +2 -5
  520. package/dist/esm/swappers/ButterSwap/utils/butterSwapService.js +2 -5
  521. package/dist/esm/swappers/ButterSwap/utils/constants.js +3 -1
  522. package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.d.ts +32 -0
  523. package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.js +195 -0
  524. package/dist/esm/swappers/ButterSwap/utils/getButterSwapStepData.test.js +263 -0
  525. package/dist/esm/swappers/ButterSwap/utils/getButterSwapTradeContext.d.ts +17 -0
  526. package/dist/esm/swappers/ButterSwap/utils/getButterSwapTradeContext.js +107 -0
  527. package/dist/esm/swappers/ButterSwap/utils/helpers.d.ts +11 -0
  528. package/dist/esm/swappers/ButterSwap/utils/helpers.js +38 -8
  529. package/dist/esm/swappers/ButterSwap/xhr.js +2 -2
  530. package/dist/esm/swappers/CetusSwapper/endpoints.js +3 -7
  531. package/dist/esm/swappers/CetusSwapper/index.d.ts +2 -0
  532. package/dist/esm/swappers/CetusSwapper/index.js +2 -0
  533. package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusStepData.d.ts +24 -0
  534. package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusStepData.js +52 -0
  535. package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusTradeContext.d.ts +12 -0
  536. package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusTradeContext.js +79 -0
  537. package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  538. package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +36 -100
  539. package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.d.ts +3 -2
  540. package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.js +26 -97
  541. package/dist/esm/swappers/CetusSwapper/types.d.ts +3 -0
  542. package/dist/esm/swappers/CetusSwapper/utils/constants.d.ts +1 -0
  543. package/dist/esm/swappers/CetusSwapper/utils/constants.js +2 -0
  544. package/dist/esm/swappers/CetusSwapper/utils/helpers.d.ts +6 -0
  545. package/dist/esm/swappers/CetusSwapper/utils/helpers.js +21 -0
  546. package/dist/esm/swappers/ChainflipSwapper/ChainflipSwapper.js +1 -1
  547. package/dist/esm/swappers/ChainflipSwapper/constants.d.ts +1 -0
  548. package/dist/esm/swappers/ChainflipSwapper/constants.js +2 -0
  549. package/dist/esm/swappers/ChainflipSwapper/endpoints.js +28 -171
  550. package/dist/esm/swappers/ChainflipSwapper/index.d.ts +2 -0
  551. package/dist/esm/swappers/ChainflipSwapper/index.js +2 -0
  552. package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  553. package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeQuote.js +75 -129
  554. package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeRate.d.ts +4 -2
  555. package/dist/esm/swappers/ChainflipSwapper/swapperApi/getTradeRate.js +33 -7
  556. package/dist/esm/swappers/ChainflipSwapper/types.d.ts +7 -0
  557. package/dist/esm/swappers/ChainflipSwapper/utils/chainflipService.js +1 -1
  558. package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.d.ts +26 -0
  559. package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipStepData.js +182 -0
  560. package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipTradeContexts.d.ts +19 -0
  561. package/dist/esm/swappers/ChainflipSwapper/utils/getChainflipTradeContexts.js +137 -0
  562. package/dist/esm/swappers/ChainflipSwapper/utils/helpers.d.ts +22 -2
  563. package/dist/esm/swappers/ChainflipSwapper/utils/helpers.js +99 -4
  564. package/dist/esm/swappers/CowSwapper/CowSwapper.js +1 -1
  565. package/dist/esm/swappers/CowSwapper/endpoints.js +21 -75
  566. package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.d.ts +3 -2
  567. package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +33 -123
  568. package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.d.ts +3 -2
  569. package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +23 -121
  570. package/dist/esm/swappers/CowSwapper/index.d.ts +2 -0
  571. package/dist/esm/swappers/CowSwapper/index.js +2 -0
  572. package/dist/esm/swappers/CowSwapper/types.d.ts +3 -0
  573. package/dist/esm/swappers/CowSwapper/utils/cowService.js +1 -1
  574. package/dist/esm/swappers/CowSwapper/utils/getCowSwapStepData.d.ts +23 -0
  575. package/dist/esm/swappers/CowSwapper/utils/getCowSwapStepData.js +34 -0
  576. package/dist/esm/swappers/CowSwapper/utils/getCowSwapStepData.test.js +81 -0
  577. package/dist/esm/swappers/CowSwapper/utils/getCowSwapTradeContext.d.ts +17 -0
  578. package/dist/esm/swappers/CowSwapper/utils/getCowSwapTradeContext.js +134 -0
  579. package/dist/esm/swappers/CowSwapper/utils/{helpers/helpers.d.ts → helpers.d.ts} +1 -1
  580. package/dist/esm/swappers/CowSwapper/utils/{helpers/helpers.js → helpers.js} +2 -2
  581. package/dist/esm/swappers/CowSwapper/utils/helpers.test.js +51 -0
  582. package/dist/esm/swappers/DebridgeSwapper/DebridgeSwapper.js +1 -1
  583. package/dist/esm/swappers/DebridgeSwapper/constant.d.ts +1 -1
  584. package/dist/esm/swappers/DebridgeSwapper/constant.js +12 -10
  585. package/dist/esm/swappers/DebridgeSwapper/endpoints.js +17 -116
  586. package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.d.ts +3 -2
  587. package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +36 -24
  588. package/dist/esm/swappers/DebridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -2
  589. package/dist/esm/swappers/DebridgeSwapper/getTradeRate/getTradeRate.js +32 -12
  590. package/dist/esm/swappers/DebridgeSwapper/index.d.ts +1 -0
  591. package/dist/esm/swappers/DebridgeSwapper/index.js +1 -0
  592. package/dist/esm/swappers/DebridgeSwapper/utils/debridgeService.js +1 -1
  593. package/dist/esm/swappers/DebridgeSwapper/utils/getDebridgeStepData.d.ts +26 -0
  594. package/dist/esm/swappers/DebridgeSwapper/utils/getDebridgeStepData.js +54 -0
  595. package/dist/esm/swappers/DebridgeSwapper/utils/getDebridgeTradeContext.d.ts +17 -0
  596. package/dist/esm/swappers/DebridgeSwapper/utils/getDebridgeTradeContext.js +196 -0
  597. package/dist/esm/swappers/DebridgeSwapper/utils/helpers.d.ts +12 -0
  598. package/dist/esm/swappers/DebridgeSwapper/utils/helpers.js +43 -0
  599. package/dist/esm/swappers/DebridgeSwapper/utils/types.d.ts +7 -26
  600. package/dist/esm/swappers/MayachainSwapper/MayachainSwapper.js +1 -1
  601. package/dist/esm/swappers/MayachainSwapper/endpoints.js +12 -55
  602. package/dist/esm/swappers/MayachainSwapper/getTradeQuote.d.ts +3 -3
  603. package/dist/esm/swappers/MayachainSwapper/getTradeQuote.js +2 -2
  604. package/dist/esm/swappers/MayachainSwapper/getTradeRate.d.ts +3 -3
  605. package/dist/esm/swappers/MayachainSwapper/getTradeRate.js +2 -2
  606. package/dist/esm/swappers/MayachainSwapper/index.d.ts +2 -0
  607. package/dist/esm/swappers/MayachainSwapper/index.js +2 -0
  608. package/dist/esm/swappers/MayachainSwapper/utils/index.d.ts +1 -1
  609. package/dist/esm/swappers/MayachainSwapper/utils/index.js +2 -2
  610. package/dist/esm/swappers/NearIntentsSwapper/NearIntentsSwapper.js +1 -1
  611. package/dist/esm/swappers/NearIntentsSwapper/endpoints.js +35 -158
  612. package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  613. package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +69 -320
  614. package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.d.ts +3 -2
  615. package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +56 -376
  616. package/dist/esm/swappers/NearIntentsSwapper/types.d.ts +8 -0
  617. package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.d.ts +23 -0
  618. package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsStepData.js +231 -0
  619. package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsTradeContext.d.ts +21 -0
  620. package/dist/esm/swappers/NearIntentsSwapper/utils/getNearIntentsTradeContext.js +58 -0
  621. package/dist/esm/swappers/NearIntentsSwapper/utils/helpers.d.ts +40 -0
  622. package/dist/esm/swappers/NearIntentsSwapper/utils/{helpers/helpers.js → helpers.js} +107 -15
  623. package/dist/esm/swappers/PortalsSwapper/PortalsSwapper.js +1 -1
  624. package/dist/esm/swappers/PortalsSwapper/constants.d.ts +1 -0
  625. package/dist/esm/swappers/PortalsSwapper/constants.js +4 -0
  626. package/dist/esm/swappers/PortalsSwapper/endpoints.js +9 -48
  627. package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.d.ts +3 -4
  628. package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +141 -214
  629. package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.d.ts +3 -4
  630. package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +78 -193
  631. package/dist/esm/swappers/PortalsSwapper/index.d.ts +2 -0
  632. package/dist/esm/swappers/PortalsSwapper/index.js +2 -0
  633. package/dist/esm/swappers/PortalsSwapper/types.d.ts +3 -0
  634. package/dist/esm/swappers/PortalsSwapper/types.js +2 -1
  635. package/dist/esm/swappers/PortalsSwapper/utils/fetchAxelarscanStatus.js +1 -1
  636. package/dist/esm/swappers/PortalsSwapper/utils/fetchPortalsTradeOrder.d.ts +9 -8
  637. package/dist/esm/swappers/PortalsSwapper/utils/fetchSquidStatus.js +1 -1
  638. package/dist/esm/swappers/PortalsSwapper/utils/getPortalsStepData.d.ts +27 -0
  639. package/dist/esm/swappers/PortalsSwapper/utils/getPortalsStepData.js +78 -0
  640. package/dist/esm/swappers/PortalsSwapper/utils/getPortalsTradeContext.d.ts +25 -0
  641. package/dist/esm/swappers/PortalsSwapper/utils/getPortalsTradeContext.js +79 -0
  642. package/dist/esm/swappers/PortalsSwapper/utils/helpers.d.ts +26 -2
  643. package/dist/esm/swappers/PortalsSwapper/utils/helpers.js +73 -4
  644. package/dist/esm/swappers/RelaySwapper/RelaySwapper.js +1 -1
  645. package/dist/esm/swappers/RelaySwapper/constant.js +6 -5
  646. package/dist/esm/swappers/RelaySwapper/endpoints.js +35 -122
  647. package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.d.ts +3 -2
  648. package/dist/esm/swappers/RelaySwapper/getTradeQuote/getTradeQuote.js +45 -22
  649. package/dist/esm/swappers/RelaySwapper/getTradeRate/getTradeRate.d.ts +4 -3
  650. package/dist/esm/swappers/RelaySwapper/getTradeRate/getTradeRate.js +33 -11
  651. package/dist/esm/swappers/RelaySwapper/index.d.ts +1 -0
  652. package/dist/esm/swappers/RelaySwapper/index.js +1 -0
  653. package/dist/esm/swappers/RelaySwapper/utils/fetchRelayTrade.d.ts +1 -1
  654. package/dist/esm/swappers/RelaySwapper/utils/fetchRelayTrade.js +2 -2
  655. package/dist/esm/swappers/RelaySwapper/utils/getLatestRelayStatusMessage.js +3 -1
  656. package/dist/esm/swappers/RelaySwapper/utils/getRelayAssetAddress.js +1 -1
  657. package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.d.ts +31 -0
  658. package/dist/esm/swappers/RelaySwapper/utils/getRelayStepData.js +193 -0
  659. package/dist/esm/swappers/RelaySwapper/utils/getRelayTradeContext.d.ts +22 -0
  660. package/dist/esm/swappers/RelaySwapper/utils/getRelayTradeContext.js +303 -0
  661. package/dist/esm/swappers/RelaySwapper/utils/helpers.d.ts +26 -0
  662. package/dist/esm/swappers/RelaySwapper/utils/helpers.js +73 -0
  663. package/dist/esm/swappers/RelaySwapper/utils/notifyTransactionIndexing.js +2 -2
  664. package/dist/esm/swappers/RelaySwapper/utils/relayService.d.ts +6 -3
  665. package/dist/esm/swappers/RelaySwapper/utils/relayService.js +2 -1
  666. package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAsset.js +1 -1
  667. package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +5 -0
  668. package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +9 -23
  669. package/dist/esm/swappers/StonfiSwapper/endpoints.js +53 -70
  670. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeQuote.d.ts +3 -2
  671. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeQuote.js +37 -123
  672. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeRate.d.ts +3 -2
  673. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeRate.js +24 -108
  674. package/dist/esm/swappers/StonfiSwapper/types.d.ts +26 -29
  675. package/dist/esm/swappers/StonfiSwapper/utils/constants.d.ts +1 -0
  676. package/dist/esm/swappers/StonfiSwapper/utils/constants.js +1 -0
  677. package/dist/esm/swappers/StonfiSwapper/utils/getStonfiStepData.d.ts +24 -0
  678. package/dist/esm/swappers/StonfiSwapper/utils/getStonfiStepData.js +14 -0
  679. package/dist/esm/swappers/StonfiSwapper/utils/getStonfiTradeContext.d.ts +15 -0
  680. package/dist/esm/swappers/StonfiSwapper/utils/getStonfiTradeContext.js +97 -0
  681. package/dist/esm/swappers/StonfiSwapper/utils/helpers.d.ts +20 -3
  682. package/dist/esm/swappers/StonfiSwapper/utils/helpers.js +57 -29
  683. package/dist/esm/swappers/SunioSwapper/SunioSwapper.js +1 -1
  684. package/dist/esm/swappers/SunioSwapper/endpoints.js +7 -14
  685. package/dist/esm/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.d.ts +3 -2
  686. package/dist/esm/swappers/SunioSwapper/getSunioTradeQuote/getSunioTradeQuote.js +39 -3
  687. package/dist/esm/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.d.ts +3 -2
  688. package/dist/esm/swappers/SunioSwapper/getSunioTradeRate/getSunioTradeRate.js +26 -3
  689. package/dist/esm/swappers/SunioSwapper/types.d.ts +6 -0
  690. package/dist/esm/swappers/SunioSwapper/utils/fetchFromSunio.js +2 -2
  691. package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.d.ts +21 -0
  692. package/dist/esm/swappers/SunioSwapper/utils/getSunioStepData.js +39 -0
  693. package/dist/esm/swappers/SunioSwapper/utils/getSunioTradeContext.d.ts +15 -0
  694. package/dist/esm/swappers/SunioSwapper/utils/getSunioTradeContext.js +93 -0
  695. package/dist/esm/swappers/SunioSwapper/utils/getSunioTransactionFees.js +2 -2
  696. package/dist/esm/swappers/SunioSwapper/utils/helpers.d.ts +10 -0
  697. package/dist/esm/swappers/SunioSwapper/utils/helpers.js +38 -0
  698. package/dist/esm/swappers/SunioSwapper/utils/sunioService.js +1 -1
  699. package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.js +1 -1
  700. package/dist/esm/swappers/ThorchainSwapper/endpoints.js +15 -68
  701. package/dist/esm/swappers/ThorchainSwapper/generated/generatedThorLongtailTokens.json +1 -0
  702. package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.d.ts +3 -3
  703. package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.js +10 -41
  704. package/dist/esm/swappers/ThorchainSwapper/getTradeQuote/getTradeQuote.test.js +48 -28
  705. package/dist/esm/swappers/ThorchainSwapper/getTradeRate/getTradeRate.d.ts +3 -3
  706. package/dist/esm/swappers/ThorchainSwapper/getTradeRate/getTradeRate.js +10 -41
  707. package/dist/esm/swappers/ThorchainSwapper/index.d.ts +2 -0
  708. package/dist/esm/swappers/ThorchainSwapper/index.js +2 -0
  709. package/dist/esm/swappers/ThorchainSwapper/utils/addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js +1 -1
  710. package/dist/esm/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.d.ts +18 -0
  711. package/dist/esm/swappers/ThorchainSwapper/utils/assertValidLongtailTrade.js +71 -0
  712. package/dist/esm/swappers/ThorchainSwapper/utils/assertValidTrade.d.ts +12 -0
  713. package/dist/esm/swappers/ThorchainSwapper/utils/assertValidTrade.js +41 -0
  714. package/dist/esm/swappers/ThorchainSwapper/utils/getBestAggregator.js +1 -1
  715. package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.d.ts +3 -3
  716. package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailQuote.js +48 -74
  717. package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.d.ts +3 -3
  718. package/dist/esm/swappers/ThorchainSwapper/utils/getL1ToLongtailRate.js +16 -79
  719. package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.d.ts +3 -3
  720. package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailQuote.js +68 -42
  721. package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailRate.d.ts +3 -3
  722. package/dist/esm/swappers/ThorchainSwapper/utils/getLongtailRate.js +21 -51
  723. package/dist/esm/swappers/ThorchainSwapper/utils/getShortenedFinalAssetLimit/getShortenedFinalAssetLimit.test.js +1 -1
  724. package/dist/esm/swappers/ThorchainSwapper/utils/longTailHelpers.d.ts +2 -2
  725. package/dist/esm/swappers/ThorchainSwapper/utils/longTailHelpers.js +1 -1
  726. package/dist/esm/swappers/ThorchainSwapper/utils/test-data/responses.d.ts +1 -1
  727. package/dist/esm/swappers/ThorchainSwapper/utils/test-data/setupThorswapDeps.js +4 -0
  728. package/dist/esm/swappers/ZrxSwapper/ZrxSwapper.js +1 -1
  729. package/dist/esm/swappers/ZrxSwapper/endpoints.js +6 -67
  730. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.d.ts +3 -5
  731. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +56 -86
  732. package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.d.ts +3 -3
  733. package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +31 -49
  734. package/dist/esm/swappers/ZrxSwapper/index.d.ts +2 -0
  735. package/dist/esm/swappers/ZrxSwapper/index.js +2 -0
  736. package/dist/esm/swappers/ZrxSwapper/types.d.ts +4 -1
  737. package/dist/esm/swappers/ZrxSwapper/types.js +1 -0
  738. package/dist/esm/swappers/ZrxSwapper/utils/constants.js +1 -0
  739. package/dist/esm/swappers/ZrxSwapper/utils/fetchFromZrx.js +2 -2
  740. package/dist/esm/swappers/ZrxSwapper/utils/getZrxStepData.d.ts +23 -0
  741. package/dist/esm/swappers/ZrxSwapper/utils/getZrxStepData.js +42 -0
  742. package/dist/esm/swappers/ZrxSwapper/utils/getZrxTradeContext.d.ts +27 -0
  743. package/dist/esm/swappers/ZrxSwapper/utils/getZrxTradeContext.js +55 -0
  744. package/dist/esm/swappers/ZrxSwapper/utils/{helpers/helpers.d.ts → helpers.d.ts} +7 -4
  745. package/dist/esm/swappers/ZrxSwapper/utils/{helpers/helpers.js → helpers.js} +12 -5
  746. package/dist/esm/swappers/ZrxSwapper/utils/zrxService.js +1 -1
  747. package/dist/esm/types.d.ts +141 -243
  748. package/dist/esm/types.js +0 -1
  749. package/dist/esm/{swappers/utils → utils}/affiliateFee.d.ts +1 -1
  750. package/dist/esm/utils/cosmossdk/getCosmosSdkExecutionContext.d.ts +20 -0
  751. package/dist/esm/utils/cosmossdk/getCosmosSdkExecutionContext.js +14 -0
  752. package/dist/esm/utils/cosmossdk/getCosmosSdkTransactionFees.js +5 -0
  753. package/dist/esm/utils/cosmossdk/getUnsignedCosmosSdkTransaction.d.ts +4 -0
  754. package/dist/esm/utils/cosmossdk/getUnsignedCosmosSdkTransaction.js +32 -0
  755. package/dist/esm/utils/cosmossdk/index.d.ts +3 -0
  756. package/dist/esm/utils/cosmossdk/index.js +3 -0
  757. package/dist/esm/{cowswap-utils → utils/cowswap}/index.d.ts +1 -1
  758. package/dist/esm/{cowswap-utils → utils/cowswap}/index.js +1 -1
  759. package/dist/esm/utils/cowswap/index.test.js +27 -0
  760. package/dist/esm/utils/evm/constants.d.ts +1 -0
  761. package/dist/esm/utils/evm/constants.js +4 -0
  762. package/dist/esm/utils/evm/getEvmExecutionContext.d.ts +27 -0
  763. package/dist/esm/utils/evm/getEvmExecutionContext.js +25 -0
  764. package/dist/esm/utils/evm/getEvmNetworkFeeCryptoBaseUnit.d.ts +22 -0
  765. package/dist/esm/utils/evm/getEvmNetworkFeeCryptoBaseUnit.js +48 -0
  766. package/dist/esm/utils/evm/getEvmTransactionFees.d.ts +2 -0
  767. package/dist/esm/utils/evm/getEvmTransactionFees.js +5 -0
  768. package/dist/esm/{thorchain-utils → utils}/evm/getUnsignedEvmTransaction.d.ts +2 -2
  769. package/dist/esm/utils/evm/getUnsignedEvmTransaction.js +20 -0
  770. package/dist/esm/utils/evm/index.d.ts +7 -0
  771. package/dist/esm/utils/evm/index.js +7 -0
  772. package/dist/esm/utils/evm/stateOverride.d.ts +17 -0
  773. package/dist/esm/utils/evm/stateOverride.js +302 -0
  774. package/dist/{cjs/utils/tenderly → esm/utils/evm}/storageSlots.d.ts +3 -3
  775. package/dist/esm/utils/{tenderly → evm}/storageSlots.js +8 -19
  776. package/dist/esm/{swappers/utils/helpers → utils}/helpers.d.ts +2 -0
  777. package/dist/esm/{swappers/utils/helpers → utils}/helpers.js +12 -0
  778. package/dist/esm/utils/helpers.test.js +49 -0
  779. package/dist/{cjs/utils.d.ts → esm/utils/index.d.ts} +37 -6
  780. package/dist/esm/{utils.js → utils/index.js} +44 -7
  781. package/dist/esm/utils/solana/calculateAccountCreationCosts.d.ts +3 -0
  782. package/dist/esm/utils/solana/calculateAccountCreationCosts.js +10 -0
  783. package/dist/esm/utils/solana/computeBudgetInstructions.d.ts +13 -0
  784. package/dist/esm/utils/solana/computeBudgetInstructions.js +19 -0
  785. package/dist/esm/utils/solana/constants.d.ts +1 -0
  786. package/dist/esm/utils/solana/constants.js +5 -0
  787. package/dist/esm/utils/solana/getSolanaExecutionContext.d.ts +10 -0
  788. package/dist/esm/utils/solana/getSolanaExecutionContext.js +11 -0
  789. package/dist/esm/utils/solana/getSolanaNetworkFeeCryptoBaseUnit.d.ts +15 -0
  790. package/dist/esm/utils/solana/getSolanaNetworkFeeCryptoBaseUnit.js +33 -0
  791. package/dist/esm/utils/solana/getSolanaTransactionFees.d.ts +2 -0
  792. package/dist/esm/utils/solana/getSolanaTransactionFees.js +14 -0
  793. package/dist/esm/utils/solana/getUnsignedSolanaTransaction.d.ts +3 -0
  794. package/dist/esm/utils/solana/getUnsignedSolanaTransaction.js +23 -0
  795. package/dist/esm/utils/solana/index.d.ts +7 -0
  796. package/dist/esm/utils/solana/index.js +7 -0
  797. package/dist/esm/utils/solana/isSolanaTransactionOversized.d.ts +8 -0
  798. package/dist/esm/utils/solana/isSolanaTransactionOversized.js +19 -0
  799. package/dist/esm/utils/test-data/cryptoMarketDataById.d.ts +4 -0
  800. package/dist/esm/{swappers/utils → utils}/test-data/setupSwapQuote.d.ts +2 -2
  801. package/dist/esm/{swappers/utils → utils}/test-data/setupSwapQuote.js +2 -1
  802. package/dist/esm/{thorchain-utils → utils/thorchain}/checkTradeStatus.d.ts +1 -1
  803. package/dist/esm/{thorchain-utils → utils/thorchain}/checkTradeStatus.js +23 -5
  804. package/dist/esm/{thorchain-utils → utils/thorchain}/getInboundAddressDataForChain.d.ts +1 -1
  805. package/dist/esm/{thorchain-utils → utils/thorchain}/getInboundAddressDataForChain.js +2 -2
  806. package/dist/esm/{thorchain-utils → utils/thorchain}/getPoolDetails.d.ts +2 -2
  807. package/dist/esm/{thorchain-utils → utils/thorchain}/getPoolDetails.js +1 -1
  808. package/dist/esm/{thorchain-utils → utils/thorchain}/getQuote.d.ts +1 -1
  809. package/dist/esm/{thorchain-utils → utils/thorchain}/getQuote.js +2 -2
  810. package/dist/esm/utils/thorchain/getThorL1TradeContexts.d.ts +18 -0
  811. package/dist/esm/utils/thorchain/getThorL1TradeContexts.js +195 -0
  812. package/dist/esm/utils/thorchain/getThorL1TradeQuote.d.ts +4 -0
  813. package/dist/esm/utils/thorchain/getThorL1TradeQuote.js +72 -0
  814. package/dist/esm/utils/thorchain/getThorL1TradeRate.d.ts +4 -0
  815. package/dist/esm/utils/thorchain/getThorL1TradeRate.js +39 -0
  816. package/dist/esm/utils/thorchain/getThorStepData.d.ts +35 -0
  817. package/dist/esm/utils/thorchain/getThorStepData.js +335 -0
  818. package/dist/esm/{thorchain-utils/evm → utils/thorchain}/getThorTxData.d.ts +5 -7
  819. package/dist/esm/utils/thorchain/getThorTxData.js +30 -0
  820. package/dist/esm/{thorchain-utils → utils/thorchain}/index.d.ts +7 -9
  821. package/dist/esm/{thorchain-utils → utils/thorchain}/index.js +9 -30
  822. package/dist/esm/{thorchain-utils → utils/thorchain}/memo/index.test.js +1 -1
  823. package/dist/esm/utils/thorchain/routerCallData/routerCalldata.d.ts +17 -0
  824. package/dist/esm/utils/thorchain/routerCallData/routerCalldata.js +19 -0
  825. package/dist/esm/{thorchain-utils → utils/thorchain}/service.d.ts +3 -3
  826. package/dist/esm/{thorchain-utils → utils/thorchain}/service.js +1 -1
  827. package/dist/{cjs/thorchain-utils → esm/utils/thorchain}/tron/getTronTransactionFees.d.ts +1 -1
  828. package/dist/esm/{thorchain-utils → utils/thorchain}/tron/getTronTransactionFees.js +2 -2
  829. package/dist/esm/{thorchain-utils → utils/thorchain}/tron/getUnsignedTronTransaction.d.ts +1 -1
  830. package/dist/esm/{thorchain-utils → utils/thorchain}/tron/getUnsignedTronTransaction.js +2 -2
  831. package/dist/esm/{thorchain-utils → utils/thorchain}/tron/index.d.ts +0 -1
  832. package/dist/esm/{thorchain-utils → utils/thorchain}/tron/index.js +0 -1
  833. package/dist/esm/{thorchain-utils → utils/thorchain}/types.d.ts +15 -22
  834. package/dist/{cjs/tron-utils → esm/utils/tron}/getTronTransactionFees.d.ts +1 -1
  835. package/dist/esm/{tron-utils → utils/tron}/getTronTransactionFees.js +1 -1
  836. package/dist/{cjs/tron-utils → esm/utils/tron}/getUnsignedTronTransaction.d.ts +1 -1
  837. package/dist/esm/{tron-utils → utils/tron}/getUnsignedTronTransaction.js +4 -3
  838. package/dist/esm/utils/tron/index.d.ts +2 -0
  839. package/dist/esm/utils/tron/index.js +2 -0
  840. package/dist/esm/utils/utxo/constants.d.ts +1 -0
  841. package/dist/esm/utils/utxo/constants.js +2 -0
  842. package/dist/esm/{thorchain-utils → utils}/utxo/getUnsignedUtxoTransaction.d.ts +2 -2
  843. package/dist/esm/utils/utxo/getUnsignedUtxoTransaction.js +19 -0
  844. package/dist/esm/utils/utxo/getUtxoExecutionContext.d.ts +12 -0
  845. package/dist/esm/utils/utxo/getUtxoExecutionContext.js +18 -0
  846. package/dist/esm/utils/utxo/getUtxoNetworkFeeCryptoBaseUnit.d.ts +12 -0
  847. package/dist/esm/utils/utxo/getUtxoNetworkFeeCryptoBaseUnit.js +26 -0
  848. package/dist/esm/utils/utxo/getUtxoTransactionFees.d.ts +2 -0
  849. package/dist/esm/utils/utxo/getUtxoTransactionFees.js +5 -0
  850. package/dist/esm/utils/utxo/index.d.ts +5 -0
  851. package/dist/esm/utils/utxo/index.js +5 -0
  852. package/package.json +8 -8
  853. package/dist/cjs/solana-utils/getSolanaTransactionFees.d.ts +0 -2
  854. package/dist/cjs/solana-utils/getSolanaTransactionFees.js +0 -22
  855. package/dist/cjs/solana-utils/getUnsignedSolanaTransaction.d.ts +0 -3
  856. package/dist/cjs/solana-utils/getUnsignedSolanaTransaction.js +0 -41
  857. package/dist/cjs/swappers/AcrossSwapper/utils/getTrade.d.ts +0 -11
  858. package/dist/cjs/swappers/AcrossSwapper/utils/getTrade.js +0 -349
  859. package/dist/cjs/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +0 -182
  860. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.d.ts +0 -35
  861. package/dist/cjs/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.js +0 -148
  862. package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusTradeData.d.ts +0 -24
  863. package/dist/cjs/swappers/CetusSwapper/swapperApi/getCetusTradeData.js +0 -79
  864. package/dist/cjs/swappers/ChainflipSwapper/utils/getEvmTxFees.d.ts +0 -8
  865. package/dist/cjs/swappers/ChainflipSwapper/utils/getEvmTxFees.js +0 -15
  866. package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.d.ts +0 -3
  867. package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +0 -340
  868. package/dist/cjs/swappers/ChainflipSwapper/utils/getUtxoTxFees.d.ts +0 -9
  869. package/dist/cjs/swappers/ChainflipSwapper/utils/getUtxoTxFees.js +0 -25
  870. package/dist/cjs/swappers/CowSwapper/CowSwapper.test.js +0 -180
  871. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +0 -522
  872. package/dist/cjs/swappers/CowSwapper/utils/blacklist.d.ts +0 -1
  873. package/dist/cjs/swappers/CowSwapper/utils/blacklist.js +0 -15
  874. package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.test.js +0 -60
  875. package/dist/cjs/swappers/DebridgeSwapper/utils/getTrade.d.ts +0 -11
  876. package/dist/cjs/swappers/DebridgeSwapper/utils/getTrade.js +0 -367
  877. package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers/helpers.d.ts +0 -12
  878. package/dist/cjs/swappers/RelaySwapper/utils/getTrade.d.ts +0 -14
  879. package/dist/cjs/swappers/RelaySwapper/utils/getTrade.js +0 -578
  880. package/dist/cjs/swappers/SunioSwapper/utils/abi.d.ts +0 -48
  881. package/dist/cjs/swappers/SunioSwapper/utils/abi.js +0 -28
  882. package/dist/cjs/swappers/SunioSwapper/utils/getQuoteOrRate.d.ts +0 -4
  883. package/dist/cjs/swappers/SunioSwapper/utils/getQuoteOrRate.js +0 -156
  884. package/dist/cjs/swappers/SunioSwapper/utils/helpers/helpers.d.ts +0 -4
  885. package/dist/cjs/swappers/SunioSwapper/utils/helpers/helpers.js +0 -22
  886. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +0 -159
  887. package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.d.ts +0 -4
  888. package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +0 -23
  889. package/dist/cjs/swappers/utils/helpers/helpers.test.js +0 -10
  890. package/dist/cjs/swappers/utils/test-data/cryptoMarketDataById.d.ts +0 -5
  891. package/dist/cjs/swappers/utils/test-data/fees.d.ts +0 -2
  892. package/dist/cjs/swappers/utils/test-data/fees.js +0 -20
  893. package/dist/cjs/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.js +0 -15
  894. package/dist/cjs/thorchain-utils/cosmossdk/getThorTxData.d.ts +0 -12
  895. package/dist/cjs/thorchain-utils/cosmossdk/getThorTxData.js +0 -19
  896. package/dist/cjs/thorchain-utils/cosmossdk/index.d.ts +0 -2
  897. package/dist/cjs/thorchain-utils/evm/getEvmData.d.ts +0 -13
  898. package/dist/cjs/thorchain-utils/evm/getEvmData.js +0 -94
  899. package/dist/cjs/thorchain-utils/evm/getEvmTransactionFees.d.ts +0 -2
  900. package/dist/cjs/thorchain-utils/evm/getEvmTransactionFees.js +0 -23
  901. package/dist/cjs/thorchain-utils/evm/getThorTxData.js +0 -33
  902. package/dist/cjs/thorchain-utils/evm/getUnsignedEvmTransaction.js +0 -23
  903. package/dist/cjs/thorchain-utils/evm/index.d.ts +0 -3
  904. package/dist/cjs/thorchain-utils/getCallDataFromQuote.d.ts +0 -9
  905. package/dist/cjs/thorchain-utils/getCallDataFromQuote.js +0 -54
  906. package/dist/cjs/thorchain-utils/getL1RateOrQuote.d.ts +0 -6
  907. package/dist/cjs/thorchain-utils/getL1RateOrQuote.js +0 -500
  908. package/dist/cjs/thorchain-utils/routerCallData/routerCalldata.d.ts +0 -8
  909. package/dist/cjs/thorchain-utils/routerCallData/routerCalldata.js +0 -14
  910. package/dist/cjs/thorchain-utils/solana/constants.d.ts +0 -1
  911. package/dist/cjs/thorchain-utils/solana/constants.js +0 -6
  912. package/dist/cjs/thorchain-utils/solana/getSolanaTransactionFees.d.ts +0 -2
  913. package/dist/cjs/thorchain-utils/solana/getSolanaTransactionFees.js +0 -41
  914. package/dist/cjs/thorchain-utils/solana/getThorTxData.d.ts +0 -12
  915. package/dist/cjs/thorchain-utils/solana/getThorTxData.js +0 -14
  916. package/dist/cjs/thorchain-utils/solana/getUnsignedSolanaTransaction.d.ts +0 -3
  917. package/dist/cjs/thorchain-utils/solana/getUnsignedSolanaTransaction.js +0 -64
  918. package/dist/cjs/thorchain-utils/solana/index.d.ts +0 -3
  919. package/dist/cjs/thorchain-utils/tron/getThorTxData.d.ts +0 -12
  920. package/dist/cjs/thorchain-utils/tron/getThorTxData.js +0 -14
  921. package/dist/cjs/thorchain-utils/utxo/getThorTxData.d.ts +0 -12
  922. package/dist/cjs/thorchain-utils/utxo/getThorTxData.js +0 -14
  923. package/dist/cjs/thorchain-utils/utxo/getUnsignedUtxoTransaction.js +0 -34
  924. package/dist/cjs/thorchain-utils/utxo/getUtxoTransactionFees.d.ts +0 -2
  925. package/dist/cjs/thorchain-utils/utxo/getUtxoTransactionFees.js +0 -29
  926. package/dist/cjs/thorchain-utils/utxo/index.d.ts +0 -3
  927. package/dist/cjs/utils/tenderly/index.d.ts +0 -3
  928. package/dist/cjs/utils/tenderly/index.js +0 -19
  929. package/dist/cjs/utils/tenderly/simulate.d.ts +0 -25
  930. package/dist/cjs/utils/tenderly/simulate.js +0 -129
  931. package/dist/cjs/utils/tenderly/types.d.ts +0 -77
  932. package/dist/esm/solana-utils/getSolanaTransactionFees.d.ts +0 -2
  933. package/dist/esm/solana-utils/getSolanaTransactionFees.js +0 -18
  934. package/dist/esm/solana-utils/getUnsignedSolanaTransaction.d.ts +0 -3
  935. package/dist/esm/solana-utils/getUnsignedSolanaTransaction.js +0 -37
  936. package/dist/esm/swappers/AcrossSwapper/utils/getTrade.d.ts +0 -11
  937. package/dist/esm/swappers/AcrossSwapper/utils/getTrade.js +0 -342
  938. package/dist/esm/swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.js +0 -180
  939. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.d.ts +0 -35
  940. package/dist/esm/swappers/ArbitrumBridgeSwapper/utils/fetchArbitrumBridgeSwap.js +0 -143
  941. package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusTradeData.d.ts +0 -24
  942. package/dist/esm/swappers/CetusSwapper/swapperApi/getCetusTradeData.js +0 -75
  943. package/dist/esm/swappers/ChainflipSwapper/utils/getEvmTxFees.d.ts +0 -8
  944. package/dist/esm/swappers/ChainflipSwapper/utils/getEvmTxFees.js +0 -11
  945. package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.d.ts +0 -3
  946. package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +0 -336
  947. package/dist/esm/swappers/ChainflipSwapper/utils/getUtxoTxFees.d.ts +0 -9
  948. package/dist/esm/swappers/ChainflipSwapper/utils/getUtxoTxFees.js +0 -21
  949. package/dist/esm/swappers/CowSwapper/CowSwapper.test.js +0 -178
  950. package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.d.ts +0 -1
  951. package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +0 -520
  952. package/dist/esm/swappers/CowSwapper/utils/blacklist.d.ts +0 -1
  953. package/dist/esm/swappers/CowSwapper/utils/blacklist.js +0 -12
  954. package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.test.js +0 -58
  955. package/dist/esm/swappers/DebridgeSwapper/utils/getTrade.d.ts +0 -11
  956. package/dist/esm/swappers/DebridgeSwapper/utils/getTrade.js +0 -360
  957. package/dist/esm/swappers/NearIntentsSwapper/utils/helpers/helpers.d.ts +0 -12
  958. package/dist/esm/swappers/RelaySwapper/utils/getTrade.d.ts +0 -14
  959. package/dist/esm/swappers/RelaySwapper/utils/getTrade.js +0 -571
  960. package/dist/esm/swappers/SunioSwapper/utils/abi.d.ts +0 -48
  961. package/dist/esm/swappers/SunioSwapper/utils/abi.js +0 -25
  962. package/dist/esm/swappers/SunioSwapper/utils/getQuoteOrRate.d.ts +0 -4
  963. package/dist/esm/swappers/SunioSwapper/utils/getQuoteOrRate.js +0 -152
  964. package/dist/esm/swappers/SunioSwapper/utils/helpers/helpers.d.ts +0 -4
  965. package/dist/esm/swappers/SunioSwapper/utils/helpers/helpers.js +0 -16
  966. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts +0 -1
  967. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.js +0 -134
  968. package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.d.ts +0 -4
  969. package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +0 -18
  970. package/dist/esm/swappers/utils/helpers/helpers.test.js +0 -8
  971. package/dist/esm/swappers/utils/test-data/cryptoMarketDataById.d.ts +0 -5
  972. package/dist/esm/swappers/utils/test-data/fees.d.ts +0 -2
  973. package/dist/esm/swappers/utils/test-data/fees.js +0 -17
  974. package/dist/esm/thorchain-utils/cosmossdk/getCosmosSdkTransactionFees.js +0 -11
  975. package/dist/esm/thorchain-utils/cosmossdk/getThorTxData.d.ts +0 -12
  976. package/dist/esm/thorchain-utils/cosmossdk/getThorTxData.js +0 -15
  977. package/dist/esm/thorchain-utils/cosmossdk/index.d.ts +0 -2
  978. package/dist/esm/thorchain-utils/cosmossdk/index.js +0 -2
  979. package/dist/esm/thorchain-utils/evm/getEvmData.d.ts +0 -13
  980. package/dist/esm/thorchain-utils/evm/getEvmData.js +0 -87
  981. package/dist/esm/thorchain-utils/evm/getEvmTransactionFees.d.ts +0 -2
  982. package/dist/esm/thorchain-utils/evm/getEvmTransactionFees.js +0 -19
  983. package/dist/esm/thorchain-utils/evm/getThorTxData.js +0 -29
  984. package/dist/esm/thorchain-utils/evm/getUnsignedEvmTransaction.js +0 -19
  985. package/dist/esm/thorchain-utils/evm/index.d.ts +0 -3
  986. package/dist/esm/thorchain-utils/evm/index.js +0 -3
  987. package/dist/esm/thorchain-utils/getCallDataFromQuote.d.ts +0 -9
  988. package/dist/esm/thorchain-utils/getCallDataFromQuote.js +0 -50
  989. package/dist/esm/thorchain-utils/getL1RateOrQuote.d.ts +0 -6
  990. package/dist/esm/thorchain-utils/getL1RateOrQuote.js +0 -473
  991. package/dist/esm/thorchain-utils/routerCallData/routerCalldata.d.ts +0 -8
  992. package/dist/esm/thorchain-utils/routerCallData/routerCalldata.js +0 -10
  993. package/dist/esm/thorchain-utils/solana/constants.d.ts +0 -1
  994. package/dist/esm/thorchain-utils/solana/constants.js +0 -3
  995. package/dist/esm/thorchain-utils/solana/getSolanaTransactionFees.d.ts +0 -2
  996. package/dist/esm/thorchain-utils/solana/getSolanaTransactionFees.js +0 -37
  997. package/dist/esm/thorchain-utils/solana/getThorTxData.d.ts +0 -12
  998. package/dist/esm/thorchain-utils/solana/getThorTxData.js +0 -10
  999. package/dist/esm/thorchain-utils/solana/getUnsignedSolanaTransaction.d.ts +0 -3
  1000. package/dist/esm/thorchain-utils/solana/getUnsignedSolanaTransaction.js +0 -60
  1001. package/dist/esm/thorchain-utils/solana/index.d.ts +0 -3
  1002. package/dist/esm/thorchain-utils/solana/index.js +0 -3
  1003. package/dist/esm/thorchain-utils/tron/getThorTxData.d.ts +0 -12
  1004. package/dist/esm/thorchain-utils/tron/getThorTxData.js +0 -10
  1005. package/dist/esm/thorchain-utils/utxo/getThorTxData.d.ts +0 -12
  1006. package/dist/esm/thorchain-utils/utxo/getThorTxData.js +0 -10
  1007. package/dist/esm/thorchain-utils/utxo/getUnsignedUtxoTransaction.js +0 -30
  1008. package/dist/esm/thorchain-utils/utxo/getUtxoTransactionFees.d.ts +0 -2
  1009. package/dist/esm/thorchain-utils/utxo/getUtxoTransactionFees.js +0 -25
  1010. package/dist/esm/thorchain-utils/utxo/index.d.ts +0 -3
  1011. package/dist/esm/thorchain-utils/utxo/index.js +0 -3
  1012. package/dist/esm/utils/tenderly/index.d.ts +0 -3
  1013. package/dist/esm/utils/tenderly/index.js +0 -3
  1014. package/dist/esm/utils/tenderly/simulate.d.ts +0 -25
  1015. package/dist/esm/utils/tenderly/simulate.js +0 -121
  1016. package/dist/esm/utils/tenderly/types.d.ts +0 -77
  1017. /package/dist/cjs/swappers/{ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.d.ts → ButterSwap/utils/getButterSwapStepData.test.d.ts} +0 -0
  1018. /package/dist/cjs/{safe-utils → swappers/CetusSwapper}/types.js +0 -0
  1019. /package/dist/cjs/swappers/CowSwapper/{CowSwapper.test.d.ts → utils/getCowSwapStepData.test.d.ts} +0 -0
  1020. /package/dist/cjs/swappers/CowSwapper/utils/{helpers/helpers.test.d.ts → helpers.test.d.ts} +0 -0
  1021. /package/dist/cjs/{swappers/utils → utils}/affiliateFee.js +0 -0
  1022. /package/dist/cjs/{thorchain-utils → utils}/cosmossdk/getCosmosSdkTransactionFees.d.ts +0 -0
  1023. /package/dist/cjs/{cowswap-utils → utils/cowswap}/constants.d.ts +0 -0
  1024. /package/dist/cjs/{cowswap-utils → utils/cowswap}/constants.js +0 -0
  1025. /package/dist/cjs/{thorchain-utils/memo → utils/cowswap}/index.test.d.ts +0 -0
  1026. /package/dist/cjs/{swappers/utils/helpers → utils}/helpers.test.d.ts +0 -0
  1027. /package/dist/cjs/{safe-utils → utils/safe}/constants.d.ts +0 -0
  1028. /package/dist/cjs/{safe-utils → utils/safe}/constants.js +0 -0
  1029. /package/dist/cjs/{safe-utils → utils/safe}/index.d.ts +0 -0
  1030. /package/dist/cjs/{safe-utils → utils/safe}/index.js +0 -0
  1031. /package/dist/cjs/{safe-utils → utils/safe}/types.d.ts +0 -0
  1032. /package/dist/cjs/utils/{tenderly → safe}/types.js +0 -0
  1033. /package/dist/cjs/{swappers/utils → utils}/test-data/assets.d.ts +0 -0
  1034. /package/dist/cjs/{swappers/utils → utils}/test-data/assets.js +0 -0
  1035. /package/dist/cjs/{swappers/utils → utils}/test-data/cryptoMarketDataById.js +0 -0
  1036. /package/dist/cjs/{swappers/utils → utils}/test-data/index.d.ts +0 -0
  1037. /package/dist/cjs/{swappers/utils → utils}/test-data/index.js +0 -0
  1038. /package/dist/cjs/{thorchain-utils → utils/thorchain}/getLatestThorTxStatusMessage.d.ts +0 -0
  1039. /package/dist/cjs/{thorchain-utils → utils/thorchain}/getLatestThorTxStatusMessage.js +0 -0
  1040. /package/dist/cjs/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.d.ts +0 -0
  1041. /package/dist/cjs/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.js +0 -0
  1042. /package/dist/cjs/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.test.d.ts +0 -0
  1043. /package/dist/cjs/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.test.js +0 -0
  1044. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addAggregatorAddressToMemo.d.ts +0 -0
  1045. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addAggregatorAddressToMemo.js +0 -0
  1046. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addFinalAssetAddressToMemo.d.ts +0 -0
  1047. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addFinalAssetAddressToMemo.js +0 -0
  1048. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addFinalAssetLimitToMemo.d.ts +0 -0
  1049. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addFinalAssetLimitToMemo.js +0 -0
  1050. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addLimitToMemo.d.ts +0 -0
  1051. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/addLimitToMemo.js +0 -0
  1052. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/assertAndProcessMemo.d.ts +0 -0
  1053. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/assertAndProcessMemo.js +0 -0
  1054. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/constants.d.ts +0 -0
  1055. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/constants.js +0 -0
  1056. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/index.d.ts +0 -0
  1057. /package/dist/cjs/{thorchain-utils → utils/thorchain}/memo/index.js +0 -0
  1058. /package/dist/{esm/thorchain-utils → cjs/utils/thorchain}/memo/index.test.d.ts +0 -0
  1059. /package/dist/cjs/{thorchain-utils → utils/thorchain}/parseBuyTxHash.d.ts +0 -0
  1060. /package/dist/cjs/{thorchain-utils → utils/thorchain}/parseBuyTxHash.js +0 -0
  1061. /package/dist/cjs/{thorchain-utils → utils/thorchain}/routerCallData/routerCallData.test.d.ts +0 -0
  1062. /package/dist/cjs/{thorchain-utils → utils/thorchain}/routerCallData/routerCallData.test.js +0 -0
  1063. /package/dist/cjs/{thorchain-utils → utils/thorchain}/types.js +0 -0
  1064. /package/dist/{cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.d.ts → esm/swappers/ButterSwap/utils/getButterSwapStepData.test.d.ts} +0 -0
  1065. /package/dist/esm/{safe-utils → swappers/CetusSwapper}/types.js +0 -0
  1066. /package/dist/{cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.test.d.ts → esm/swappers/CowSwapper/utils/getCowSwapStepData.test.d.ts} +0 -0
  1067. /package/dist/esm/swappers/CowSwapper/utils/{helpers/helpers.test.d.ts → helpers.test.d.ts} +0 -0
  1068. /package/dist/esm/{swappers/utils → utils}/affiliateFee.js +0 -0
  1069. /package/dist/esm/{thorchain-utils → utils}/cosmossdk/getCosmosSdkTransactionFees.d.ts +0 -0
  1070. /package/dist/esm/{cowswap-utils → utils/cowswap}/constants.d.ts +0 -0
  1071. /package/dist/esm/{cowswap-utils → utils/cowswap}/constants.js +0 -0
  1072. /package/dist/esm/{swappers/ArbitrumBridgeSwapper/getTradeQuote/getTradeQuote.test.d.ts → utils/cowswap/index.test.d.ts} +0 -0
  1073. /package/dist/esm/{swappers/utils/helpers → utils}/helpers.test.d.ts +0 -0
  1074. /package/dist/esm/{safe-utils → utils/safe}/constants.d.ts +0 -0
  1075. /package/dist/esm/{safe-utils → utils/safe}/constants.js +0 -0
  1076. /package/dist/esm/{safe-utils → utils/safe}/index.d.ts +0 -0
  1077. /package/dist/esm/{safe-utils → utils/safe}/index.js +0 -0
  1078. /package/dist/esm/{safe-utils → utils/safe}/types.d.ts +0 -0
  1079. /package/dist/esm/utils/{tenderly → safe}/types.js +0 -0
  1080. /package/dist/esm/{swappers/utils → utils}/test-data/assets.d.ts +0 -0
  1081. /package/dist/esm/{swappers/utils → utils}/test-data/assets.js +0 -0
  1082. /package/dist/esm/{swappers/utils → utils}/test-data/cryptoMarketDataById.js +0 -0
  1083. /package/dist/esm/{swappers/utils → utils}/test-data/index.d.ts +0 -0
  1084. /package/dist/esm/{swappers/utils → utils}/test-data/index.js +0 -0
  1085. /package/dist/esm/{thorchain-utils → utils/thorchain}/getLatestThorTxStatusMessage.d.ts +0 -0
  1086. /package/dist/esm/{thorchain-utils → utils/thorchain}/getLatestThorTxStatusMessage.js +0 -0
  1087. /package/dist/esm/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.d.ts +0 -0
  1088. /package/dist/esm/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.js +0 -0
  1089. /package/dist/esm/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.test.d.ts +0 -0
  1090. /package/dist/esm/{thorchain-utils → utils/thorchain}/getLimitWithManualSlippage/getLimitWithManualSlippage.test.js +0 -0
  1091. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addAggregatorAddressToMemo.d.ts +0 -0
  1092. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addAggregatorAddressToMemo.js +0 -0
  1093. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addFinalAssetAddressToMemo.d.ts +0 -0
  1094. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addFinalAssetAddressToMemo.js +0 -0
  1095. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addFinalAssetLimitToMemo.d.ts +0 -0
  1096. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addFinalAssetLimitToMemo.js +0 -0
  1097. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addLimitToMemo.d.ts +0 -0
  1098. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/addLimitToMemo.js +0 -0
  1099. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/assertAndProcessMemo.d.ts +0 -0
  1100. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/assertAndProcessMemo.js +0 -0
  1101. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/constants.d.ts +0 -0
  1102. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/constants.js +0 -0
  1103. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/index.d.ts +0 -0
  1104. /package/dist/esm/{thorchain-utils → utils/thorchain}/memo/index.js +0 -0
  1105. /package/dist/esm/{swappers/CowSwapper/CowSwapper.test.d.ts → utils/thorchain/memo/index.test.d.ts} +0 -0
  1106. /package/dist/esm/{thorchain-utils → utils/thorchain}/parseBuyTxHash.d.ts +0 -0
  1107. /package/dist/esm/{thorchain-utils → utils/thorchain}/parseBuyTxHash.js +0 -0
  1108. /package/dist/esm/{thorchain-utils → utils/thorchain}/routerCallData/routerCallData.test.d.ts +0 -0
  1109. /package/dist/esm/{thorchain-utils → utils/thorchain}/routerCallData/routerCallData.test.js +0 -0
  1110. /package/dist/esm/{thorchain-utils → utils/thorchain}/types.js +0 -0
@@ -0,0 +1,71 @@
1
+ import { ethChainId } from '@shapeshiftoss/caip';
2
+ import { viemClientByChainId } from '@shapeshiftoss/contracts';
3
+ import { Err, Ok } from '@sniptt/monads';
4
+ import { TradeQuoteError } from '../../../types.js';
5
+ import { makeSwapErrorRight } from '../../../utils/index.js';
6
+ // We only support ethereum longtail -> L1 swaps for now.
7
+ // We can later add BSC via UniV3, or Avalanche (e.g. via PancakeSwap)
8
+ export const assertValidLongtailToL1Trade = ({ sellAsset, deps, }) => {
9
+ if (sellAsset.chainId !== ethChainId) {
10
+ return Err(makeSwapErrorRight({
11
+ message: `[getThorTradeQuote] - Unsupported chainId ${sellAsset.chainId}.`,
12
+ code: TradeQuoteError.UnsupportedChain,
13
+ details: { sellAssetChainId: sellAsset.chainId },
14
+ }));
15
+ }
16
+ const buyAssetFeeAssetId = deps.assertGetChainAdapter(sellAsset.chainId)?.getFeeAssetId();
17
+ const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
18
+ if (!buyAssetFeeAsset) {
19
+ return Err(makeSwapErrorRight({
20
+ message: `[getThorTradeQuote] - No native buy asset found for ${sellAsset.chainId}.`,
21
+ code: TradeQuoteError.InternalError,
22
+ details: { sellAssetChainId: sellAsset.chainId },
23
+ }));
24
+ }
25
+ // TODO: use more than just UniswapV3, and also consider trianglar routes.
26
+ if (viemClientByChainId[sellAsset.chainId] === undefined) {
27
+ return Err(makeSwapErrorRight({
28
+ message: `no public client found for chainId '${sellAsset.chainId}'`,
29
+ code: TradeQuoteError.InternalError,
30
+ }));
31
+ }
32
+ return Ok({ buyAssetFeeAsset });
33
+ };
34
+ // We only support L1 -> ethereum longtail swaps for now.
35
+ export const assertValidL1ToLongtailTrade = async ({ sellAsset, buyAsset, deps, }) => {
36
+ const longtailTokensJson = await import('../generated/generatedThorLongtailTokens.json');
37
+ const longtailTokens = longtailTokensJson.default;
38
+ if (!longtailTokens.includes(buyAsset.assetId)) {
39
+ return Err(makeSwapErrorRight({
40
+ message: `[getThorTradeQuote] - Unsupported buyAssetId ${buyAsset.assetId}.`,
41
+ code: TradeQuoteError.UnsupportedTradePair,
42
+ details: { buyAsset, sellAsset },
43
+ }));
44
+ }
45
+ if (buyAsset.chainId !== ethChainId) {
46
+ return Err(makeSwapErrorRight({
47
+ message: `[getThorTradeQuote] - Unsupported chainId ${buyAsset.chainId}.`,
48
+ code: TradeQuoteError.UnsupportedChain,
49
+ details: { buyAssetChainId: buyAsset.chainId },
50
+ }));
51
+ }
52
+ const sellAssetFeeAssetId = deps.assertGetChainAdapter(sellAsset.chainId).getFeeAssetId();
53
+ const sellAssetFeeAsset = sellAssetFeeAssetId ? deps.assetsById[sellAssetFeeAssetId] : undefined;
54
+ const buyAssetFeeAssetId = deps.assertGetChainAdapter(buyAsset.chainId).getFeeAssetId();
55
+ const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
56
+ if (!buyAssetFeeAsset) {
57
+ return Err(makeSwapErrorRight({
58
+ message: `[getThorTradeQuote] - No native buy asset found for ${buyAsset.chainId}.`,
59
+ code: TradeQuoteError.InternalError,
60
+ details: { buyAssetChainId: buyAsset.chainId },
61
+ }));
62
+ }
63
+ if (!sellAssetFeeAsset) {
64
+ return Err(makeSwapErrorRight({
65
+ message: `[getThorTradeQuote] - No native buy asset found for ${sellAsset.chainId}.`,
66
+ code: TradeQuoteError.InternalError,
67
+ details: { sellAssetChainId: sellAsset.chainId },
68
+ }));
69
+ }
70
+ return Ok({ buyAssetFeeAsset, longtailTokens });
71
+ };
@@ -0,0 +1,12 @@
1
+ import type { Asset } from '@shapeshiftoss/types';
2
+ import type { Result } from '@sniptt/monads';
3
+ import type { SwapErrorRight, SwapperDeps } from '../../../types.js';
4
+ import { TradeType } from '../../../utils/thorchain/index.js';
5
+ export declare const assertValidTrade: ({ sellAsset, buyAsset, deps, }: {
6
+ sellAsset: Asset;
7
+ buyAsset: Asset;
8
+ deps: SwapperDeps;
9
+ }) => Promise<Result<{
10
+ tradeType: TradeType;
11
+ streamingInterval: number;
12
+ }, SwapErrorRight>>;
@@ -0,0 +1,41 @@
1
+ import { Err, Ok } from '@sniptt/monads';
2
+ import { SwapperName, TradeQuoteError } from '../../../types.js';
3
+ import { makeSwapErrorRight } from '../../../utils/index.js';
4
+ import { getPoolDetails, TradeType } from '../../../utils/thorchain/index.js';
5
+ import { THORCHAIN_SUPPORTED_CHAIN_IDS } from '../constants.js';
6
+ import { getTradeType } from './longTailHelpers.js';
7
+ export const assertValidTrade = async ({ sellAsset, buyAsset, deps, }) => {
8
+ if (!THORCHAIN_SUPPORTED_CHAIN_IDS.includes(sellAsset.chainId) ||
9
+ !THORCHAIN_SUPPORTED_CHAIN_IDS.includes(buyAsset.chainId)) {
10
+ return Err(makeSwapErrorRight({
11
+ message: 'Unsupported chain',
12
+ code: TradeQuoteError.UnsupportedChain,
13
+ }));
14
+ }
15
+ const poolDetails = await getPoolDetails({
16
+ buyAsset,
17
+ sellAsset,
18
+ url: `${deps.config.VITE_THORCHAIN_NODE_URL}/thorchain/pools`,
19
+ swapperName: SwapperName.Thorchain,
20
+ });
21
+ if (poolDetails.isErr())
22
+ return Err(poolDetails.unwrapErr());
23
+ const { buyPool, buyPoolId, sellPool, sellPoolId, streamingInterval } = poolDetails.unwrap();
24
+ const tradeType = deps.config.VITE_FEATURE_THORCHAINSWAP_LONGTAIL
25
+ ? getTradeType(sellPool, buyPool, sellPoolId, buyPoolId)
26
+ : TradeType.L1ToL1;
27
+ if (tradeType === undefined) {
28
+ return Err(makeSwapErrorRight({
29
+ message: 'Unknown trade type',
30
+ code: TradeQuoteError.UnsupportedTradePair,
31
+ }));
32
+ }
33
+ if ((!buyPoolId && tradeType !== TradeType.L1ToLongTail) ||
34
+ (!sellPoolId && tradeType !== TradeType.LongTailToL1)) {
35
+ return Err(makeSwapErrorRight({
36
+ message: 'Unsupported trade pair',
37
+ code: TradeQuoteError.UnsupportedTradePair,
38
+ }));
39
+ }
40
+ return Ok({ tradeType, streamingInterval });
41
+ };
@@ -3,7 +3,7 @@ import { Err, Ok } from '@sniptt/monads';
3
3
  import assert from 'assert';
4
4
  import { getContract } from 'viem';
5
5
  import { TradeQuoteError } from '../../../types.js';
6
- import { makeSwapErrorRight } from '../../../utils.js';
6
+ import { makeSwapErrorRight } from '../../../utils/index.js';
7
7
  import { feeAmountToContractMap, generateV3PoolAddressesAcrossFeeRange, getContractDataByPool, getQuotedAmountOutByPool, selectBestRate, } from './longTailHelpers.js';
8
8
  export const getBestAggregator = async (buyAsset, sellToken, buyToken, sellAmountIncludingProtocolFeesCryptoBaseUnit) => {
9
9
  const publicClient = viemClientByChainId[buyAsset.chainId];
@@ -1,4 +1,4 @@
1
1
  import type { Result } from '@sniptt/monads';
2
- import type { ThorTradeQuote } from '../../../thorchain-utils/index.js';
3
- import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
4
- export declare const getL1ToLongtailQuote: (input: CommonTradeQuoteInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeQuote[], SwapErrorRight>>;
2
+ import type { SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
3
+ import type { ThorTradeQuote, ThorTradeQuoteInput } from '../../../utils/thorchain/index.js';
4
+ export declare const getL1ToLongtailQuote: (input: ThorTradeQuoteInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeQuote[], SwapErrorRight>>;
@@ -1,86 +1,50 @@
1
- import { ethChainId } from '@shapeshiftoss/caip';
2
1
  import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET } from '@shapeshiftoss/contracts';
3
- import { convertDecimalPercentageToBasisPoints, isFulfilled, isRejected, isResolvedErr, } from '@shapeshiftoss/utils';
2
+ import { convertDecimalPercentageToBasisPoints } from '@shapeshiftoss/utils';
4
3
  import { Err, Ok } from '@sniptt/monads';
5
4
  import { getDefaultSlippageDecimalPercentageForSwapper } from '../../../constants.js';
6
- import { getAffiliate, getL1RateOrQuote, TradeType } from '../../../thorchain-utils/index.js';
7
5
  import { TradeQuoteError } from '../../../types.js';
8
- import { getHopByIndex, makeSwapErrorRight } from '../../../utils.js';
6
+ import { assertQuoteAddresses, makeSwapErrorRight } from '../../../utils/index.js';
7
+ import { getAffiliate, getSuccessfulTrades, getThorL1TradeQuote, getThorStepData, TradeType, } from '../../../utils/thorchain/index.js';
9
8
  import { addL1ToLongtailPartsToMemo } from './addL1ToLongtailPartsToMemo/addL1ToLongtailPartsToMemo.js';
9
+ import { assertValidL1ToLongtailTrade } from './assertValidLongtailTrade.js';
10
10
  import { getBestAggregator } from './getBestAggregator.js';
11
11
  import { getTokenFromAsset, getWrappedToken } from './longTailHelpers.js';
12
12
  // This just uses UniswapV3 to get the longtail quote for now.
13
13
  export const getL1ToLongtailQuote = async (input, deps, streamingInterval, swapperName) => {
14
14
  const { buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, sellAsset, slippageTolerancePercentageDecimal, } = input;
15
- const longtailTokensJson = await import('../generated/generatedThorLongtailTokens.json');
16
- const longtailTokens = longtailTokensJson.default;
17
- if (!longtailTokens.includes(buyAsset.assetId)) {
18
- return Err(makeSwapErrorRight({
19
- message: `[getThorTradeQuote] - Unsupported buyAssetId ${buyAsset.assetId}.`,
20
- code: TradeQuoteError.UnsupportedTradePair,
21
- details: { buyAsset, sellAsset },
22
- }));
23
- }
24
- /*
25
- We only support L1 -> ethereum longtail swaps for now.
26
- */
27
- if (buyAsset.chainId !== ethChainId) {
28
- return Err(makeSwapErrorRight({
29
- message: `[getThorTradeQuote] - Unsupported chainId ${buyAsset.chainId}.`,
30
- code: TradeQuoteError.UnsupportedChain,
31
- details: { buyAssetChainId: buyAsset.chainId },
32
- }));
33
- }
34
- const sellAssetChainId = sellAsset.chainId;
35
- const buyAssetChainId = buyAsset.chainId;
36
- const sellAssetFeeAssetId = deps.assertGetChainAdapter(sellAssetChainId).getFeeAssetId();
37
- const sellAssetFeeAsset = sellAssetFeeAssetId ? deps.assetsById[sellAssetFeeAssetId] : undefined;
38
- const buyAssetFeeAssetId = deps.assertGetChainAdapter(buyAssetChainId).getFeeAssetId();
39
- const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
40
- if (!buyAssetFeeAsset) {
41
- return Err(makeSwapErrorRight({
42
- message: `[getThorTradeQuote] - No native buy asset found for ${buyAssetChainId}.`,
43
- code: TradeQuoteError.InternalError,
44
- details: { buyAssetChainId },
45
- }));
46
- }
47
- if (!sellAssetFeeAsset) {
48
- return Err(makeSwapErrorRight({
49
- message: `[getThorTradeQuote] - No native buy asset found for ${sellAssetChainId}.`,
50
- code: TradeQuoteError.InternalError,
51
- details: { sellAssetChainId },
52
- }));
53
- }
15
+ const addresses = assertQuoteAddresses(input);
16
+ if (addresses.isErr())
17
+ return Err(addresses.unwrapErr());
18
+ const { sendAddress: from } = addresses.unwrap();
19
+ const assertion = await assertValidL1ToLongtailTrade({ sellAsset, buyAsset, deps });
20
+ if (assertion.isErr())
21
+ return Err(assertion.unwrapErr());
22
+ const { buyAssetFeeAsset, longtailTokens } = assertion.unwrap();
54
23
  const l1Tol1QuoteInput = {
55
24
  ...input,
56
25
  buyAsset: buyAssetFeeAsset,
57
26
  sellAsset,
58
27
  sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit,
59
28
  };
60
- const maybeThorchainQuotes = await getL1RateOrQuote(l1Tol1QuoteInput, deps, streamingInterval, TradeType.L1ToLongTail, swapperName);
61
- if (maybeThorchainQuotes.isErr())
62
- return Err(maybeThorchainQuotes.unwrapErr());
63
- const thorchainQuotes = maybeThorchainQuotes.unwrap();
64
- let bestAggregator;
65
- let quotedAmountOut;
66
- const promises = await Promise.allSettled(thorchainQuotes.map(async (quote) => {
67
- // A quote always has a first step
68
- const onlyStep = getHopByIndex(quote, 0);
69
- // Or well... it should.
70
- if (!onlyStep) {
29
+ const maybeL1Quotes = await getThorL1TradeQuote(l1Tol1QuoteInput, deps, streamingInterval, TradeType.L1ToLongTail, swapperName);
30
+ if (maybeL1Quotes.isErr())
31
+ return Err(maybeL1Quotes.unwrapErr());
32
+ const maybeQuotes = await Promise.allSettled(maybeL1Quotes.unwrap().map(async (quote) => {
33
+ const [step] = quote.steps;
34
+ const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getWrappedToken(buyAssetFeeAsset), getTokenFromAsset(buyAsset), step.buyAmountAfterFeesCryptoBaseUnit);
35
+ if (maybeBestAggregator.isErr())
36
+ return Err(maybeBestAggregator.unwrapErr());
37
+ const { bestAggregator, quotedAmountOut } = maybeBestAggregator.unwrap();
38
+ // Paranoia - a zero expected amount out would likely lead to a loss of funds, and is encoded into
39
+ // the memo below as well as the calldata
40
+ if (quotedAmountOut <= 0n) {
71
41
  return Err(makeSwapErrorRight({
72
- message: `[getL1ToLongtailQuote] - First hop not found`,
42
+ message: '[getL1ToLongtailQuote] - expected a positive amount out',
73
43
  code: TradeQuoteError.InternalError,
74
44
  }));
75
45
  }
76
- const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getWrappedToken(buyAssetFeeAsset), getTokenFromAsset(buyAsset), onlyStep.buyAmountAfterFeesCryptoBaseUnit);
77
- if (maybeBestAggregator.isErr())
78
- return Err(maybeBestAggregator.unwrapErr());
79
- const unwrappedResult = maybeBestAggregator.unwrap();
80
- bestAggregator = unwrappedResult.bestAggregator;
81
- quotedAmountOut = unwrappedResult.quotedAmountOut;
82
46
  const updatedMemo = addL1ToLongtailPartsToMemo({
83
- sellAssetChainId,
47
+ sellAssetChainId: sellAsset.chainId,
84
48
  aggregator: bestAggregator,
85
49
  finalAssetAssetId: buyAsset.assetId,
86
50
  finalAssetAmountOut: quotedAmountOut.toString(),
@@ -90,10 +54,28 @@ export const getL1ToLongtailQuote = async (input, deps, streamingInterval, swapp
90
54
  longtailTokens,
91
55
  affiliate: getAffiliate(swapperName),
92
56
  });
57
+ // getThorL1TradeQuote built the step against the pre-aggregator memo, so rebuild the tx data
58
+ // and fees through the shared step data now that the final memo is known
59
+ const stepData = await getThorStepData({
60
+ type: 'quote',
61
+ input,
62
+ from,
63
+ deps,
64
+ swapperName,
65
+ tradeType: TradeType.L1ToLongTail,
66
+ sellAsset,
67
+ sellAmountCryptoBaseUnit: step.sellAmountIncludingProtocolFeesCryptoBaseUnit,
68
+ memo: updatedMemo,
69
+ expiry: quote.expiry,
70
+ rawMemo: updatedMemo,
71
+ });
72
+ if (stepData.isErr())
73
+ return Err(stepData.unwrapErr());
74
+ const { data, transactionData, networkFeeCryptoBaseUnit } = stepData.unwrap();
93
75
  return Ok({
94
76
  ...quote,
95
77
  memo: updatedMemo,
96
- aggregator: bestAggregator,
78
+ data,
97
79
  steps: quote.steps.map(s => ({
98
80
  ...s,
99
81
  buyAsset,
@@ -101,19 +83,11 @@ export const getL1ToLongtailQuote = async (input, deps, streamingInterval, swapp
101
83
  // This is wrong, we should get the get the value before fees or display ETH value received after the thorchain bridge
102
84
  buyAmountBeforeFeesCryptoBaseUnit: quotedAmountOut.toString(),
103
85
  allowanceContract: TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET,
86
+ transactionData,
87
+ feeData: { ...s.feeData, networkFeeCryptoBaseUnit },
104
88
  })),
105
89
  isLongtail: true,
106
- longtailData: {
107
- L1ToLongtailExpectedAmountOut: quotedAmountOut.toString(),
108
- },
109
90
  });
110
91
  }));
111
- if (promises.every(promise => isRejected(promise) || isResolvedErr(promise))) {
112
- return Err(makeSwapErrorRight({
113
- message: '[getThorTradeQuote] - failed to get best aggregator',
114
- code: TradeQuoteError.InternalError,
115
- }));
116
- }
117
- const updatedQuotes = promises.filter(isFulfilled).map(element => element.value.unwrap());
118
- return Ok(updatedQuotes);
92
+ return getSuccessfulTrades(maybeQuotes);
119
93
  };
@@ -1,4 +1,4 @@
1
1
  import type { Result } from '@sniptt/monads';
2
- import type { ThorTradeRate } from '../../../thorchain-utils/index.js';
3
- import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
4
- export declare const getL1ToLongtailRate: (input: GetTradeRateInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeRate[], SwapErrorRight>>;
2
+ import type { SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
3
+ import type { ThorTradeRate, ThorTradeRateInput } from '../../../utils/thorchain/index.js';
4
+ export declare const getL1ToLongtailRate: (input: ThorTradeRateInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeRate[], SwapErrorRight>>;
@@ -1,87 +1,34 @@
1
- import { ethChainId } from '@shapeshiftoss/caip';
2
1
  import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET } from '@shapeshiftoss/contracts';
3
- import { isFulfilled, isRejected, isResolvedErr } from '@shapeshiftoss/utils';
4
2
  import { Err, Ok } from '@sniptt/monads';
5
- import { getL1RateOrQuote, TradeType } from '../../../thorchain-utils/index.js';
6
- import { TradeQuoteError } from '../../../types.js';
7
- import { getHopByIndex, makeSwapErrorRight } from '../../../utils.js';
3
+ import { getSuccessfulTrades, getThorL1TradeRate, TradeType } from '../../../utils/thorchain/index.js';
4
+ import { assertValidL1ToLongtailTrade } from './assertValidLongtailTrade.js';
8
5
  import { getBestAggregator } from './getBestAggregator.js';
9
6
  import { getTokenFromAsset, getWrappedToken } from './longTailHelpers.js';
10
7
  export const getL1ToLongtailRate = async (input, deps, streamingInterval, swapperName) => {
11
8
  const { buyAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit, sellAsset, } = input;
12
- const longtailTokensJson = await import('../generated/generatedThorLongtailTokens.json');
13
- const longtailTokens = longtailTokensJson.default;
14
- if (!longtailTokens.includes(buyAsset.assetId)) {
15
- return Err(makeSwapErrorRight({
16
- message: `[getThorTradeQuote] - Unsupported buyAssetId ${buyAsset.assetId}.`,
17
- code: TradeQuoteError.UnsupportedTradePair,
18
- details: { buyAsset, sellAsset },
19
- }));
20
- }
21
- /*
22
- We only support L1 -> ethereum longtail swaps for now.
23
- */
24
- if (buyAsset.chainId !== ethChainId) {
25
- return Err(makeSwapErrorRight({
26
- message: `[getThorTradeQuote] - Unsupported chainId ${buyAsset.chainId}.`,
27
- code: TradeQuoteError.UnsupportedChain,
28
- details: { buyAssetChainId: buyAsset.chainId },
29
- }));
30
- }
31
- const sellAssetChainId = sellAsset.chainId;
32
- const buyAssetChainId = buyAsset.chainId;
33
- const sellAssetFeeAssetId = deps.assertGetChainAdapter(sellAssetChainId).getFeeAssetId();
34
- const sellAssetFeeAsset = sellAssetFeeAssetId ? deps.assetsById[sellAssetFeeAssetId] : undefined;
35
- const buyAssetFeeAssetId = deps.assertGetChainAdapter(buyAssetChainId).getFeeAssetId();
36
- const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
37
- if (!buyAssetFeeAsset) {
38
- return Err(makeSwapErrorRight({
39
- message: `[getThorTradeQuote] - No native buy asset found for ${buyAssetChainId}.`,
40
- code: TradeQuoteError.InternalError,
41
- details: { buyAssetChainId },
42
- }));
43
- }
44
- if (!sellAssetFeeAsset) {
45
- return Err(makeSwapErrorRight({
46
- message: `[getThorTradeQuote] - No native buy asset found for ${sellAssetChainId}.`,
47
- code: TradeQuoteError.InternalError,
48
- details: { sellAssetChainId },
49
- }));
50
- }
9
+ const assertion = await assertValidL1ToLongtailTrade({ sellAsset, buyAsset, deps });
10
+ if (assertion.isErr())
11
+ return Err(assertion.unwrapErr());
12
+ const { buyAssetFeeAsset } = assertion.unwrap();
51
13
  const l1Tol1RateInput = {
52
14
  ...input,
53
15
  buyAsset: buyAssetFeeAsset,
54
16
  sellAsset,
55
17
  sellAmountIncludingProtocolFeesCryptoBaseUnit: sellAmountCryptoBaseUnit,
56
18
  };
57
- const maybeThorchainRates = await getL1RateOrQuote(l1Tol1RateInput, deps, streamingInterval, TradeType.L1ToLongTail, swapperName);
58
- if (maybeThorchainRates.isErr())
59
- return Err(maybeThorchainRates.unwrapErr());
60
- const thorchainRates = maybeThorchainRates.unwrap();
61
- let bestAggregator;
62
- let quotedAmountOut;
63
- const promises = await Promise.allSettled(thorchainRates.map(async (quote) => {
64
- // A quote always has a first step
65
- const onlyStep = getHopByIndex(quote, 0);
66
- // Or well... it should.
67
- if (!onlyStep) {
68
- return Err(makeSwapErrorRight({
69
- message: `[getL1ToLongtailRate] - First hop not found`,
70
- code: TradeQuoteError.InternalError,
71
- }));
72
- }
73
- const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getWrappedToken(buyAssetFeeAsset), getTokenFromAsset(buyAsset), onlyStep.buyAmountAfterFeesCryptoBaseUnit);
19
+ const maybeL1Rates = await getThorL1TradeRate(l1Tol1RateInput, deps, streamingInterval, TradeType.L1ToLongTail, swapperName);
20
+ if (maybeL1Rates.isErr())
21
+ return Err(maybeL1Rates.unwrapErr());
22
+ const maybeRates = await Promise.allSettled(maybeL1Rates.unwrap().map(async (quote) => {
23
+ const [step] = quote.steps;
24
+ const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getWrappedToken(buyAssetFeeAsset), getTokenFromAsset(buyAsset), step.buyAmountAfterFeesCryptoBaseUnit);
74
25
  if (maybeBestAggregator.isErr())
75
26
  return Err(maybeBestAggregator.unwrapErr());
76
- const unwrappedResult = maybeBestAggregator.unwrap();
77
- bestAggregator = unwrappedResult.bestAggregator;
78
- quotedAmountOut = unwrappedResult.quotedAmountOut;
79
- // No memo is returned upstream for rates
80
- const updatedMemo = '';
27
+ const { quotedAmountOut } = maybeBestAggregator.unwrap();
81
28
  return Ok({
82
29
  ...quote,
83
- memo: updatedMemo,
84
- aggregator: bestAggregator,
30
+ // No memo is returned upstream for rates
31
+ memo: '',
85
32
  steps: quote.steps.map(s => ({
86
33
  ...s,
87
34
  buyAsset,
@@ -91,17 +38,7 @@ export const getL1ToLongtailRate = async (input, deps, streamingInterval, swappe
91
38
  allowanceContract: TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET,
92
39
  })),
93
40
  isLongtail: true,
94
- longtailData: {
95
- L1ToLongtailExpectedAmountOut: quotedAmountOut.toString(),
96
- },
97
41
  });
98
42
  }));
99
- if (promises.every(promise => isRejected(promise) || isResolvedErr(promise))) {
100
- return Err(makeSwapErrorRight({
101
- message: '[getThorTradeQuote] - failed to get best aggregator',
102
- code: TradeQuoteError.InternalError,
103
- }));
104
- }
105
- const updatedQuotes = promises.filter(isFulfilled).map(element => element.value.unwrap());
106
- return Ok(updatedQuotes);
43
+ return getSuccessfulTrades(maybeRates);
107
44
  };
@@ -1,4 +1,4 @@
1
1
  import type { Result } from '@sniptt/monads';
2
- import type { ThorTradeQuote } from '../../../thorchain-utils/index.js';
3
- import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
4
- export declare const getLongtailToL1Quote: (input: CommonTradeQuoteInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeQuote[], SwapErrorRight>>;
2
+ import type { SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
3
+ import type { ThorTradeQuote, ThorTradeQuoteInput } from '../../../utils/thorchain/index.js';
4
+ export declare const getLongtailToL1Quote: (input: ThorTradeQuoteInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeQuote[], SwapErrorRight>>;
@@ -1,66 +1,92 @@
1
- import { ethChainId } from '@shapeshiftoss/caip';
2
- import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET, viemClientByChainId, } from '@shapeshiftoss/contracts';
1
+ import { TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET } from '@shapeshiftoss/contracts';
2
+ import { BigNumber, bn, bnOrZero } from '@shapeshiftoss/utils';
3
3
  import { Err, Ok } from '@sniptt/monads';
4
- import assert from 'assert';
5
- import { getL1RateOrQuote, TradeType } from '../../../thorchain-utils/index.js';
6
4
  import { TradeQuoteError } from '../../../types.js';
7
- import { makeSwapErrorRight } from '../../../utils.js';
5
+ import { assertQuoteAddresses, makeSwapErrorRight } from '../../../utils/index.js';
6
+ import { getSuccessfulTrades, getThorL1TradeQuote, getThorStepData, TradeType, } from '../../../utils/thorchain/index.js';
7
+ import { assertValidLongtailToL1Trade } from './assertValidLongtailTrade.js';
8
8
  import { getBestAggregator } from './getBestAggregator.js';
9
9
  import { getTokenFromAsset, getWrappedToken } from './longTailHelpers.js';
10
+ const LONGTAIL_TO_L1_DEADLINE_SECONDS = 600n;
10
11
  // This just uses UniswapV3 to get the longtail quote for now.
11
12
  export const getLongtailToL1Quote = async (input, deps, streamingInterval, swapperName) => {
12
13
  const { sellAsset, sellAmountIncludingProtocolFeesCryptoBaseUnit } = input;
13
- /*
14
- We only support ethereum longtail -> L1 swaps for now.
15
- We can later add BSC via UniV3, or Avalanche (e.g. via PancakeSwap)
16
- */
17
- if (sellAsset.chainId !== ethChainId) {
18
- return Err(makeSwapErrorRight({
19
- message: `[getThorTradeQuote] - Unsupported chainId ${sellAsset.chainId}.`,
20
- code: TradeQuoteError.UnsupportedChain,
21
- details: { sellAssetChainId: sellAsset.chainId },
22
- }));
23
- }
24
- const sellChainId = sellAsset.chainId;
25
- const buyAssetFeeAssetId = deps.assertGetChainAdapter(sellChainId)?.getFeeAssetId();
26
- const buyAssetFeeAsset = buyAssetFeeAssetId ? deps.assetsById[buyAssetFeeAssetId] : undefined;
27
- if (!buyAssetFeeAsset) {
14
+ const addresses = assertQuoteAddresses(input);
15
+ if (addresses.isErr())
16
+ return Err(addresses.unwrapErr());
17
+ const { sendAddress: from } = addresses.unwrap();
18
+ const assertion = assertValidLongtailToL1Trade({ sellAsset, deps });
19
+ if (assertion.isErr())
20
+ return Err(assertion.unwrapErr());
21
+ const { buyAssetFeeAsset } = assertion.unwrap();
22
+ const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getTokenFromAsset(sellAsset), getWrappedToken(buyAssetFeeAsset), sellAmountIncludingProtocolFeesCryptoBaseUnit);
23
+ if (maybeBestAggregator.isErr())
24
+ return Err(maybeBestAggregator.unwrapErr());
25
+ const { bestAggregator, quotedAmountOut } = maybeBestAggregator.unwrap();
26
+ // Paranoia - a zero expected amount out would likely lead to a loss of funds
27
+ if (quotedAmountOut <= 0n) {
28
28
  return Err(makeSwapErrorRight({
29
- message: `[getThorTradeQuote] - No native buy asset found for ${sellChainId}.`,
29
+ message: '[getLongtailToL1Quote] - expected a positive amount out',
30
30
  code: TradeQuoteError.InternalError,
31
- details: { sellAssetChainId: sellChainId },
32
31
  }));
33
32
  }
34
- // TODO: use more than just UniswapV3, and also consider trianglar routes.
35
- const publicClient = viemClientByChainId[sellChainId];
36
- assert(publicClient !== undefined, `no public client found for chainId '${sellChainId}'`);
37
- const maybeBestAggregator = await getBestAggregator(buyAssetFeeAsset, getTokenFromAsset(sellAsset), getWrappedToken(buyAssetFeeAsset), sellAmountIncludingProtocolFeesCryptoBaseUnit);
38
- if (maybeBestAggregator.isErr()) {
39
- return Err(maybeBestAggregator.unwrapErr());
40
- }
41
- const { bestAggregator, quotedAmountOut } = maybeBestAggregator.unwrap();
42
33
  const l1Tol1QuoteInput = {
43
34
  ...input,
44
35
  sellAsset: buyAssetFeeAsset,
45
36
  sellAmountIncludingProtocolFeesCryptoBaseUnit: quotedAmountOut.toString(),
46
37
  };
47
- const thorchainQuotes = await getL1RateOrQuote(l1Tol1QuoteInput, deps, streamingInterval, TradeType.LongTailToL1, swapperName);
48
- return thorchainQuotes.andThen(quotes => {
49
- const updatedQuotes = quotes.map(q => ({
50
- ...q,
51
- aggregator: bestAggregator,
38
+ // The sell side is asserted to be ethereum above, so these are always evm quotes
39
+ const maybeL1Quotes = await getThorL1TradeQuote(l1Tol1QuoteInput, deps, streamingInterval, TradeType.LongTailToL1, swapperName);
40
+ if (maybeL1Quotes.isErr())
41
+ return Err(maybeL1Quotes.unwrapErr());
42
+ const maybeQuotes = await Promise.allSettled(maybeL1Quotes.unwrap().map(async (quote) => {
43
+ const amountOutMin = BigInt(bnOrZero(quotedAmountOut.toString())
44
+ .times(bn(1).minus(quote.slippageTolerancePercentageDecimal ?? 0))
45
+ .toFixed(0, BigNumber.ROUND_UP));
46
+ // Paranoia: ensure we have this to prevent sandwich attacks on the first step of a LongtailToL1 trade
47
+ if (amountOutMin <= 0n) {
48
+ return Err(makeSwapErrorRight({
49
+ message: '[getLongtailToL1Quote] - expected amountOutMin to be a positive amount',
50
+ code: TradeQuoteError.InternalError,
51
+ }));
52
+ }
53
+ // The deadline doubles as the THORChain deposit expiry, so it stays pinned to quote time rather
54
+ // than being refreshed at execution - a stale quote reverts instead of executing on newer terms
55
+ const deadline = BigInt(Math.floor(Date.now() / 1000)) + LONGTAIL_TO_L1_DEADLINE_SECONDS;
56
+ // Swap the direct deposit built by getThorL1TradeQuote for the aggregator swapIn we execute
57
+ const maybeStepData = await getThorStepData({
58
+ type: 'quote',
59
+ input,
60
+ from,
61
+ deps,
62
+ swapperName,
63
+ tradeType: TradeType.LongTailToL1,
64
+ sellAsset,
65
+ sellAmountCryptoBaseUnit: sellAmountIncludingProtocolFeesCryptoBaseUnit,
66
+ memo: quote.memo,
67
+ expiry: quote.expiry,
68
+ rawMemo: quote.memo,
69
+ longtail: { aggregator: bestAggregator, amountOutMin, deadline },
70
+ });
71
+ if (maybeStepData.isErr())
72
+ return Err(maybeStepData.unwrapErr());
73
+ const { data, transactionData, networkFeeCryptoBaseUnit } = maybeStepData.unwrap();
74
+ return Ok({
75
+ ...quote,
76
+ // The aggregator swapIn deadline is tighter than the daemon quote expiry
77
+ deadline: Math.min(quote.deadline, Number(deadline) * 1000),
78
+ data: data ?? quote.data,
52
79
  // This logic will need to be updated to support multi-hop, if that's ever implemented for THORChain
53
- steps: q.steps.map(s => ({
80
+ steps: quote.steps.map(s => ({
54
81
  ...s,
55
82
  sellAmountIncludingProtocolFeesCryptoBaseUnit,
56
83
  sellAsset,
57
84
  allowanceContract: TS_AGGREGATOR_TOKEN_TRANSFER_PROXY_CONTRACT_MAINNET,
85
+ transactionData,
86
+ feeData: { ...s.feeData, networkFeeCryptoBaseUnit },
58
87
  })),
59
88
  isLongtail: true,
60
- longtailData: {
61
- longtailToL1ExpectedAmountOut: quotedAmountOut.toString(),
62
- },
63
- }));
64
- return Ok(updatedQuotes);
65
- });
89
+ });
90
+ }));
91
+ return getSuccessfulTrades(maybeQuotes);
66
92
  };
@@ -1,4 +1,4 @@
1
1
  import type { Result } from '@sniptt/monads';
2
- import type { ThorTradeRate } from '../../../thorchain-utils/index.js';
3
- import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
4
- export declare const getLongtailToL1Rate: (input: GetTradeRateInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeRate[], SwapErrorRight>>;
2
+ import type { SwapErrorRight, SwapperDeps, SwapperName } from '../../../types.js';
3
+ import type { ThorTradeRate, ThorTradeRateInput } from '../../../utils/thorchain/index.js';
4
+ export declare const getLongtailToL1Rate: (input: ThorTradeRateInput, deps: SwapperDeps, streamingInterval: number, swapperName: SwapperName) => Promise<Result<ThorTradeRate[], SwapErrorRight>>;