@shapeshiftoss/swapper 17.6.9 → 17.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/LICENSE.md +21 -0
  2. package/dist/cjs/.tsbuildinfo +1 -1
  3. package/dist/cjs/constants.js +72 -43
  4. package/dist/cjs/cowswap-utils/constants.js +3 -0
  5. package/dist/cjs/cowswap-utils/index.js +6 -0
  6. package/dist/cjs/index.d.ts +1 -0
  7. package/dist/cjs/index.js +1 -0
  8. package/dist/cjs/swappers/AcrossSwapper/AcrossSwapper.d.ts +2 -0
  9. package/dist/cjs/swappers/AcrossSwapper/AcrossSwapper.js +8 -0
  10. package/dist/cjs/swappers/AcrossSwapper/constant.d.ts +9 -0
  11. package/dist/cjs/swappers/AcrossSwapper/constant.js +50 -0
  12. package/dist/cjs/swappers/AcrossSwapper/endpoints.d.ts +2 -0
  13. package/dist/cjs/swappers/AcrossSwapper/endpoints.js +113 -0
  14. package/dist/cjs/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
  15. package/dist/cjs/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.js +31 -0
  16. package/dist/cjs/swappers/AcrossSwapper/getTradeRate/getTradeRate.d.ts +3 -0
  17. package/dist/cjs/swappers/AcrossSwapper/getTradeRate/getTradeRate.js +19 -0
  18. package/dist/cjs/swappers/AcrossSwapper/index.d.ts +1 -0
  19. package/dist/cjs/swappers/AcrossSwapper/index.js +5 -0
  20. package/dist/cjs/swappers/AcrossSwapper/utils/acrossService.d.ts +5 -0
  21. package/dist/cjs/swappers/AcrossSwapper/utils/acrossService.js +17 -0
  22. package/dist/cjs/swappers/AcrossSwapper/utils/fetchAcrossTrade.d.ts +19 -0
  23. package/dist/cjs/swappers/AcrossSwapper/utils/fetchAcrossTrade.js +27 -0
  24. package/dist/cjs/swappers/AcrossSwapper/utils/getTrade.d.ts +11 -0
  25. package/dist/cjs/swappers/AcrossSwapper/utils/getTrade.js +349 -0
  26. package/dist/cjs/swappers/AcrossSwapper/utils/types.d.ts +177 -0
  27. package/dist/cjs/swappers/AcrossSwapper/utils/types.js +17 -0
  28. package/dist/cjs/swappers/AvnuSwapper/endpoints.js +42 -14
  29. package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +19 -5
  30. package/dist/cjs/swappers/AvnuSwapper/swapperApi/getTradeRate.js +17 -4
  31. package/dist/cjs/swappers/BebopSwapper/BebopSwapper.js +2 -0
  32. package/dist/cjs/swappers/BebopSwapper/endpoints.js +35 -2
  33. package/dist/cjs/swappers/BebopSwapper/executeSolanaMessage.d.ts +2 -0
  34. package/dist/cjs/swappers/BebopSwapper/executeSolanaMessage.js +47 -0
  35. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.d.ts +4 -0
  36. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.js +91 -0
  37. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.d.ts +4 -0
  38. package/dist/cjs/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +88 -0
  39. package/dist/cjs/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +10 -0
  40. package/dist/cjs/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +10 -0
  41. package/dist/cjs/swappers/BebopSwapper/types.d.ts +49 -1
  42. package/dist/cjs/swappers/BebopSwapper/types.js +9 -2
  43. package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +19 -1
  44. package/dist/cjs/swappers/BebopSwapper/utils/fetchFromBebop.js +86 -1
  45. package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -2
  46. package/dist/cjs/swappers/BebopSwapper/utils/helpers/helpers.js +47 -1
  47. package/dist/cjs/swappers/ButterSwap/ButterSwap.js +1 -0
  48. package/dist/cjs/swappers/ButterSwap/endpoints.js +56 -0
  49. package/dist/cjs/swappers/ButterSwap/swapperApi/checkTradeStatus.js +19 -0
  50. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.js +44 -15
  51. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +1 -0
  52. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.js +33 -16
  53. package/dist/cjs/swappers/ButterSwap/swapperApi/getTradeRate.test.js +2 -0
  54. package/dist/cjs/swappers/ButterSwap/types.d.ts +1 -0
  55. package/dist/cjs/swappers/ButterSwap/utils/helpers.js +1 -0
  56. package/dist/cjs/swappers/ButterSwap/xhr.d.ts +2 -2
  57. package/dist/cjs/swappers/ButterSwap/xhr.js +7 -2
  58. package/dist/cjs/swappers/CetusSwapper/endpoints.js +3 -8
  59. package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeQuote.js +11 -1
  60. package/dist/cjs/swappers/CetusSwapper/swapperApi/getTradeRate.js +11 -1
  61. package/dist/cjs/swappers/CetusSwapper/utils/helpers.d.ts +1 -1
  62. package/dist/cjs/swappers/CetusSwapper/utils/helpers.js +1 -1
  63. package/dist/cjs/swappers/ChainflipSwapper/constants.js +7 -3
  64. package/dist/cjs/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +28 -5
  65. package/dist/cjs/swappers/ChainflipSwapper/utils/helpers.js +8 -2
  66. package/dist/cjs/swappers/CowSwapper/CowSwapper.js +1 -1
  67. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +11 -1
  68. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +5 -5
  69. package/dist/cjs/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +10 -1
  70. package/dist/cjs/swappers/CowSwapper/utils/helpers/helpers.js +8 -2
  71. package/dist/cjs/swappers/DebridgeSwapper/DebridgeSwapper.d.ts +2 -0
  72. package/dist/cjs/swappers/DebridgeSwapper/DebridgeSwapper.js +7 -0
  73. package/dist/cjs/swappers/DebridgeSwapper/constant.d.ts +5 -0
  74. package/dist/cjs/swappers/DebridgeSwapper/constant.js +36 -0
  75. package/dist/cjs/swappers/DebridgeSwapper/endpoints.d.ts +2 -0
  76. package/dist/cjs/swappers/DebridgeSwapper/endpoints.js +217 -0
  77. package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
  78. package/dist/cjs/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +31 -0
  79. package/dist/cjs/swappers/DebridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -0
  80. package/dist/cjs/swappers/DebridgeSwapper/getTradeRate/getTradeRate.js +19 -0
  81. package/dist/cjs/swappers/DebridgeSwapper/index.d.ts +1 -0
  82. package/dist/cjs/swappers/DebridgeSwapper/index.js +5 -0
  83. package/dist/cjs/swappers/DebridgeSwapper/utils/debridgeService.d.ts +5 -0
  84. package/dist/cjs/swappers/DebridgeSwapper/utils/debridgeService.js +17 -0
  85. package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.d.ts +16 -0
  86. package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.js +23 -0
  87. package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.d.ts +20 -0
  88. package/dist/cjs/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.js +29 -0
  89. package/dist/cjs/swappers/DebridgeSwapper/utils/getTrade.d.ts +11 -0
  90. package/dist/cjs/swappers/DebridgeSwapper/utils/getTrade.js +369 -0
  91. package/dist/cjs/swappers/DebridgeSwapper/utils/types.d.ts +155 -0
  92. package/dist/cjs/swappers/DebridgeSwapper/utils/types.js +9 -0
  93. package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +32 -0
  94. package/dist/cjs/swappers/JupiterSwapper/swapperApi/getTradeRate.js +9 -0
  95. package/dist/cjs/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +1 -1
  96. package/dist/cjs/swappers/NearIntentsSwapper/NearIntentsSwapper.js +1 -0
  97. package/dist/cjs/swappers/NearIntentsSwapper/endpoints.js +31 -0
  98. package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +48 -1
  99. package/dist/cjs/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +73 -1
  100. package/dist/cjs/swappers/NearIntentsSwapper/types.d.ts +1 -1
  101. package/dist/cjs/swappers/NearIntentsSwapper/types.js +6 -0
  102. package/dist/cjs/swappers/NearIntentsSwapper/utils/helpers/helpers.js +23 -4
  103. package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +10 -0
  104. package/dist/cjs/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +8 -3
  105. package/dist/cjs/swappers/RelaySwapper/constant.js +27 -1
  106. package/dist/cjs/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +1 -1
  107. package/dist/cjs/swappers/RelaySwapper/utils/getTrade.js +57 -7
  108. package/dist/cjs/swappers/RelaySwapper/utils/relayTokenToAssetId.js +110 -0
  109. package/dist/cjs/swappers/RelaySwapper/utils/types.d.ts +15 -0
  110. package/dist/cjs/swappers/StonfiSwapper/StonfiSwapper.d.ts +2 -0
  111. package/dist/cjs/swappers/StonfiSwapper/StonfiSwapper.js +8 -0
  112. package/dist/cjs/swappers/StonfiSwapper/endpoints.d.ts +2 -0
  113. package/dist/cjs/swappers/StonfiSwapper/endpoints.js +227 -0
  114. package/dist/cjs/swappers/StonfiSwapper/index.d.ts +4 -0
  115. package/dist/cjs/swappers/StonfiSwapper/index.js +25 -0
  116. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeQuote.d.ts +2 -0
  117. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeQuote.js +129 -0
  118. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeRate.d.ts +2 -0
  119. package/dist/cjs/swappers/StonfiSwapper/swapperApi/getTradeRate.js +115 -0
  120. package/dist/cjs/swappers/StonfiSwapper/types.d.ts +60 -0
  121. package/dist/cjs/swappers/StonfiSwapper/types.js +5 -0
  122. package/dist/cjs/swappers/StonfiSwapper/utils/constants.d.ts +5 -0
  123. package/dist/cjs/swappers/StonfiSwapper/utils/constants.js +8 -0
  124. package/dist/cjs/swappers/StonfiSwapper/utils/helpers.d.ts +11 -0
  125. package/dist/cjs/swappers/StonfiSwapper/utils/helpers.js +135 -0
  126. package/dist/cjs/swappers/StonfiSwapper/utils/omnistonManager.d.ts +5 -0
  127. package/dist/cjs/swappers/StonfiSwapper/utils/omnistonManager.js +20 -0
  128. package/dist/cjs/swappers/SunioSwapper/endpoints.js +1 -1
  129. package/dist/cjs/swappers/SunioSwapper/utils/getQuoteOrRate.js +14 -3
  130. package/dist/cjs/swappers/ThorchainSwapper/ThorchainSwapper.js +3 -0
  131. package/dist/cjs/swappers/ThorchainSwapper/endpoints.js +2 -0
  132. package/dist/cjs/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
  133. package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +1 -1
  134. package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +2 -1
  135. package/dist/cjs/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +10 -0
  136. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +9 -0
  137. package/dist/cjs/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +9 -0
  138. package/dist/cjs/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +1 -1
  139. package/dist/cjs/swappers/utils/affiliateFee.d.ts +17 -0
  140. package/dist/cjs/swappers/utils/affiliateFee.js +43 -0
  141. package/dist/cjs/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +2 -5
  142. package/dist/cjs/swappers/utils/helpers/helpers.js +3 -0
  143. package/dist/cjs/thorchain-utils/getCallDataFromQuote.d.ts +1 -1
  144. package/dist/cjs/thorchain-utils/getL1RateOrQuote.js +87 -9
  145. package/dist/cjs/thorchain-utils/getQuote.js +8 -2
  146. package/dist/cjs/thorchain-utils/index.d.ts +2 -1
  147. package/dist/cjs/thorchain-utils/index.js +2 -1
  148. package/dist/cjs/thorchain-utils/solana/constants.d.ts +1 -0
  149. package/dist/cjs/thorchain-utils/solana/constants.js +6 -0
  150. package/dist/cjs/thorchain-utils/solana/getSolanaTransactionFees.d.ts +2 -0
  151. package/dist/cjs/thorchain-utils/solana/getSolanaTransactionFees.js +41 -0
  152. package/dist/cjs/thorchain-utils/solana/getThorTxData.d.ts +12 -0
  153. package/dist/cjs/thorchain-utils/solana/getThorTxData.js +14 -0
  154. package/dist/cjs/thorchain-utils/solana/getUnsignedSolanaTransaction.d.ts +3 -0
  155. package/dist/cjs/thorchain-utils/solana/getUnsignedSolanaTransaction.js +64 -0
  156. package/dist/cjs/thorchain-utils/solana/index.d.ts +3 -0
  157. package/dist/cjs/thorchain-utils/solana/index.js +19 -0
  158. package/dist/cjs/tron-utils/getUnsignedTronTransaction.js +22 -2
  159. package/dist/cjs/types.d.ts +118 -8
  160. package/dist/cjs/types.js +3 -0
  161. package/dist/cjs/utils.d.ts +4 -3
  162. package/dist/cjs/utils.js +35 -7
  163. package/dist/esm/.tsbuildinfo +1 -1
  164. package/dist/esm/constants.js +42 -13
  165. package/dist/esm/cowswap-utils/constants.js +3 -0
  166. package/dist/esm/cowswap-utils/index.js +6 -0
  167. package/dist/esm/index.d.ts +1 -0
  168. package/dist/esm/index.js +1 -0
  169. package/dist/esm/swappers/AcrossSwapper/AcrossSwapper.d.ts +2 -0
  170. package/dist/esm/swappers/AcrossSwapper/AcrossSwapper.js +5 -0
  171. package/dist/esm/swappers/AcrossSwapper/constant.d.ts +9 -0
  172. package/dist/esm/swappers/AcrossSwapper/constant.js +44 -0
  173. package/dist/esm/swappers/AcrossSwapper/endpoints.d.ts +2 -0
  174. package/dist/esm/swappers/AcrossSwapper/endpoints.js +107 -0
  175. package/dist/esm/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
  176. package/dist/esm/swappers/AcrossSwapper/getTradeQuote/getTradeQuote.js +27 -0
  177. package/dist/esm/swappers/AcrossSwapper/getTradeRate/getTradeRate.d.ts +3 -0
  178. package/dist/esm/swappers/AcrossSwapper/getTradeRate/getTradeRate.js +15 -0
  179. package/dist/esm/swappers/AcrossSwapper/index.d.ts +1 -0
  180. package/dist/esm/swappers/AcrossSwapper/index.js +1 -0
  181. package/dist/esm/swappers/AcrossSwapper/utils/acrossService.d.ts +5 -0
  182. package/dist/esm/swappers/AcrossSwapper/utils/acrossService.js +11 -0
  183. package/dist/esm/swappers/AcrossSwapper/utils/fetchAcrossTrade.d.ts +19 -0
  184. package/dist/esm/swappers/AcrossSwapper/utils/fetchAcrossTrade.js +23 -0
  185. package/dist/esm/swappers/AcrossSwapper/utils/getTrade.d.ts +11 -0
  186. package/dist/esm/swappers/AcrossSwapper/utils/getTrade.js +342 -0
  187. package/dist/esm/swappers/AcrossSwapper/utils/types.d.ts +177 -0
  188. package/dist/esm/swappers/AcrossSwapper/utils/types.js +13 -0
  189. package/dist/esm/swappers/AvnuSwapper/endpoints.js +43 -15
  190. package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeQuote.js +19 -5
  191. package/dist/esm/swappers/AvnuSwapper/swapperApi/getTradeRate.js +17 -4
  192. package/dist/esm/swappers/BebopSwapper/BebopSwapper.js +2 -0
  193. package/dist/esm/swappers/BebopSwapper/endpoints.js +36 -3
  194. package/dist/esm/swappers/BebopSwapper/executeSolanaMessage.d.ts +2 -0
  195. package/dist/esm/swappers/BebopSwapper/executeSolanaMessage.js +40 -0
  196. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.d.ts +4 -0
  197. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeQuote/getBebopSolanaTradeQuote.js +87 -0
  198. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.d.ts +4 -0
  199. package/dist/esm/swappers/BebopSwapper/getBebopSolanaTradeRate/getBebopSolanaTradeRate.js +84 -0
  200. package/dist/esm/swappers/BebopSwapper/getBebopTradeQuote/getBebopTradeQuote.js +10 -0
  201. package/dist/esm/swappers/BebopSwapper/getBebopTradeRate/getBebopTradeRate.js +10 -0
  202. package/dist/esm/swappers/BebopSwapper/types.d.ts +49 -1
  203. package/dist/esm/swappers/BebopSwapper/types.js +8 -1
  204. package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.d.ts +19 -1
  205. package/dist/esm/swappers/BebopSwapper/utils/fetchFromBebop.js +85 -2
  206. package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.d.ts +14 -2
  207. package/dist/esm/swappers/BebopSwapper/utils/helpers/helpers.js +44 -1
  208. package/dist/esm/swappers/ButterSwap/ButterSwap.js +2 -1
  209. package/dist/esm/swappers/ButterSwap/endpoints.js +56 -0
  210. package/dist/esm/swappers/ButterSwap/swapperApi/checkTradeStatus.js +20 -1
  211. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.js +46 -17
  212. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeQuote.test.js +1 -0
  213. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.js +35 -18
  214. package/dist/esm/swappers/ButterSwap/swapperApi/getTradeRate.test.js +2 -0
  215. package/dist/esm/swappers/ButterSwap/types.d.ts +1 -0
  216. package/dist/esm/swappers/ButterSwap/utils/helpers.js +1 -0
  217. package/dist/esm/swappers/ButterSwap/xhr.d.ts +2 -2
  218. package/dist/esm/swappers/ButterSwap/xhr.js +8 -3
  219. package/dist/esm/swappers/CetusSwapper/endpoints.js +3 -8
  220. package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeQuote.js +11 -1
  221. package/dist/esm/swappers/CetusSwapper/swapperApi/getTradeRate.js +11 -1
  222. package/dist/esm/swappers/CetusSwapper/utils/helpers.d.ts +1 -1
  223. package/dist/esm/swappers/CetusSwapper/utils/helpers.js +1 -1
  224. package/dist/esm/swappers/ChainflipSwapper/constants.js +8 -4
  225. package/dist/esm/swappers/ChainflipSwapper/utils/getQuoteOrRate.js +29 -6
  226. package/dist/esm/swappers/ChainflipSwapper/utils/helpers.js +9 -3
  227. package/dist/esm/swappers/CowSwapper/CowSwapper.js +1 -1
  228. package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.js +11 -1
  229. package/dist/esm/swappers/CowSwapper/getCowSwapTradeQuote/getCowSwapTradeQuote.test.js +5 -5
  230. package/dist/esm/swappers/CowSwapper/getCowSwapTradeRate/getCowSwapTradeRate.js +10 -1
  231. package/dist/esm/swappers/CowSwapper/utils/helpers/helpers.js +9 -3
  232. package/dist/esm/swappers/DebridgeSwapper/DebridgeSwapper.d.ts +2 -0
  233. package/dist/esm/swappers/DebridgeSwapper/DebridgeSwapper.js +4 -0
  234. package/dist/esm/swappers/DebridgeSwapper/constant.d.ts +5 -0
  235. package/dist/esm/swappers/DebridgeSwapper/constant.js +30 -0
  236. package/dist/esm/swappers/DebridgeSwapper/endpoints.d.ts +2 -0
  237. package/dist/esm/swappers/DebridgeSwapper/endpoints.js +211 -0
  238. package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.d.ts +3 -0
  239. package/dist/esm/swappers/DebridgeSwapper/getTradeQuote/getTradeQuote.js +27 -0
  240. package/dist/esm/swappers/DebridgeSwapper/getTradeRate/getTradeRate.d.ts +3 -0
  241. package/dist/esm/swappers/DebridgeSwapper/getTradeRate/getTradeRate.js +15 -0
  242. package/dist/esm/swappers/DebridgeSwapper/index.d.ts +1 -0
  243. package/dist/esm/swappers/DebridgeSwapper/index.js +1 -0
  244. package/dist/esm/swappers/DebridgeSwapper/utils/debridgeService.d.ts +5 -0
  245. package/dist/esm/swappers/DebridgeSwapper/utils/debridgeService.js +11 -0
  246. package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.d.ts +16 -0
  247. package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeSingleChainTrade.js +19 -0
  248. package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.d.ts +20 -0
  249. package/dist/esm/swappers/DebridgeSwapper/utils/fetchDebridgeTrade.js +25 -0
  250. package/dist/esm/swappers/DebridgeSwapper/utils/getTrade.d.ts +11 -0
  251. package/dist/esm/swappers/DebridgeSwapper/utils/getTrade.js +362 -0
  252. package/dist/esm/swappers/DebridgeSwapper/utils/types.d.ts +155 -0
  253. package/dist/esm/swappers/DebridgeSwapper/utils/types.js +5 -0
  254. package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeQuote.js +33 -1
  255. package/dist/esm/swappers/JupiterSwapper/swapperApi/getTradeRate.js +9 -0
  256. package/dist/esm/swappers/MayachainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +1 -1
  257. package/dist/esm/swappers/NearIntentsSwapper/NearIntentsSwapper.js +2 -1
  258. package/dist/esm/swappers/NearIntentsSwapper/endpoints.js +31 -0
  259. package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeQuote.js +50 -3
  260. package/dist/esm/swappers/NearIntentsSwapper/swapperApi/getTradeRate.js +75 -3
  261. package/dist/esm/swappers/NearIntentsSwapper/types.d.ts +1 -1
  262. package/dist/esm/swappers/NearIntentsSwapper/types.js +6 -0
  263. package/dist/esm/swappers/NearIntentsSwapper/utils/helpers/helpers.js +23 -4
  264. package/dist/esm/swappers/PortalsSwapper/getPortalsTradeQuote/getPortalsTradeQuote.js +10 -0
  265. package/dist/esm/swappers/PortalsSwapper/getPortalsTradeRate/getPortalsTradeRate.js +8 -3
  266. package/dist/esm/swappers/RelaySwapper/constant.js +29 -3
  267. package/dist/esm/swappers/RelaySwapper/utils/getRelayDefaultUserAddress.d.ts +1 -1
  268. package/dist/esm/swappers/RelaySwapper/utils/getTrade.js +60 -10
  269. package/dist/esm/swappers/RelaySwapper/utils/relayTokenToAssetId.js +110 -0
  270. package/dist/esm/swappers/RelaySwapper/utils/types.d.ts +15 -0
  271. package/dist/esm/swappers/StonfiSwapper/StonfiSwapper.d.ts +2 -0
  272. package/dist/esm/swappers/StonfiSwapper/StonfiSwapper.js +5 -0
  273. package/dist/esm/swappers/StonfiSwapper/endpoints.d.ts +2 -0
  274. package/dist/esm/swappers/StonfiSwapper/endpoints.js +224 -0
  275. package/dist/esm/swappers/StonfiSwapper/index.d.ts +4 -0
  276. package/dist/esm/swappers/StonfiSwapper/index.js +4 -0
  277. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeQuote.d.ts +2 -0
  278. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeQuote.js +125 -0
  279. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeRate.d.ts +2 -0
  280. package/dist/esm/swappers/StonfiSwapper/swapperApi/getTradeRate.js +111 -0
  281. package/dist/esm/swappers/StonfiSwapper/types.d.ts +60 -0
  282. package/dist/esm/swappers/StonfiSwapper/types.js +2 -0
  283. package/dist/esm/swappers/StonfiSwapper/utils/constants.d.ts +5 -0
  284. package/dist/esm/swappers/StonfiSwapper/utils/constants.js +5 -0
  285. package/dist/esm/swappers/StonfiSwapper/utils/helpers.d.ts +11 -0
  286. package/dist/esm/swappers/StonfiSwapper/utils/helpers.js +124 -0
  287. package/dist/esm/swappers/StonfiSwapper/utils/omnistonManager.d.ts +5 -0
  288. package/dist/esm/swappers/StonfiSwapper/utils/omnistonManager.js +17 -0
  289. package/dist/esm/swappers/SunioSwapper/endpoints.js +1 -1
  290. package/dist/esm/swappers/SunioSwapper/utils/getQuoteOrRate.js +15 -4
  291. package/dist/esm/swappers/ThorchainSwapper/ThorchainSwapper.js +3 -0
  292. package/dist/esm/swappers/ThorchainSwapper/endpoints.js +3 -1
  293. package/dist/esm/swappers/ThorchainSwapper/generated/generatedTradableAssetMap.json +1 -0
  294. package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.d.ts +1 -1
  295. package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.js +2 -1
  296. package/dist/esm/swappers/ThorchainSwapper/utils/poolAssetHelpers/poolAssetHelpers.test.js +11 -1
  297. package/dist/esm/swappers/ZrxSwapper/getZrxTradeQuote/getZrxTradeQuote.js +9 -0
  298. package/dist/esm/swappers/ZrxSwapper/getZrxTradeRate/getZrxTradeRate.js +9 -0
  299. package/dist/esm/swappers/ZrxSwapper/utils/helpers/helpers.d.ts +1 -1
  300. package/dist/esm/swappers/utils/affiliateFee.d.ts +17 -0
  301. package/dist/esm/swappers/utils/affiliateFee.js +39 -0
  302. package/dist/esm/swappers/utils/filterBuyAssetsBySellAssetId/filterBuyAssetsBySellAssetId.js +2 -5
  303. package/dist/esm/swappers/utils/helpers/helpers.js +4 -1
  304. package/dist/esm/thorchain-utils/getCallDataFromQuote.d.ts +1 -1
  305. package/dist/esm/thorchain-utils/getL1RateOrQuote.js +88 -10
  306. package/dist/esm/thorchain-utils/getQuote.js +9 -3
  307. package/dist/esm/thorchain-utils/index.d.ts +2 -1
  308. package/dist/esm/thorchain-utils/index.js +1 -0
  309. package/dist/esm/thorchain-utils/solana/constants.d.ts +1 -0
  310. package/dist/esm/thorchain-utils/solana/constants.js +3 -0
  311. package/dist/esm/thorchain-utils/solana/getSolanaTransactionFees.d.ts +2 -0
  312. package/dist/esm/thorchain-utils/solana/getSolanaTransactionFees.js +37 -0
  313. package/dist/esm/thorchain-utils/solana/getThorTxData.d.ts +12 -0
  314. package/dist/esm/thorchain-utils/solana/getThorTxData.js +10 -0
  315. package/dist/esm/thorchain-utils/solana/getUnsignedSolanaTransaction.d.ts +3 -0
  316. package/dist/esm/thorchain-utils/solana/getUnsignedSolanaTransaction.js +60 -0
  317. package/dist/esm/thorchain-utils/solana/index.d.ts +3 -0
  318. package/dist/esm/thorchain-utils/solana/index.js +3 -0
  319. package/dist/esm/tron-utils/getUnsignedTronTransaction.js +22 -2
  320. package/dist/esm/types.d.ts +118 -8
  321. package/dist/esm/types.js +3 -0
  322. package/dist/esm/utils.d.ts +4 -3
  323. package/dist/esm/utils.js +34 -7
  324. package/package.json +27 -24
