@velora-dex/widget 0.4.13 → 0.4.14-dev.1

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 (402) hide show
  1. package/dist/components/ui/button.d.ts +1 -1
  2. package/dist/components/ui/button.d.ts.map +1 -1
  3. package/dist/components/ui/button.js +1 -0
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  8. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/utils.js +2 -1
  10. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  11. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  12. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +2 -1
  13. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +16 -3
  16. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  17. package/dist/components/widget/Duration/Duration.d.ts +1 -1
  18. package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
  19. package/dist/components/widget/Duration/Duration.js +1 -4
  20. package/dist/components/widget/Duration/Duration.js.map +1 -1
  21. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +2 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  23. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +9 -7
  24. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  25. package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
  26. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  27. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
  28. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  29. package/dist/components/widget/LimitOrderItem/utils.js +25 -9
  30. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  31. package/dist/components/widget/NumberInput/NumberInput.d.ts +18 -0
  32. package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
  33. package/dist/components/widget/NumberInput/NumberInput.js +255 -0
  34. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
  35. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +12 -0
  36. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +1 -0
  37. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +12 -0
  38. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +1 -0
  39. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -1
  40. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  41. package/dist/components/widget/SwapRate/SwapRate.js +29 -20
  42. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  43. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +77 -86
  45. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +28 -46
  47. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
  49. package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
  50. package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
  51. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  52. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +105 -72
  53. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  54. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  55. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +46 -11
  56. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  57. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
  58. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
  59. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +19 -7
  60. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  61. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
  62. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
  63. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +241 -0
  64. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
  65. package/dist/components/widget/TradeOverview/steps.d.ts +37 -0
  66. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  67. package/dist/components/widget/TradeOverview/steps.js +10 -1
  68. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  69. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +2 -2
  70. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  71. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts +14 -0
  73. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts.map +1 -0
  74. package/dist/components/widget/TradeOverview/utils/swapAmounts.js +43 -0
  75. package/dist/components/widget/TradeOverview/utils/swapAmounts.js.map +1 -0
  76. package/dist/components/widget/Twap/OrderDuration.d.ts +2 -0
  77. package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
  78. package/dist/components/widget/Twap/OrderDuration.js +75 -0
  79. package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
  80. package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
  81. package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
  82. package/dist/components/widget/Twap/OrderSplit.js +57 -0
  83. package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
  84. package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
  85. package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
  86. package/dist/components/widget/Twap/RateProtection.js +57 -0
  87. package/dist/components/widget/Twap/RateProtection.js.map +1 -0
  88. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
  89. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
  90. package/dist/components/widget/Twap/TwapDetailWithTooltip.js +33 -0
  91. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
  92. package/dist/configurator/Configurator.d.ts.map +1 -1
  93. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
  94. package/dist/core/TradeFlowScreenButton.d.ts +5 -0
  95. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  96. package/dist/core/TradeFlowScreenButton.js +58 -1
  97. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  98. package/dist/core/TwapDetails.d.ts +2 -0
  99. package/dist/core/TwapDetails.d.ts.map +1 -0
  100. package/dist/core/TwapDetails.js +24 -0
  101. package/dist/core/TwapDetails.js.map +1 -0
  102. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  103. package/dist/core/across/isCrosschainPossible.js +1 -1
  104. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  105. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  106. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  107. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +71 -1
  108. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  109. package/dist/core/constants.d.ts +1 -1
  110. package/dist/core/index.d.ts.map +1 -1
  111. package/dist/core/index.js +199 -3
  112. package/dist/core/index.js.map +1 -1
  113. package/dist/core/inputs/state/common.d.ts +2 -0
  114. package/dist/core/inputs/state/common.d.ts.map +1 -1
  115. package/dist/core/inputs/state/common.js +40 -4
  116. package/dist/core/inputs/state/common.js.map +1 -1
  117. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  118. package/dist/core/inputs/state/setTokenByAddressAtom.js +2 -2
  119. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  120. package/dist/core/limit/state/utils.d.ts +1 -1
  121. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  122. package/dist/core/limit/useLimitRate.js +0 -2
  123. package/dist/core/limit/useLimitRate.js.map +1 -1
  124. package/dist/core/state/chainToAtom.d.ts +2 -0
  125. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  126. package/dist/core/state/chainToAtom.js +28 -7
  127. package/dist/core/state/chainToAtom.js.map +1 -1
  128. package/dist/core/state/configAtom.js +2 -2
  129. package/dist/core/state/configAtom.js.map +1 -1
  130. package/dist/core/state/tradeModeAtom.d.ts +1 -1
  131. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  132. package/dist/core/state/tradeModeAtom.js.map +1 -1
  133. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  134. package/dist/core/state/widgetEventsAtom.js +55 -33
  135. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  136. package/dist/core/twap/state/constants.d.ts +15 -0
  137. package/dist/core/twap/state/constants.d.ts.map +1 -0
  138. package/dist/core/twap/state/constants.js +19 -0
  139. package/dist/core/twap/state/constants.js.map +1 -0
  140. package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
  141. package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
  142. package/dist/core/twap/state/currentTwapInputAtom.js +6 -0
  143. package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
  144. package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
  145. package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
  146. package/dist/core/twap/state/isCrosschainAtom.js +16 -0
  147. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
  148. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
  149. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
  150. package/dist/core/twap/state/selectedTokenActionsAtom.js +194 -0
  151. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
  152. package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
  153. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
  154. package/dist/core/twap/state/twapInputAmountAtom.js +21 -0
  155. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
  156. package/dist/core/twap/state/twapParamsAtom.d.ts +16 -0
  157. package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
  158. package/dist/core/twap/state/twapParamsAtom.js +22 -0
  159. package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
  160. package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
  161. package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
  162. package/dist/core/twap/state/twapSideAtom.js +19 -0
  163. package/dist/core/twap/state/twapSideAtom.js.map +1 -0
  164. package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
  165. package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
  166. package/dist/core/twap/state/twapTokenAtoms.js +17 -0
  167. package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
  168. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
  169. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
  170. package/dist/core/twap/twapDetails/minimumReceiveable.js +44 -0
  171. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
  172. package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
  173. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
  174. package/dist/core/twap/useTwapDetailsListProps.js +109 -0
  175. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
  176. package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
  177. package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
  178. package/dist/core/twap/useTwapTokenFromInputProps.js +455 -0
  179. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
  180. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
  181. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
  182. package/dist/core/twap/useTwapTokenSwitcherProps.js +37 -0
  183. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
  184. package/dist/core/twap/useTwapTokenToInputProps.d.ts +9 -0
  185. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
  186. package/dist/core/twap/useTwapTokenToInputProps.js +271 -0
  187. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
  188. package/dist/events/types/index.d.ts +4 -1
  189. package/dist/events/types/index.d.ts.map +1 -1
  190. package/dist/events/types/limit.d.ts +2 -2
  191. package/dist/events/types/limit.d.ts.map +1 -1
  192. package/dist/events/types/swap.d.ts +3 -2
  193. package/dist/events/types/swap.d.ts.map +1 -1
  194. package/dist/events/types/twap.d.ts +26 -0
  195. package/dist/events/types/twap.d.ts.map +1 -0
  196. package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
  197. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  198. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  199. package/dist/hooks/permit/utils/deadlines.d.ts +2 -2
  200. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
  201. package/dist/hooks/permit/utils/deadlines.js +4 -4
  202. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  203. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  204. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  205. package/dist/hooks/swap/prices/constants.js +2 -1
  206. package/dist/hooks/swap/prices/constants.js.map +1 -1
  207. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
  208. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
  209. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +86 -0
  210. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
  211. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
  212. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
  213. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +164 -0
  214. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
  215. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
  216. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
  217. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +278 -0
  218. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
  219. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
  220. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
  221. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +89 -0
  222. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
  223. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
  224. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
  225. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +325 -0
  226. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
  227. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
  228. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
  229. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +87 -0
  230. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
  231. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +10 -1
  232. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  233. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
  234. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  235. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  236. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
  237. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  238. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  239. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
  240. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  241. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  242. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
  243. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  244. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +3 -15
  245. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  246. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -5
  247. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  248. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  249. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
  250. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  251. package/dist/hooks/swap/prices/delta/mutations/utils.js +34 -2
  252. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  253. package/dist/hooks/swap/prices/delta/orders/types.d.ts +11 -46
  254. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  255. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  256. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  257. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  258. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
  259. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
  261. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  262. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +24 -6
  263. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  264. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +17 -10
  265. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  266. package/dist/hooks/swap/prices/delta/orders/utils.js +32 -4
  267. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  268. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
  269. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  270. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  271. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
  272. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  273. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +37 -35
  274. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  275. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -17
  276. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  277. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  278. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +1 -0
  279. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  280. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  281. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  282. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  283. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +37 -35
  284. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  285. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  286. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  287. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  288. package/dist/hooks/swap/prices/usePricesParams.js +3 -4
  289. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  290. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  291. package/dist/hooks/swap/prices/useSwapPrices.js +0 -2
  292. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  293. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
  294. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  295. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  296. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
  297. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
  298. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +73 -0
  299. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
  300. package/dist/hooks/swap/prices/useTwapPrices.d.ts +28 -0
  301. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
  302. package/dist/hooks/swap/prices/useTwapPrices.js +175 -0
  303. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
  304. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
  305. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
  306. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +71 -0
  307. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
  308. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
  309. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
  310. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +94 -0
  311. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
  312. package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
  313. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  314. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
  315. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  316. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +57 -55
  317. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  318. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
  319. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  320. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +263 -152
  321. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  322. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
  323. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  324. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +296 -181
  325. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  326. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
  327. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  328. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +85 -83
  329. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  330. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  331. package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
  332. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  333. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
  334. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  335. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +4 -3
  336. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  337. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +5 -6
  338. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  339. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +5 -9
  340. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  341. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +88 -0
  342. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
  343. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +591 -0
  344. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
  345. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
  346. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
  347. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +237 -0
  348. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
  349. package/dist/hooks/useSDK.d.ts +4 -4
  350. package/dist/hooks/useSDK.d.ts.map +1 -1
  351. package/dist/hooks/useSDK.js +4 -4
  352. package/dist/hooks/useSDK.js.map +1 -1
  353. package/dist/hooks/useSlippage.d.ts.map +1 -1
  354. package/dist/hooks/useSlippage.js +2 -1
  355. package/dist/hooks/useSlippage.js.map +1 -1
  356. package/dist/index.d.ts +1 -1
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/lib/constants/delta.d.ts.map +1 -1
  359. package/dist/lib/constants/delta.js +1 -1
  360. package/dist/lib/constants/delta.js.map +1 -1
  361. package/dist/lib/constants/time.d.ts +1 -0
  362. package/dist/lib/constants/time.d.ts.map +1 -1
  363. package/dist/lib/constants/time.js +2 -1
  364. package/dist/lib/constants/time.js.map +1 -1
  365. package/dist/lib/queryClient.js +2 -2
  366. package/dist/lib/queryClient.js.map +1 -1
  367. package/dist/lib/tradeMode.d.ts +1 -1
  368. package/dist/lib/tradeMode.d.ts.map +1 -1
  369. package/dist/lib/tradeMode.js +1 -1
  370. package/dist/lib/tradeMode.js.map +1 -1
  371. package/dist/lib/utils/index.d.ts +8 -0
  372. package/dist/lib/utils/index.d.ts.map +1 -1
  373. package/dist/lib/utils/index.js +18 -1
  374. package/dist/lib/utils/index.js.map +1 -1
  375. package/dist/lib/utils/time.d.ts +2 -0
  376. package/dist/lib/utils/time.d.ts.map +1 -1
  377. package/dist/lib/utils/time.js +7 -1
  378. package/dist/lib/utils/time.js.map +1 -1
  379. package/dist/lib/utils/toasts.d.ts +4 -4
  380. package/dist/lib/utils/toasts.d.ts.map +1 -1
  381. package/dist/lib/utils/toasts.js.map +1 -1
  382. package/dist/lib/utils/twap.d.ts +17 -0
  383. package/dist/lib/utils/twap.d.ts.map +1 -0
  384. package/dist/lib/utils/twap.js +34 -0
  385. package/dist/lib/utils/twap.js.map +1 -0
  386. package/dist/lib/web3/privy/config.js +1 -1
  387. package/dist/lib/web3/privy/config.js.map +1 -1
  388. package/dist/lib/web3/wagmi/config.js +1 -1
  389. package/dist/lib/web3/wagmi/config.js.map +1 -1
  390. package/dist/styles.css +63 -2
  391. package/dist/tokens/constants.d.ts.map +1 -1
  392. package/dist/tokens/constants.js +9 -9
  393. package/dist/tokens/constants.js.map +1 -1
  394. package/dist/tokens/defaultTokens.js +17 -17
  395. package/dist/tokens/defaultTokens.js.map +1 -1
  396. package/dist/tokens/lists/constants.d.ts +1 -1
  397. package/dist/tokens/lists/constants.d.ts.map +1 -1
  398. package/dist/tokens/lists/constants.js +1 -1
  399. package/dist/tokens/lists/constants.js.map +1 -1
  400. package/dist/transactions/types.d.ts +3 -3
  401. package/dist/transactions/types.d.ts.map +1 -1
  402. package/package.json +2 -2
