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