@@ -1,4 +1,6 @@
1
1
  import { assertUnreachable } from '@shapeshiftoss/utils';
2
+ import { acrossSwapper } from './swappers/AcrossSwapper/index.js';
3
+ import { acrossApi } from './swappers/AcrossSwapper/endpoints.js';
2
4
  import { arbitrumBridgeSwapper } from './swappers/ArbitrumBridgeSwapper/ArbitrumBridgeSwapper.js';
3
5
  import { arbitrumBridgeApi } from './swappers/ArbitrumBridgeSwapper/endpoints.js';
4
6
  import { avnuSwapper } from './swappers/AvnuSwapper/AvnuSwapper.js';
@@ -13,6 +15,8 @@ import { chainflipSwapper } from './swappers/ChainflipSwapper/ChainflipSwapper.j
13
15
  import { chainflipApi } from './swappers/ChainflipSwapper/endpoints.js';
14
16
  import { cowSwapper } from './swappers/CowSwapper/CowSwapper.js';
15
17
  import { cowApi } from './swappers/CowSwapper/endpoints.js';
18
+ import { debridgeSwapper } from './swappers/DebridgeSwapper/index.js';
19
+ import { debridgeApi } from './swappers/DebridgeSwapper/endpoints.js';
16
20
  import { jupiterApi } from './swappers/JupiterSwapper/endpoints.js';