@@ -0,0 +1,88 @@
1
+ import { BridgePrice, DeltaPrice } from '@velora-dex/sdk';
2
+ import { Address, TransactionReceipt } from 'viem';
3
+ import { ApprovalFlowResult, SignPermitFlowResult, SubmitTxResult } from './common/types';
4
+ import { SupportedChainId } from '../../../lib/web3/wagmi/types';
5
+ import { CallsSentObject, TxSentObject } from '../../../lib/utils/transactionHandlers';
6
+ import { OrderSentObject } from '../../../lib/utils/toasts';
7
+ import { CancelDeltaOrdersReturn } from '../prices/delta/mutations/useCancelDeltaOrders';
8
+ import { DeltaAuctionWithTwapOrder, NullableDeltaAuctionWithTwapOrder } from '../prices/delta/orders/types';
9
+ import { TwapOrderPreSignResult } from '../prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder';
10
+ import { TwapOrderDepositResult } from '../prices/delta/mutations/twap/useDepositAndSubmitTwapOrder';
11
+ declare const twapOrderFlowType = "twapOrder";
12
+ export type UseTwapFlowInput = {
13
+ twapPrice?: DeltaPrice | BridgePrice;
14
+ };
15
+ export type SubmitTwapOrderResult = {
16
+ tradeFlowType: typeof twapOrderFlowType;
17
+ approve: SubmitTxResult;
18
+ twapOrder: {
19
+ sentOrder: DeltaAuctionWithTwapOrder;
20
+ };
21
+ twapPrice: DeltaPrice | BridgePrice;
22
+ account: Address;
23
+ receiverAddress?: Address;
24
+ };
25
+ type OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;
26
+ type OnOrderSent = (orderSent: OrderSentObject) => void;
27
+ type RunTwapOrderOptions = {
28
+ onTxSent?: OnTxSent;
29
+ onOrderSent?: OnOrderSent;
30
+ };
31
+ type TwapOrderSubmissionResult = {
32
+ order?: DeltaAuctionWithTwapOrder;
33
+ isCreatingOrder: boolean;
34
+ isPostingOrder: boolean;
35
+ isOrderSent: boolean;
36
+ isPending: boolean;
37
+ isError: boolean;
38
+ isSuccess: boolean;
39
+ error: Error | null;
40
+ };
41
+ type TwapOrderExecutionResult = {
42
+ sentOrder?: DeltaAuctionWithTwapOrder;
43
+ lastOrderState?: NullableDeltaAuctionWithTwapOrder;
44
+ isOrderPending: boolean;
45
+ isOrderExecuting: boolean;
46
+ isOrderExecuted: boolean;
47
+ isPending: boolean;
48
+ isError: boolean;
49
+ isSuccess: boolean;
50
+ error: Error | null;
51
+ };
52
+ type TwapOrderCancelationResult = {
53
+ receipt?: TransactionReceipt;
54
+ isCancelingOrder: boolean;
55
+ isOrderCancellable: boolean;
56
+ isOrderCanceled: boolean;
57
+ isPending: boolean;
58
+ isError: boolean;
59
+ isSuccess: boolean;
60
+ error: Error | null;
61
+ };
62
+ export type UseTwapFlowResult = {
63
+ tradeFlowType: typeof twapOrderFlowType;
64
+ chainId: SupportedChainId;
65
+ runTwapOrderFlow: (options?: RunTwapOrderOptions) => Promise<SubmitTwapOrderResult>;
66
+ reset: () => void;
67
+ cancelFlow: () => void;
68
+ retryFlow: (options?: RunTwapOrderOptions) => Promise<SubmitTwapOrderResult>;
69
+ cancelTwapOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;
70
+ approval: ApprovalFlowResult;
71
+ signPermit: SignPermitFlowResult;
72
+ twapOrderPreSign: TwapOrderPreSignResult;
73
+ twapOrderDeposit: TwapOrderDepositResult;
74
+ twapOrderSubmission: TwapOrderSubmissionResult;
75
+ twapOrderExecution: TwapOrderExecutionResult;
76
+ twapOrderCancelation: TwapOrderCancelationResult;
77
+ isPending: boolean;
78
+ isSuccess: boolean;
79
+ isError: boolean;
80
+ error: Error | null;
81
+ result?: SubmitTwapOrderResult;
82
+ usedPrice?: DeltaPrice | BridgePrice;
83
+ freshPrice?: DeltaPrice | BridgePrice;
84
+ submittedTwapOrder?: DeltaAuctionWithTwapOrder;
85
+ };
86
+ export declare function useTwapFlow({ twapPrice: _twapPrice, }: UseTwapFlowInput): UseTwapFlowResult;
87
+ export {};
88
+ //# sourceMappingURL=useTwapFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTwapFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useTwapFlow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,591 @@
1
+ import '@velora-dex/sdk';
2
+ import { useAccount } from 'wagmi';
3
+ import { assert } from 'ts-essentials';
4
+ import { useEnsureTxReceipt } from '../../txs/queries/useAwaitTx.js';
5
+ import { deltaOrdersQueryKey } from '../prices/delta/queries/useDeltaOrders.js';
6
+ import { useMinViemClient } from '../../useMinViemClient.js';
7
+ import { useWatchDeltaAuction, useEnsureDeltaOrderExecuted } from '../prices/delta/queries/useWatchDeltaOrder.js';
8
+ import { getOverallOrderStatus } from '../prices/delta/orders/utils.js';
9
+ import { useQueryClient, useMutation } from '@tanstack/react-query';
10
+ import { useRef } from 'react';
11
+ import { UserCancelledError } from './common/errors.js';
12
+ import { useSwapReceiverAddressValue } from '../../../components/widget/ReceiverAddress/state/receiverAddressAtom.js';
13
+ import { useApproveOrPermit } from './common/useApproveOrPermit.js';
14
+ import { useMarkPermit1Or2NonceAsUsed } from './common/useSignPermit1Or2.js';
15
+ import { produceDeltaOrderDeadline } from '../../permit/utils/deadlines.js';
16
+ import { useLogger } from '../../../core/logger.js';
17
+ import { useSubscribeToDeltaPrice, isBridgePrice } from '../prices/delta/queries/useDeltaPriceQuery.js';
18
+ import { usePartner } from '../../usePartner.js';
19
+ import { useWidgetEvents } from '../../../core/state/widgetEventsAtom.js';
20
+ import { shouldApproveOrBatch } from './common/usePreSignAndSubmitDeltaOrder.js';
21
+ import { getSwapSideFromDeltaPrice } from '../prices/delta/queries/utils.js';
22
+ import { isETHaddress } from '../../../tokens/utils/eth.js';
23
+ import { useCancelOrWithdrawAndCancelDeltaOrder } from '../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js';
24
+ import { useTwapPrices } from '../prices/useTwapPrices.js';
25
+ import { useDegenMode } from '../../../components/widget/TradeParameters/state/degenModeParamAtom.js';
26
+ import { useTwapSide } from '../../../core/twap/state/twapSideAtom.js';
27
+ import { useTwapSlippage, useTwapDuration } from '../../../core/twap/state/twapParamsAtom.js';
28
+ import { useCreateAndSubmitTwapOrder } from '../prices/delta/mutations/twap/useCreateTwapOrder.js';
29
+ import { getTwapAmountsFromPrice } from '../../../lib/utils/twap.js';
30
+ import { TEN_MINUTES_MS } from '../../../lib/constants/time.js';
31
+ import { millisecondsToSeconds, minutesToMilliseconds } from '../../../lib/utils/time.js';
32
+ import { usePreSignAndSubmitTwapOrder } from '../prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js';
33
+ import { useDepositAndSubmitTwapOrder } from '../prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js';
34
+ import { amountAfterSlippage } from '../../../lib/utils/slippage.js';
35
+ import { DEFAULT_DELTA_BRIDGE } from '../prices/delta/bridge/const.js';
36
+
37
+ const twapOrderFlowType = "twapOrder";
38
+ const TWAP_ORDER_MUTATION_KEY = "runTwapOrderFlow";
39
+ function useTwapFlow({
40
+ twapPrice: _twapPrice
41
+ }) {
42
+ const logger = useLogger("TwapFlow");
43
+ const {
44
+ queryKey,
45
+ price,
46
+ chainId,
47
+ refetch,
48
+ totalSrcAmount,
49
+ side: sideFromPrices,
50
+ numSlices
51
+ } = useTwapPrices({
52
+ enabled: false
53
+ });
54
+ const twapPrice = price || _twapPrice;
55
+ const twapSideFromInput = useTwapSide();
56
+ const twapSide = sideFromPrices || twapSideFromInput;
57
+ const {
58
+ approval,
59
+ signPermit,
60
+ approveTxMut,
61
+ signPermitMut,
62
+ events: approveOrPermitEvents
63
+ } = useApproveOrPermit({
64
+ srcToken: twapPrice?.srcToken,
65
+ srcAmount: totalSrcAmount,
66
+ spenderContractType: "ParaswapDelta",
67
+ swapSide: twapSide,
68
+ tradeMode: "twap",
69
+ chainId,
70
+ tryPermit2: false
71
+ });
72
+ const {
73
+ address: account
74
+ } = useAccount();
75
+ const {
76
+ minClient
77
+ } = useMinViemClient({
78
+ chainId,
79
+ account
80
+ });
81
+ const queryClient = useQueryClient();
82
+ const createAndSubmitOrderMut = useCreateAndSubmitTwapOrder({
83
+ chainId,
84
+ account,
85
+ client: minClient,
86
+ mutationOptions: {
87
+ onSuccess: (order) => {
88
+ logger.log("Create Twap Order success", order);
89
+ },
90
+ onError: (error) => {
91
+ logger.error("Create Twap Order error", error);
92
+ }
93
+ }
94
+ });
95
+ const twapOrderCreateAndSubmit = {
96
+ order: createAndSubmitOrderMut.order,
97
+ isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,
98
+ isPostingOrder: createAndSubmitOrderMut.isPostingOrder,
99
+ isOrderSent: createAndSubmitOrderMut.isOrderSent,
100
+ isPending: createAndSubmitOrderMut.isPending,
101
+ isError: createAndSubmitOrderMut.isError,
102
+ isSuccess: createAndSubmitOrderMut.isSuccess,
103
+ error: createAndSubmitOrderMut.error
104
+ };
105
+ const {
106
+ twapOrderPreSign,
107
+ canBatchTxs,
108
+ isConnectedToSafe,
109
+ preSignAndSubmitTwapOrder,
110
+ reset: resetPreSignAndSubmitTwapOrder
111
+ } = usePreSignAndSubmitTwapOrder({
112
+ chainId,
113
+ account,
114
+ logger,
115
+ viemClient: minClient
116
+ });
117
+ const {
118
+ twapOrderDeposit,
119
+ reset: resetDepositAndSubmitTwapOrder,
120
+ depositAndSubmitTwapOrder
121
+ } = useDepositAndSubmitTwapOrder({
122
+ chainId,
123
+ account,
124
+ logger,
125
+ viemClient: minClient
126
+ });
127
+ const twapOrderSubmission = {
128
+ order: twapOrderCreateAndSubmit.order || twapOrderPreSign.order || twapOrderDeposit.order,
129
+ isPostingOrder: twapOrderCreateAndSubmit.isPostingOrder || twapOrderPreSign.postingOrder.isPostingOrder || twapOrderDeposit.postingOrder.isPostingOrder,
130
+ isCreatingOrder: twapOrderCreateAndSubmit.isCreatingOrder || twapOrderPreSign.isCreatingOrder || twapOrderDeposit.isCreatingOrder,
131
+ isOrderSent: twapOrderCreateAndSubmit.isOrderSent || twapOrderPreSign.isOrderSent || twapOrderDeposit.isOrderSent,
132
+ isPending: twapOrderCreateAndSubmit.isPending || twapOrderPreSign.isPending || twapOrderDeposit.isPending,
133
+ isError: twapOrderCreateAndSubmit.isError || twapOrderPreSign.isError || twapOrderDeposit.isError,
134
+ isSuccess: twapOrderCreateAndSubmit.isSuccess || twapOrderPreSign.isSuccess || twapOrderDeposit.isSuccess,
135
+ error: twapOrderCreateAndSubmit.error || twapOrderPreSign.error || twapOrderDeposit.error
136
+ };
137
+ const watchOrderExecution = useWatchDeltaAuction({
138
+ orderId: twapOrderSubmission.order?.id,
139
+ onAuctionSuccess: (order_0) => {
140
+ logger.log("Twap Order success", order_0);
141
+ },
142
+ onAuctionFailure: (order_1) => {
143
+ logger.log("Twap Order failure", order_1);
144
+ },
145
+ onUpdatedAuction: (order_2) => {
146
+ logger.log("Twap Order updated", order_2);
147
+ },
148
+ onTimeoutGettingOrder: (order_3) => {
149
+ logger.log("Twap Order timeout", order_3);
150
+ }
151
+ });
152
+ const orderStatus = watchOrderExecution.data ? getOverallOrderStatus(watchOrderExecution.data) : null;
153
+ const neverFetchedFinishedOrder = watchOrderExecution.data === null && watchOrderExecution.isSuccess;
154
+ const twapOrderExecution = {
155
+ sentOrder: twapOrderSubmission.order,
156
+ lastOrderState: watchOrderExecution.data,
157
+ isOrderPending: orderStatus === "pending",
158
+ isOrderExecuting: orderStatus === "executing",
159
+ isOrderExecuted: orderStatus === "confirmed",
160
+ isPending: watchOrderExecution.isLoading || watchOrderExecution.isRefetching || orderStatus === "pending" || orderStatus === "executing",
161
+ isError: watchOrderExecution.isError || orderStatus === "failed" || neverFetchedFinishedOrder,
162
+ isSuccess: orderStatus === "confirmed",
163
+ error: watchOrderExecution.error
164
+ };
165
+ const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({
166
+ // supply the must up-to-date order for cancellation
167
+ order: twapOrderExecution.lastOrderState || twapOrderExecution.sentOrder,
168
+ chainId,
169
+ account,
170
+ client: minClient,
171
+ logger
172
+ });
173
+ const twapOrderCancelation = {
174
+ receipt: cancelOrderMut.receipt,
175
+ isCancelingOrder: cancelOrderMut.isPending,
176
+ isOrderCancellable: cancelOrderMut.isOrderCancellable,
177
+ isOrderCanceled: cancelOrderMut.isSuccess,
178
+ isPending: cancelOrderMut.isPending,
179
+ isError: cancelOrderMut.isError,
180
+ isSuccess: cancelOrderMut.isSuccess,
181
+ error: cancelOrderMut.error
182
+ };
183
+ const ensureOrderExecuted = useEnsureDeltaOrderExecuted({
184
+ onAuctionSuccess: (order_4) => {
185
+ queryClient.invalidateQueries({
186
+ queryKey: deltaOrdersQueryKey({
187
+ userAddress: order_4.user
188
+ }),
189
+ exact: false
190
+ });
191
+ },
192
+ onAuctionFailure: (order_5) => {
193
+ queryClient.invalidateQueries({
194
+ queryKey: deltaOrdersQueryKey({
195
+ userAddress: order_5.user
196
+ }),
197
+ exact: false
198
+ });
199
+ }
200
+ });
201
+ const ensureTxReceipt = useEnsureTxReceipt();
202
+ const currentAbortControllerRef = useRef(null);
203
+ const usingPriceRef = useRef(null);
204
+ const cancelFlow = () => {
205
+ currentAbortControllerRef.current?.abort(new UserCancelledError());
206
+ currentAbortControllerRef.current = null;
207
+ usingPriceRef.current = null;
208
+ };
209
+ const receiverAddress = useSwapReceiverAddressValue();
210
+ const {
211
+ markNonceAsUsed,
212
+ clearNonce
213
+ } = useMarkPermit1Or2NonceAsUsed({
214
+ chainId
215
+ });
216
+ const {
217
+ partner,
218
+ partnerAddress,
219
+ partnerFeeBps,
220
+ partnerTakesSurplus
221
+ } = usePartner();
222
+ const subscribeToPrice = useSubscribeToDeltaPrice();
223
+ const {
224
+ onTwapOrder
225
+ } = useWidgetEvents();
226
+ const degenMode = useDegenMode();
227
+ const twapSlippage = useTwapSlippage();
228
+ const twapDurationMin = useTwapDuration();
229
+ const submitTwapOrder = async ({
230
+ onTxSent,
231
+ onOrderSent,
232
+ lastPrice
233
+ } = {}) => {
234
+ approveTxMut.reset();
235
+ signPermitMut.reset();
236
+ createAndSubmitOrderMut.reset();
237
+ cancelOrderMut.reset();
238
+ resetPreSignAndSubmitTwapOrder();
239
+ resetDepositAndSubmitTwapOrder();
240
+ assert(twapPrice, "Twap price is not available");
241
+ const abortController = new AbortController();
242
+ currentAbortControllerRef.current = abortController;
243
+ const signal = abortController.signal;
244
+ const orderDurationMs = minutesToMilliseconds(twapDurationMin);
245
+ const orderDeadline = produceDeltaOrderDeadline(
246
+ // 10 min buffer for possible delays in order creation or slice executions
247
+ orderDurationMs + TEN_MINUTES_MS
248
+ );
249
+ const orderInterval = Math.floor(millisecondsToSeconds(orderDurationMs) / numSlices);
250
+ const orderSlippageBps = Math.floor(twapSlippage * 100);
251
+ let signedPermitResult;
252
+ let approveTxHash;
253
+ let approveTxReceipt;
254
+ const allowanceToSet = approval.allowanceToSet;
255
+ const allowanceToPermit = signPermit.amountToPermit;
256
+ let freshPrice = twapPrice;
257
+ if (freshPrice.hmac === lastPrice?.hmac) {
258
+ const newPriceResult = await refetch({
259
+ cancelRefetch: false
260
+ });
261
+ signal.throwIfAborted();
262
+ if (newPriceResult.data) {
263
+ freshPrice = newPriceResult.data;
264
+ }
265
+ }
266
+ let unsubscribeFromPrice;
267
+ usingPriceRef.current = freshPrice;
268
+ const shouldDepositAndPreSign = (
269
+ // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,
270
+ // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits
271
+ isETHaddress(freshPrice.srcToken)
272
+ );
273
+ const {
274
+ shouldDoApprovalTxOrPermit,
275
+ tryPermit,
276
+ shouldPreSignBatch
277
+ } = shouldApproveOrBatch({
278
+ approval,
279
+ signPermit,
280
+ canBatchTxs,
281
+ isConnectedToSafe
282
+ });
283
+ try {
284
+ if (shouldDoApprovalTxOrPermit && allowanceToSet) {
285
+ const _queryKey = queryKey;
286
+ if (_queryKey) {
287
+ const approvedAmount = allowanceToSet;
288
+ unsubscribeFromPrice = subscribeToPrice({
289
+ queryKey: _queryKey,
290
+ onData: (price_0) => {
291
+ const newPrice = price_0;
292
+ if (signal.aborted) {
293
+ unsubscribeFromPrice?.();
294
+ unsubscribeFromPrice = void 0;
295
+ return;
296
+ }
297
+ const {
298
+ srcAmount: totalSrcAmount_0
299
+ } = getTwapAmountsFromPrice({
300
+ price: newPrice,
301
+ numSlices
302
+ });
303
+ if (approvedAmount >= BigInt(totalSrcAmount_0)) {
304
+ logger.log("~ fresh price ~", newPrice);
305
+ freshPrice = newPrice;
306
+ usingPriceRef.current = freshPrice;
307
+ }
308
+ }
309
+ });
310
+ }
311
+ try {
312
+ if (!tryPermit) {
313
+ approveOrPermitEvents.onApproveTx.request({
314
+ allowanceToSet
315
+ });
316
+ approveTxHash = await approveTxMut.approveAsync({
317
+ allowanceData: {
318
+ allowanceToSet
319
+ }
320
+ });
321
+ approveOrPermitEvents.onApproveTx.sent({
322
+ allowanceToSet,
323
+ txHash: approveTxHash
324
+ });
325
+ signal.throwIfAborted();
326
+ const approveTxReceiptPromise = ensureTxReceipt({
327
+ hash: approveTxHash,
328
+ chainId,
329
+ onReplaced: (data) => {
330
+ logger.log("onReplaced:approveTx", approveTxHash, data);
331
+ }
332
+ });
333
+ if (onTxSent) {
334
+ onTxSent({
335
+ chainId,
336
+ action: "approve",
337
+ transactionHash: approveTxHash,
338
+ receiptPromise: approveTxReceiptPromise,
339
+ transactionSpecificData: {
340
+ action: "approve",
341
+ approvedAmount: allowanceToSet,
342
+ tokenAddress: approval.token,
343
+ spenderAddress: approval.spender
344
+ }
345
+ });
346
+ }
347
+ approveTxReceipt = await approveTxReceiptPromise;
348
+ approveOrPermitEvents.onApproveTx.confirmed({
349
+ allowanceToSet,
350
+ txHash: approveTxHash,
351
+ txReceipt: approveTxReceipt
352
+ });
353
+ logger.log("~ approveTx ~ receipt:", approveTxReceipt);
354
+ } else {
355
+ approveOrPermitEvents.onSignPermit.request({
356
+ allowanceToSet: allowanceToPermit
357
+ });
358
+ signedPermitResult = await signPermitMut.signPermitAsync({
359
+ deadline: orderDeadline,
360
+ value: allowanceToPermit
361
+ });
362
+ approveOrPermitEvents.onSignPermit.confirmed({
363
+ allowanceToSet: allowanceToPermit,
364
+ permit: signedPermitResult?.permitEncodedArgs
365
+ });
366
+ }
367
+ } catch (error_1) {
368
+ if (!tryPermit) {
369
+ approveOrPermitEvents.onApproveTx.failed({
370
+ allowanceToSet,
371
+ error: error_1,
372
+ txHash: approveTxHash
373
+ // won't necessarily be available
374
+ });
375
+ } else {
376
+ approveOrPermitEvents.onSignPermit.failed({
377
+ allowanceToSet: allowanceToPermit,
378
+ error: error_1
379
+ });
380
+ }
381
+ throw error_1;
382
+ }
383
+ }
384
+ signal.throwIfAborted();
385
+ assert(account, "Account is not connected");
386
+ const twapPriceToUse = freshPrice;
387
+ usingPriceRef.current = twapPriceToUse;
388
+ unsubscribeFromPrice?.();
389
+ unsubscribeFromPrice = void 0;
390
+ assert(twapPriceToUse, "Twap price is not available");
391
+ const twapSide_0 = getSwapSideFromDeltaPrice(twapPriceToUse);
392
+ const {
393
+ srcAmount: totalSrcAmount_1,
394
+ destAmount: totalDestAmount
395
+ } = getTwapAmountsFromPrice({
396
+ price: twapPriceToUse,
397
+ numSlices
398
+ });
399
+ const permit = signedPermitResult?.permitEncodedArgs;
400
+ const destChainId = isBridgePrice(twapPriceToUse) ? twapPriceToUse.bridge.destinationChainId : chainId;
401
+ onTwapOrder?.({
402
+ event: {
403
+ name: "TwapOrder:request",
404
+ params: {
405
+ price: twapPriceToUse
406
+ }
407
+ }
408
+ });
409
+ let orderFromAPI;
410
+ let sellOrBuyParams;
411
+ if (twapSide_0 === "SELL") {
412
+ sellOrBuyParams = {
413
+ onChainOrderType: "TWAPOrder",
414
+ totalSrcAmount: totalSrcAmount_1
415
+ // SDK adds destAmountPerSlice internally with slippage applied
416
+ };
417
+ } else {
418
+ sellOrBuyParams = {
419
+ onChainOrderType: "TWAPBuyOrder",
420
+ totalDestAmount,
421
+ // SDK applies slippage to maxSrcAmount internally
422
+ maxSrcAmount: totalSrcAmount_1
423
+ };
424
+ }
425
+ const createOrderInput = {
426
+ signal,
427
+ type: "MARKET",
428
+ degenMode,
429
+ orderInput: {
430
+ owner: account,
431
+ beneficiary: receiverAddress,
432
+ srcToken: twapPriceToUse.srcToken,
433
+ destToken: twapPriceToUse.destToken,
434
+ permit,
435
+ destChainId,
436
+ deltaPrice: {
437
+ ...twapPriceToUse,
438
+ bridge: {
439
+ ...twapPriceToUse.bridge,
440
+ // TWAP: pass nullified protocolSelector
441
+ protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector
442
+ // SDK nullifies protocolData internally
443
+ },
444
+ partner
445
+ },
446
+ partner,
447
+ partnerAddress,
448
+ partnerFeeBps,
449
+ partnerTakesSurplus,
450
+ deadline: Number(orderDeadline),
451
+ // twap specific params
452
+ ...sellOrBuyParams,
453
+ numSlices,
454
+ slippage: orderSlippageBps,
455
+ interval: orderInterval
456
+ }
457
+ };
458
+ if (shouldDepositAndPreSign) {
459
+ const depositAmount = "totalSrcAmount" in sellOrBuyParams ? sellOrBuyParams.totalSrcAmount : amountAfterSlippage(sellOrBuyParams.maxSrcAmount, twapSlippage, "BUY").toFixed(0);
460
+ orderFromAPI = await depositAndSubmitTwapOrder({
461
+ createOrderInput,
462
+ depositAmount,
463
+ onTxSent
464
+ });
465
+ } else if (shouldPreSignBatch) {
466
+ orderFromAPI = await preSignAndSubmitTwapOrder({
467
+ createOrderInput,
468
+ approval,
469
+ onTxSent
470
+ });
471
+ } else {
472
+ orderFromAPI = await createAndSubmitOrderMut.mutateAsync(createOrderInput);
473
+ }
474
+ if (signedPermitResult) {
475
+ markNonceAsUsed(signedPermitResult.signedPermitData);
476
+ }
477
+ onTwapOrder?.({
478
+ event: {
479
+ name: "TwapOrder:sent",
480
+ params: {
481
+ price: twapPriceToUse,
482
+ order: orderFromAPI
483
+ }
484
+ }
485
+ });
486
+ const lastOrderStatePromise = ensureOrderExecuted({
487
+ orderId: orderFromAPI.id
488
+ // signal, // fails the toast if aborted, don't use
489
+ });
490
+ if (onOrderSent) {
491
+ onOrderSent({
492
+ order: orderFromAPI,
493
+ lastOrderState: lastOrderStatePromise
494
+ });
495
+ }
496
+ return {
497
+ tradeFlowType: twapOrderFlowType,
498
+ approve: {
499
+ txHash: approveTxHash,
500
+ receipt: approveTxReceipt
501
+ },
502
+ twapOrder: {
503
+ sentOrder: orderFromAPI
504
+ },
505
+ twapPrice: twapPriceToUse,
506
+ account,
507
+ receiverAddress
508
+ };
509
+ } catch (error_0) {
510
+ if (signedPermitResult) {
511
+ clearNonce(signedPermitResult.signedPermitData);
512
+ }
513
+ onTwapOrder?.({
514
+ event: {
515
+ name: "TwapOrder:failed",
516
+ params: {
517
+ error: error_0
518
+ }
519
+ }
520
+ });
521
+ throw error_0;
522
+ } finally {
523
+ unsubscribeFromPrice?.();
524
+ }
525
+ };
526
+ const cancelTwapOrder = cancelOrderMut.cancelDeltaOrder;
527
+ const twapOrderMut = useMutation({
528
+ mutationFn: submitTwapOrder,
529
+ mutationKey: [TWAP_ORDER_MUTATION_KEY],
530
+ onSuccess: (data_0) => {
531
+ logger.log("Twap Order success", data_0);
532
+ },
533
+ onError: (error_2) => {
534
+ logger.error("Twap Order error", error_2);
535
+ },
536
+ onSettled: () => {
537
+ logger.log("Twap Order settled");
538
+ }
539
+ });
540
+ const runTwapOrderFlow = twapOrderMut.mutateAsync;
541
+ const reset = () => {
542
+ usingPriceRef.current = null;
543
+ approveTxMut.reset();
544
+ signPermitMut.reset();
545
+ createAndSubmitOrderMut.reset();
546
+ twapOrderMut.reset();
547
+ cancelOrderMut.reset();
548
+ resetPreSignAndSubmitTwapOrder();
549
+ resetDepositAndSubmitTwapOrder();
550
+ };
551
+ const retryFlow = (options) => {
552
+ const lastPrice_0 = usingPriceRef.current;
553
+ reset();
554
+ return runTwapOrderFlow({
555
+ ...options,
556
+ lastPrice: lastPrice_0
557
+ });
558
+ };
559
+ const usedPrice = usingPriceRef.current || twapPrice;
560
+ const result = twapOrderMut.data;
561
+ const submittedTwapOrder = result?.twapOrder.sentOrder || twapOrderExecution.lastOrderState || twapOrderExecution.sentOrder;
562
+ return {
563
+ tradeFlowType: twapOrderFlowType,
564
+ chainId,
565
+ runTwapOrderFlow,
566
+ reset,
567
+ cancelFlow,
568
+ retryFlow,
569
+ cancelTwapOrder,
570
+ approval,
571
+ signPermit,
572
+ twapOrderPreSign,
573
+ twapOrderDeposit,
574
+ twapOrderSubmission,
575
+ twapOrderExecution,
576
+ twapOrderCancelation,
577
+ // twapOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)
578
+ isPending: twapOrderMut.isPending,
579
+ isSuccess: twapOrderSubmission.isSuccess && twapOrderExecution.isSuccess,
580
+ // approval is an optional step
581
+ isError: twapOrderMut.isError,
582
+ error: twapOrderMut.error,
583
+ result,
584
+ usedPrice,
585
+ freshPrice: twapPrice,
586
+ submittedTwapOrder
587
+ };
588
+ }
589
+
590
+ export { useTwapFlow };
591
+ //# sourceMappingURL=useTwapFlow.js.map