17
21
  import { jupiterSwapper } from './swappers/JupiterSwapper/JupiterSwapper.js';
18
22
  import { mayachainApi } from './swappers/MayachainSwapper/endpoints.js';
@@ -23,6 +27,8 @@ import { portalsApi } from './swappers/PortalsSwapper/endpoints.js';
23
27
  import { portalsSwapper } from './swappers/PortalsSwapper/PortalsSwapper.js';
24
28
  import { relaySwapper } from './swappers/RelaySwapper/index.js';
25
29
  import { relayApi } from './swappers/RelaySwapper/endpoints.js';
30
+ import { stonfiApi } from './swappers/StonfiSwapper/endpoints.js';
31
+ import { stonfiSwapper } from './swappers/StonfiSwapper/StonfiSwapper.js';
26
32
  import { sunioApi } from './swappers/SunioSwapper/endpoints.js';
27
33
  import { sunioSwapper } from './swappers/SunioSwapper/SunioSwapper.js';
28
34
  import { thorchainApi } from './swappers/ThorchainSwapper/endpoints.js';
@@ -99,21 +105,36 @@ export const swappers = {
99
105
  ...avnuSwapper,
100
106
  ...avnuApi,
101
107
  },
108
+ [SwapperName.Stonfi]: {
109
+ ...stonfiSwapper,
110
+ ...stonfiApi,
111
+ },
112
+ [SwapperName.Across]: {
113
+ ...acrossSwapper,
114
+ ...acrossApi,
115
+ },
116
+ [SwapperName.Debridge]: {
117
+ ...debridgeSwapper,
118
+ ...debridgeApi,
119
+ },
102
120
  [SwapperName.Test]: undefined,
103
121
  };
104
- // Slippage defaults. Don't export these to ensure the getDefaultSlippageDecimalPercentageForSwapper helper function is used.
105
- const DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE = '0.002'; // .2%
106
- const DEFAULT_COWSWAP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005'; // .5%
107
- const DEFAULT_NEAR_INTENTS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005'; // .5%
108
- const DEFAULT_PORTALS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.025'; // 2.5%
109
- const DEFAULT_THOR_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01'; // 1%
110
- const DEFAULT_MAYA_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01'; // 1%
111
- const DEFAULT_ARBITRUM_BRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0'; // no slippage for Arbitrum Bridge, so no slippage tolerance
112
- const DEFAULT_CHAINFLIP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.02'; // 2%
113
- const DEFAULT_BUTTERSWAP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.015'; // 1.5%
114
- const DEFAULT_CETUS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005'; // .5%
115
- const DEFAULT_SUNIO_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005'; // .5%
116
- const DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005'; // .5%
122
+ const DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE = '0.002';
123
+ const DEFAULT_COWSWAP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
124
+ const DEFAULT_NEAR_INTENTS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
125
+ const DEFAULT_PORTALS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.025';
126
+ const DEFAULT_THOR_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
127
+ const DEFAULT_MAYA_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
128
+ const DEFAULT_ARBITRUM_BRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0';
129
+ const DEFAULT_CHAINFLIP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.02';
130
+ const DEFAULT_BUTTERSWAP_SLIPPAGE_DECIMAL_PERCENTAGE = '0.015';
131
+ const DEFAULT_CETUS_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
132
+ const DEFAULT_SUNIO_SLIPPAGE_DECIMAL_PERCENTAGE = '0.005';
133
+ // Starknet swaps can have more latency, so use higher default slippage
134
+ const DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE = '0.02';
135
+ const DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE = '0.01';
136
+ // deBridge API off-chain simulation overestimates output on some chains (e.g. SEI ~2.4%), so auto slippage (1%) is insufficient
137
+ const DEFAULT_DEBRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE = '0.03';
117
138
  export const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
118
139
  if (swapperName === undefined)
119
140
  return DEFAULT_SLIPPAGE_DECIMAL_PERCENTAGE;
@@ -138,6 +159,10 @@ export const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
138
159
  throw new Error('Default slippage not supported by Jupiter');
139
160
  case SwapperName.Relay:
140
161
  throw new Error('Default slippage not supported by Relay');
162
+ case SwapperName.Across:
163
+ throw new Error('Default slippage not supported by Across');
164
+ case SwapperName.Debridge:
165
+ return DEFAULT_DEBRIDGE_SLIPPAGE_DECIMAL_PERCENTAGE;
141
166
  case SwapperName.ButterSwap:
142
167
  return DEFAULT_BUTTERSWAP_SLIPPAGE_DECIMAL_PERCENTAGE;
143
168
  case SwapperName.NearIntents:
@@ -148,6 +173,8 @@ export const getDefaultSlippageDecimalPercentageForSwapper = (swapperName) => {
148
173
  return DEFAULT_SUNIO_SLIPPAGE_DECIMAL_PERCENTAGE;
149
174
  case SwapperName.Avnu:
150
175
  return DEFAULT_AVNU_SLIPPAGE_DECIMAL_PERCENTAGE;
176
+ case SwapperName.Stonfi:
177
+ return DEFAULT_STONFI_SLIPPAGE_DECIMAL_PERCENTAGE;
151
178
  default:
152
179
  return assertUnreachable(swapperName);
153
180
  }
@@ -157,6 +184,8 @@ export const isAutoSlippageSupportedBySwapper = (swapperName) => {
157
184
  case SwapperName.Jupiter:
158
185
  return true;
159
186
  case SwapperName.Relay:
187
+ case SwapperName.Across:
188
+ case SwapperName.Debridge:
160
189
  return true;
161
190
  default:
162
191
  return false;
@@ -24,6 +24,9 @@ export const SUPPORTED_CHAIN_IDS = [
24
24
  KnownChainIds.AvalancheMainnet,
25
25
  KnownChainIds.PolygonMainnet,
26
26
  KnownChainIds.BnbSmartChainMainnet,
27
+ KnownChainIds.PlasmaMainnet,
28
+ KnownChainIds.LineaMainnet,
29
+ KnownChainIds.InkMainnet,
27
30
  ];
28
31
  export const COW_SWAP_VAULT_RELAYER_ADDRESS = '0xc92e8bdf79f0507f65a392b0ab4667716bfe0110';
29
32
  export const COW_SWAP_SETTLEMENT_ADDRESS = '0x9008D19f58AAbD9eD0D60971565AA8510560ab41';
@@ -24,6 +24,12 @@ export const getCowNetwork = (chainId) => {
24
24
  return CowNetwork.Polygon;
25
25
  case KnownChainIds.BnbSmartChainMainnet:
26
26
  return CowNetwork.Bnb;
27
+ case KnownChainIds.PlasmaMainnet:
28
+ return CowNetwork.Plasma;
29
+ case KnownChainIds.LineaMainnet:
30
+ return CowNetwork.Linea;
31
+ case KnownChainIds.InkMainnet:
32
+ return CowNetwork.Ink;
27
33
  default:
28
34
  return;
29
35
  }
@@ -9,6 +9,7 @@ export * from './swappers/CetusSwapper/index.js';
9
9
  export * from './swappers/ChainflipSwapper/index.js';
10
10
  export * from './swappers/SunioSwapper/index.js';
11
11
  export * from './swappers/CowSwapper/index.js';
12
+ export * from './swappers/DebridgeSwapper/index.js';
12
13
  export * from './swappers/JupiterSwapper/index.js';
13
14
  export * from './swappers/PortalsSwapper/index.js';
14
15
  export * from './swappers/ThorchainSwapper/index.js';
package/dist/esm/index.js CHANGED
@@ -9,6 +9,7 @@ export * from './swappers/CetusSwapper/index.js';
9
9
  export * from './swappers/ChainflipSwapper/index.js';
10
10
  export * from './swappers/SunioSwapper/index.js';
11
11
  export * from './swappers/CowSwapper/index.js';
12
+ export * from './swappers/DebridgeSwapper/index.js';
12
13
  export * from './swappers/JupiterSwapper/index.js';
13
14
  export * from './swappers/PortalsSwapper/index.js';
14
15
  export * from './swappers/ThorchainSwapper/index.js';
@@ -0,0 +1,2 @@
1
+ import type { Swapper } from '../../types.js';
2
+ export declare const acrossSwapper: Swapper;
@@ -0,0 +1,5 @@
1
+ import { executeEvmTransaction, executeSolanaTransaction } from '../../utils.js';
2
+ export const acrossSwapper = {
3
+ executeEvmTransaction,
4
+ executeSolanaTransaction,
5
+ };
@@ -0,0 +1,9 @@
1
+ import { TradeQuoteError } from '../../types.js';
2
+ export declare const chainIdToAcrossChainId: Record<string, number>;
3
+ export declare const acrossChainIdToChainId: import("lodash").Dictionary<string>;
4
+ export declare const ACROSS_SUPPORTED_CHAIN_IDS: string[];
5
+ export declare const DEFAULT_ACROSS_EVM_TOKEN_ADDRESS: "0x0000000000000000000000000000000000000000";
6
+ export declare const ACROSS_SOLANA_TOKEN_ADDRESS = "11111111111111111111111111111111";
7
+ export declare const DEFAULT_ACROSS_EVM_USER_ADDRESS = "0x000000000000000000000000000000000000dead";
8
+ export declare const DEFAULT_ACROSS_SOLANA_USER_ADDRESS = "CbKGgVKLJFb8bBrf58DnAkdryX6ubewVytn7X957YwNr";
9
+ export declare const acrossErrorCodeToTradeQuoteError: Partial<Record<string, TradeQuoteError>>;
@@ -0,0 +1,44 @@
1
+ import { arbitrumChainId, baseChainId, blastChainId, bscChainId, ethChainId, hyperEvmChainId, inkChainId, lineaChainId, megaethChainId, modeChainId, monadChainId, optimismChainId, plasmaChainId, polygonChainId, scrollChainId, solanaChainId, soneiumChainId, unichainChainId, worldChainChainId, zkSyncEraChainId, } from '@shapeshiftoss/caip';
2
+ import invert from 'lodash/invert';
3
+ import { zeroAddress } from 'viem';
4
+ import { arbitrum, base, blast, bsc, hyperEvm, ink, linea, mainnet as ethereum, mode, monad, optimism, plasma, polygon, scroll, soneium, unichain, worldchain, zksync, } from 'viem/chains';
5
+ import { TradeQuoteError } from '../../types.js';
6
+ import { AcrossErrorCode } from './utils/types.js';
7
+ export const chainIdToAcrossChainId = {
8
+ [ethChainId]: ethereum.id,
9
+ [arbitrumChainId]: arbitrum.id,
10
+ [baseChainId]: base.id,
11
+ [optimismChainId]: optimism.id,
12
+ [polygonChainId]: polygon.id,
13
+ [bscChainId]: bsc.id,
14
+ [monadChainId]: monad.id,
15
+ [hyperEvmChainId]: hyperEvm.id,
16
+ [inkChainId]: ink.id,
17
+ [lineaChainId]: linea.id,
18
+ [modeChainId]: mode.id,
19
+ [plasmaChainId]: plasma.id,
20
+ [zkSyncEraChainId]: zksync.id,
21
+ [blastChainId]: blast.id,
22
+ [worldChainChainId]: worldchain.id,
23
+ [unichainChainId]: unichain.id,
24
+ [soneiumChainId]: soneium.id,
25
+ // Across uses a custom Solana chain ID
26
+ [solanaChainId]: 34268394551451,
27
+ [scrollChainId]: scroll.id,
28
+ [megaethChainId]: 4326,
29
+ };
30
+ export const acrossChainIdToChainId = invert(chainIdToAcrossChainId);
31
+ export const ACROSS_SUPPORTED_CHAIN_IDS = Object.keys(chainIdToAcrossChainId);
32
+ export const DEFAULT_ACROSS_EVM_TOKEN_ADDRESS = zeroAddress;
33
+ export const ACROSS_SOLANA_TOKEN_ADDRESS = '11111111111111111111111111111111';
34
+ export const DEFAULT_ACROSS_EVM_USER_ADDRESS = '0x000000000000000000000000000000000000dead';
35
+ export const DEFAULT_ACROSS_SOLANA_USER_ADDRESS = 'CbKGgVKLJFb8bBrf58DnAkdryX6ubewVytn7X957YwNr';
36
+ export const acrossErrorCodeToTradeQuoteError = {
37
+ [AcrossErrorCode.AmountTooLow]: TradeQuoteError.SellAmountBelowMinimum,
38
+ [AcrossErrorCode.RouteNotFound]: TradeQuoteError.NoRouteFound,
39
+ [AcrossErrorCode.NoBridgeRoutes]: TradeQuoteError.NoRouteFound,
40
+ [AcrossErrorCode.UnsupportedToken]: TradeQuoteError.UnsupportedTradePair,
41
+ [AcrossErrorCode.InsufficientLiquidity]: TradeQuoteError.SellAmountBelowTradeFee,
42
+ [AcrossErrorCode.InvalidParam]: TradeQuoteError.UnknownError,
43
+ [AcrossErrorCode.InternalError]: TradeQuoteError.InternalError,
44
+ };
@@ -0,0 +1,2 @@
1
+ import type { SwapperApi } from '../../types.js';
2
+ export declare const acrossApi: SwapperApi;
@@ -0,0 +1,107 @@
1
+ import { evm, isEvmChainId } from '@shapeshiftoss/chain-adapters';
2
+ import { TxStatus } from '@shapeshiftoss/unchained-client';
3
+ import BigNumber from 'bignumber.js';
4
+ import { getSolanaTransactionFees } from '../../solana-utils/getSolanaTransactionFees.js';
5
+ import { getUnsignedSolanaTransaction } from '../../solana-utils/getUnsignedSolanaTransaction.js';
6
+ import { checkEvmSwapStatus, getExecutableTradeStep, isExecutableTradeQuote } from '../../utils.js';
7
+ import { getTradeQuote } from './getTradeQuote/getTradeQuote.js';
8
+ import { getTradeRate } from './getTradeRate/getTradeRate.js';
9
+ import { acrossService } from './utils/acrossService.js';
10
+ export const acrossApi = {
11
+ getTradeQuote: (input, deps) => getTradeQuote(input, deps),
12
+ getTradeRate: (input, deps) => getTradeRate(input, deps),
13
+ getEvmTransactionFees: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
14
+ if (!isExecutableTradeQuote(tradeQuote))
15
+ throw new Error('Unable to execute a trade rate quote');
16
+ const step = getExecutableTradeStep(tradeQuote, stepIndex);
17
+ const { acrossTransactionMetadata, sellAsset } = step;
18
+ if (!acrossTransactionMetadata)
19
+ throw new Error('Missing Across transaction metadata');
20
+ const { to, value, data } = acrossTransactionMetadata;
21
+ const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
22
+ const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
23
+ return feeData.networkFeeCryptoBaseUnit;
24
+ },
25
+ getUnsignedEvmTransaction: async ({ from, stepIndex, tradeQuote, supportsEIP1559, assertGetEvmChainAdapter, }) => {
26
+ if (!isExecutableTradeQuote(tradeQuote))
27
+ throw new Error('Unable to execute a trade rate quote');
28
+ const step = getExecutableTradeStep(tradeQuote, stepIndex);
29
+ const { accountNumber, acrossTransactionMetadata, sellAsset } = step;
30
+ if (!acrossTransactionMetadata)
31
+ throw new Error('Missing Across transaction metadata');
32
+ const { to, value, data, gasLimit: gasLimitFromApi } = acrossTransactionMetadata;
33
+ const adapter = assertGetEvmChainAdapter(sellAsset.chainId);
34
+ const feeData = await evm.getFees({ adapter, data, to, value, from, supportsEIP1559 });
35
+ const unsignedTx = await adapter.buildCustomApiTx({
36
+ accountNumber,
37
+ data,
38
+ from,
39
+ to,
40
+ value,
41
+ ...feeData,
42
+ gasLimit: BigNumber.max(gasLimitFromApi ?? '0', feeData.gasLimit).toFixed(),
43
+ });
44
+ return unsignedTx;
45
+ },
46
+ checkTradeStatus: async ({ txHash, chainId, address, config, fetchIsSmartContractAddressQuery, assertGetEvmChainAdapter, }) => {
47
+ if (isEvmChainId(chainId)) {
48
+ const sourceTxStatus = await checkEvmSwapStatus({
49
+ txHash,
50
+ chainId,
51
+ address,
52
+ assertGetEvmChainAdapter,
53
+ fetchIsSmartContractAddressQuery,
54
+ });
55
+ if (sourceTxStatus.status !== TxStatus.Confirmed)
56
+ return sourceTxStatus;
57
+ txHash = sourceTxStatus.buyTxHash ?? txHash;
58
+ }
59
+ const maybeStatusResponse = await acrossService.get(`${config.VITE_ACROSS_API_URL}/deposit/status?depositTxnRef=${txHash}`);
60
+ if (maybeStatusResponse.isErr()) {
61
+ return {
62
+ buyTxHash: undefined,
63
+ status: TxStatus.Unknown,
64
+ message: undefined,
65
+ };
66
+ }
67
+ const { data: statusResponse } = maybeStatusResponse.unwrap();
68
+ const status = (() => {
69
+ switch (statusResponse.status) {
70
+ case 'filled':
71
+ return TxStatus.Confirmed;
72
+ case 'pending':
73
+ return TxStatus.Pending;
74
+ case 'slowFillRequested':
75
+ return TxStatus.Pending;
76
+ case 'expired':
77
+ return TxStatus.Failed;
78
+ case 'refunded':
79
+ return TxStatus.Failed;
80
+ default:
81
+ return TxStatus.Unknown;
82
+ }
83
+ })();
84
+ const message = (() => {
85
+ switch (statusResponse.status) {
86
+ case 'pending':
87
+ return 'Deposit detected, processing...';
88
+ case 'slowFillRequested':
89
+ return 'Taking longer than usual, waiting for fill...';
90
+ case 'expired':
91
+ return 'Deposit expired';
92
+ case 'refunded':
93
+ return 'Deposit refunded on origin chain';
94
+ default:
95
+ return undefined;
96
+ }
97
+ })();
98
+ const buyTxHash = statusResponse.fillTxnRef;
99
+ return {
100
+ status,
101
+ buyTxHash,
102
+ message,
103
+ };
104
+ },
105
+ getUnsignedSolanaTransaction,
106
+ getSolanaTransactionFees,
107
+ };
@@ -0,0 +1,3 @@
1
+ import type { Result } from '@sniptt/monads';
2
+ import type { CommonTradeQuoteInput, SwapErrorRight, SwapperDeps, TradeQuote } from '../../../types.js';
3
+ export declare const getTradeQuote: (input: CommonTradeQuoteInput, deps: SwapperDeps) => Promise<Result<TradeQuote[], SwapErrorRight>>;
@@ -0,0 +1,27 @@
1
+ import { Err } from '@sniptt/monads';
2
+ import { makeSwapErrorRight } from '../../../utils.js';
3
+ import { getTrade } from '../utils/getTrade.js';
4
+ export const getTradeQuote = (input, deps) => {
5
+ if (!input.sendAddress) {
6
+ return Promise.resolve(Err(makeSwapErrorRight({
7
+ message: 'sendAddress is required',
8
+ })));
9
+ }
10
+ if (!input.receiveAddress) {
11
+ return Promise.resolve(Err(makeSwapErrorRight({
12
+ message: 'receiveAddress is required',
13
+ })));
14
+ }
15
+ const args = {
16
+ buyAsset: input.buyAsset,
17
+ receiveAddress: input.receiveAddress,
18
+ sellAmountIncludingProtocolFeesCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
19
+ sellAsset: input.sellAsset,
20
+ sendAddress: input.sendAddress,
21
+ quoteOrRate: 'quote',
22
+ accountNumber: input.accountNumber,
23
+ affiliateBps: input.affiliateBps,
24
+ slippageTolerancePercentageDecimal: input.slippageTolerancePercentageDecimal,
25
+ };
26
+ return getTrade({ input: args, deps });
27
+ };
@@ -0,0 +1,3 @@
1
+ import type { Result } from '@sniptt/monads';
2
+ import type { GetTradeRateInput, SwapErrorRight, SwapperDeps, TradeRate } from '../../../types.js';
3
+ export declare const getTradeRate: (input: GetTradeRateInput, deps: SwapperDeps) => Promise<Result<TradeRate[], SwapErrorRight>>;
@@ -0,0 +1,15 @@
1
+ import { getTrade } from '../utils/getTrade.js';
2
+ export const getTradeRate = (input, deps) => {
3
+ const args = {
4
+ quoteOrRate: 'rate',
5
+ buyAsset: input.buyAsset,
6
+ receiveAddress: input.receiveAddress,
7
+ sellAmountIncludingProtocolFeesCryptoBaseUnit: input.sellAmountIncludingProtocolFeesCryptoBaseUnit,
8
+ sellAsset: input.sellAsset,
9
+ sendAddress: input.sendAddress,
10
+ accountNumber: input.accountNumber,
11
+ affiliateBps: input.affiliateBps,
12
+ slippageTolerancePercentageDecimal: input.slippageTolerancePercentageDecimal,
13
+ };
14
+ return getTrade({ input: args, deps });
15
+ };
@@ -0,0 +1 @@
1
+ export { acrossSwapper } from './AcrossSwapper.js';
@@ -0,0 +1 @@
1
+ export { acrossSwapper } from './AcrossSwapper.js';
@@ -0,0 +1,5 @@
1
+ export declare const acrossService: {
2
+ get: <T = any>(url: string, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("@sniptt/monads").Result<import("axios").AxiosResponse<T, any, {}>, import("../../../index.js").SwapErrorRight>>;
3
+ post: <T_1 = any>(url: string, data: any, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("@sniptt/monads").Result<import("axios").AxiosResponse<T_1, any, {}>, import("../../../index.js").SwapErrorRight>>;
4
+ delete: <T_2 = any>(url: string, data: any, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("@sniptt/monads").Result<import("axios").AxiosResponse<T_2, any, {}>, import("../../../index.js").SwapErrorRight>>;
5
+ };
@@ -0,0 +1,11 @@
1
+ import axios from 'axios';
2
+ import { makeSwapperAxiosServiceMonadic } from '../../../utils.js';
3
+ const axiosConfig = {
4
+ timeout: 10000,
5
+ headers: {
6
+ Accept: 'application/json',
7
+ 'Content-Type': 'application/json',
8
+ },
9
+ };
10
+ const acrossServiceBase = axios.create(axiosConfig);
11
+ export const acrossService = makeSwapperAxiosServiceMonadic(acrossServiceBase);
@@ -0,0 +1,19 @@
1
+ import type { Result } from '@sniptt/monads';
2
+ import type { AxiosResponse } from 'axios';
3
+ import type { SwapErrorRight, SwapperConfig } from '../../../types.js';
4
+ import type { AcrossSwapApprovalResponse } from './types.js';
5
+ export type AcrossFetchQuoteParams = {
6
+ tradeType: 'exactInput';
7
+ amount: string;
8
+ inputToken: string;
9
+ outputToken: string;
10
+ originChainId: number;
11
+ destinationChainId: number;
12
+ depositor: string;
13
+ recipient?: string;
14
+ appFee?: number;
15
+ appFeeRecipient?: string;
16
+ integratorId?: string;
17
+ slippage?: string;
18
+ };
19
+ export declare const fetchAcrossTrade: (params: AcrossFetchQuoteParams, config: SwapperConfig) => Promise<Result<AxiosResponse<AcrossSwapApprovalResponse>, SwapErrorRight>>;
@@ -0,0 +1,23 @@
1
+ import { acrossService } from './acrossService.js';
2
+ export const fetchAcrossTrade = (params, config) => {
3
+ const searchParams = new URLSearchParams();
4
+ searchParams.set('tradeType', params.tradeType);
5
+ searchParams.set('amount', params.amount);
6
+ searchParams.set('inputToken', params.inputToken);
7
+ searchParams.set('outputToken', params.outputToken);
8
+ searchParams.set('originChainId', params.originChainId.toString());
9
+ searchParams.set('destinationChainId', params.destinationChainId.toString());
10
+ searchParams.set('depositor', params.depositor);
11
+ if (params.recipient)
12
+ searchParams.set('recipient', params.recipient);
13
+ if (params.appFee !== undefined && params.appFee > 0 && params.appFeeRecipient) {
14
+ searchParams.set('appFee', params.appFee.toString());
15
+ searchParams.set('appFeeRecipient', params.appFeeRecipient);
16
+ }
17
+ if (params.integratorId)
18
+ searchParams.set('integratorId', params.integratorId);
19
+ if (params.slippage)
20
+ searchParams.set('slippage', params.slippage);
21
+ const url = `${config.VITE_ACROSS_API_URL}/swap/approval?${searchParams.toString()}`;
22
+ return acrossService.get(url);
23
+ };
@@ -0,0 +1,11 @@
1
+ import type { Result } from '@sniptt/monads';
2
+ import type { SwapErrorRight, SwapperDeps, TradeQuote, TradeRate } from '../../../types.js';
3
+ import type { AcrossTradeInputParams } from './types.js';
4
+ export declare function getTrade(args: {
5
+ input: AcrossTradeInputParams<'quote'>;
6
+ deps: SwapperDeps;
7
+ }): Promise<Result<TradeQuote[], SwapErrorRight>>;
8
+ export declare function getTrade(args: {
9
+ input: AcrossTradeInputParams<'rate'>;
10
+ deps: SwapperDeps;
11
+ }): Promise<Result<TradeRate[], SwapErrorRight>>;