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

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 (428) 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 +44 -26
  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/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  40. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +8 -4
  41. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  42. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -1
  43. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  44. package/dist/components/widget/SwapRate/SwapRate.js +29 -20
  45. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  47. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +77 -86
  48. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  49. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +28 -46
  50. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  51. package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
  52. package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
  53. package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
  54. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  55. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +105 -72
  56. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  57. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  58. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +46 -11
  59. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  60. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
  61. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
  62. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +19 -7
  63. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  64. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
  65. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
  66. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +241 -0
  67. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
  68. package/dist/components/widget/TradeOverview/steps.d.ts +37 -0
  69. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  70. package/dist/components/widget/TradeOverview/steps.js +10 -1
  71. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +2 -2
  73. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  74. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  75. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts +14 -0
  76. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts.map +1 -0
  77. package/dist/components/widget/TradeOverview/utils/swapAmounts.js +43 -0
  78. package/dist/components/widget/TradeOverview/utils/swapAmounts.js.map +1 -0
  79. package/dist/components/widget/Twap/OrderDuration.d.ts +2 -0
  80. package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
  81. package/dist/components/widget/Twap/OrderDuration.js +75 -0
  82. package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
  83. package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
  84. package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
  85. package/dist/components/widget/Twap/OrderSplit.js +57 -0
  86. package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
  87. package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
  88. package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
  89. package/dist/components/widget/Twap/RateProtection.js +57 -0
  90. package/dist/components/widget/Twap/RateProtection.js.map +1 -0
  91. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
  92. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
  93. package/dist/components/widget/Twap/TwapDetailWithTooltip.js +33 -0
  94. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
  95. package/dist/configurator/Configurator.d.ts.map +1 -1
  96. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
  97. package/dist/core/TradeFlowScreenButton.d.ts +5 -0
  98. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  99. package/dist/core/TradeFlowScreenButton.js +58 -1
  100. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  101. package/dist/core/TwapDetails.d.ts +2 -0
  102. package/dist/core/TwapDetails.d.ts.map +1 -0
  103. package/dist/core/TwapDetails.js +24 -0
  104. package/dist/core/TwapDetails.js.map +1 -0
  105. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  106. package/dist/core/across/isCrosschainPossible.js +1 -1
  107. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  108. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  109. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  110. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +71 -1
  111. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  112. package/dist/core/constants.d.ts +1 -1
  113. package/dist/core/index.d.ts.map +1 -1
  114. package/dist/core/index.js +199 -3
  115. package/dist/core/index.js.map +1 -1
  116. package/dist/core/inputs/state/common.d.ts +2 -0
  117. package/dist/core/inputs/state/common.d.ts.map +1 -1
  118. package/dist/core/inputs/state/common.js +40 -4
  119. package/dist/core/inputs/state/common.js.map +1 -1
  120. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  121. package/dist/core/inputs/state/setTokenByAddressAtom.js +2 -2
  122. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  123. package/dist/core/limit/state/utils.d.ts +1 -1
  124. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  125. package/dist/core/limit/useLimitRate.js +0 -2
  126. package/dist/core/limit/useLimitRate.js.map +1 -1
  127. package/dist/core/state/chainToAtom.d.ts +2 -0
  128. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  129. package/dist/core/state/chainToAtom.js +28 -7
  130. package/dist/core/state/chainToAtom.js.map +1 -1
  131. package/dist/core/state/configAtom.js +2 -2
  132. package/dist/core/state/configAtom.js.map +1 -1
  133. package/dist/core/state/tradeModeAtom.d.ts +1 -1
  134. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  135. package/dist/core/state/tradeModeAtom.js.map +1 -1
  136. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  137. package/dist/core/state/widgetEventsAtom.js +55 -33
  138. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  139. package/dist/core/twap/state/constants.d.ts +15 -0
  140. package/dist/core/twap/state/constants.d.ts.map +1 -0
  141. package/dist/core/twap/state/constants.js +19 -0
  142. package/dist/core/twap/state/constants.js.map +1 -0
  143. package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
  144. package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
  145. package/dist/core/twap/state/currentTwapInputAtom.js +6 -0
  146. package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
  147. package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
  148. package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
  149. package/dist/core/twap/state/isCrosschainAtom.js +16 -0
  150. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
  151. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
  152. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
  153. package/dist/core/twap/state/selectedTokenActionsAtom.js +198 -0
  154. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
  155. package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
  156. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
  157. package/dist/core/twap/state/twapInputAmountAtom.js +21 -0
  158. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
  159. package/dist/core/twap/state/twapParamsAtom.d.ts +16 -0
  160. package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
  161. package/dist/core/twap/state/twapParamsAtom.js +22 -0
  162. package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
  163. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +5 -0
  164. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +1 -0
  165. package/dist/core/twap/state/twapReceiverAddressAtom.js +10 -0
  166. package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -0
  167. package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
  168. package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
  169. package/dist/core/twap/state/twapSideAtom.js +19 -0
  170. package/dist/core/twap/state/twapSideAtom.js.map +1 -0
  171. package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
  172. package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
  173. package/dist/core/twap/state/twapTokenAtoms.js +17 -0
  174. package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
  175. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
  176. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
  177. package/dist/core/twap/twapDetails/minimumReceiveable.js +44 -0
  178. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
  179. package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
  180. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
  181. package/dist/core/twap/useTwapDetailsListProps.js +109 -0
  182. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
  183. package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
  184. package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
  185. package/dist/core/twap/useTwapTokenFromInputProps.js +455 -0
  186. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
  187. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
  188. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
  189. package/dist/core/twap/useTwapTokenSwitcherProps.js +38 -0
  190. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
  191. package/dist/core/twap/useTwapTokenToInputProps.d.ts +9 -0
  192. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
  193. package/dist/core/twap/useTwapTokenToInputProps.js +271 -0
  194. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
  195. package/dist/events/effects/formInput.d.ts +3 -0
  196. package/dist/events/effects/formInput.d.ts.map +1 -1
  197. package/dist/events/effects/formInput.js +17 -1
  198. package/dist/events/effects/formInput.js.map +1 -1
  199. package/dist/events/getters/twap.d.ts +6 -0
  200. package/dist/events/getters/twap.d.ts.map +1 -0
  201. package/dist/events/getters/twap.js +65 -0
  202. package/dist/events/getters/twap.js.map +1 -0
  203. package/dist/events/getters/widgetState.d.ts.map +1 -1
  204. package/dist/events/getters/widgetState.js +3 -1
  205. package/dist/events/getters/widgetState.js.map +1 -1
  206. package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
  207. package/dist/events/hooks/useActivateEffects.js +2 -1
  208. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  209. package/dist/events/types/common.d.ts +6 -0
  210. package/dist/events/types/common.d.ts.map +1 -1
  211. package/dist/events/types/formInput.d.ts +11 -2
  212. package/dist/events/types/formInput.d.ts.map +1 -1
  213. package/dist/events/types/index.d.ts +4 -1
  214. package/dist/events/types/index.d.ts.map +1 -1
  215. package/dist/events/types/limit.d.ts +2 -2
  216. package/dist/events/types/limit.d.ts.map +1 -1
  217. package/dist/events/types/swap.d.ts +3 -2
  218. package/dist/events/types/swap.d.ts.map +1 -1
  219. package/dist/events/types/twap.d.ts +26 -0
  220. package/dist/events/types/twap.d.ts.map +1 -0
  221. package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
  222. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  223. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  224. package/dist/hooks/permit/utils/deadlines.d.ts +2 -2
  225. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
  226. package/dist/hooks/permit/utils/deadlines.js +4 -4
  227. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  228. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  229. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  230. package/dist/hooks/swap/prices/constants.js +2 -1
  231. package/dist/hooks/swap/prices/constants.js.map +1 -1
  232. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
  233. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
  234. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +86 -0
  235. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
  236. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
  237. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
  238. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +164 -0
  239. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
  240. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
  241. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
  242. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +278 -0
  243. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
  244. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
  245. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
  246. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +89 -0
  247. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
  248. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
  249. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
  250. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +325 -0
  251. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
  252. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
  253. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
  254. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +87 -0
  255. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
  256. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +10 -1
  257. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  258. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
  259. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  261. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
  262. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  263. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  264. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
  265. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  266. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  267. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
  268. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  269. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +3 -15
  270. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  271. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -5
  272. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  273. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  274. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
  275. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  276. package/dist/hooks/swap/prices/delta/mutations/utils.js +34 -2
  277. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  278. package/dist/hooks/swap/prices/delta/orders/types.d.ts +11 -46
  279. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  280. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  281. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  282. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  283. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
  284. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
  285. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
  286. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  287. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +24 -6
  288. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  289. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +17 -10
  290. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  291. package/dist/hooks/swap/prices/delta/orders/utils.js +32 -4
  292. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  293. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
  294. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  295. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  296. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
  297. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  298. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +37 -35
  299. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  300. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -17
  301. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  302. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  303. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +1 -0
  304. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  305. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  306. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  307. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  308. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +37 -35
  309. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  310. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  311. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  312. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  313. package/dist/hooks/swap/prices/usePricesParams.js +3 -4
  314. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  315. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  316. package/dist/hooks/swap/prices/useSwapPrices.js +0 -2
  317. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  318. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
  319. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  320. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  321. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
  322. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
  323. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +73 -0
  324. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
  325. package/dist/hooks/swap/prices/useTwapPrices.d.ts +28 -0
  326. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
  327. package/dist/hooks/swap/prices/useTwapPrices.js +175 -0
  328. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
  329. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
  330. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
  331. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +71 -0
  332. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
  333. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
  334. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
  335. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +94 -0
  336. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
  337. package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
  338. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  339. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
  340. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  341. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +57 -55
  342. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  343. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
  344. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  345. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +263 -152
  346. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  347. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
  348. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  349. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +296 -181
  350. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  351. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
  352. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  353. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +85 -83
  354. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  355. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  356. package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
  357. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  358. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
  359. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  360. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +4 -3
  361. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  362. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +5 -6
  363. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  364. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +5 -9
  365. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  366. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +88 -0
  367. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
  368. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +591 -0
  369. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
  370. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
  371. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
  372. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +237 -0
  373. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
  374. package/dist/hooks/useSDK.d.ts +4 -4
  375. package/dist/hooks/useSDK.d.ts.map +1 -1
  376. package/dist/hooks/useSDK.js +4 -4
  377. package/dist/hooks/useSDK.js.map +1 -1
  378. package/dist/hooks/useSlippage.d.ts.map +1 -1
  379. package/dist/hooks/useSlippage.js +2 -1
  380. package/dist/hooks/useSlippage.js.map +1 -1
  381. package/dist/index.d.ts +2 -2
  382. package/dist/index.d.ts.map +1 -1
  383. package/dist/lib/constants/delta.d.ts.map +1 -1
  384. package/dist/lib/constants/delta.js +1 -1
  385. package/dist/lib/constants/delta.js.map +1 -1
  386. package/dist/lib/constants/time.d.ts +1 -0
  387. package/dist/lib/constants/time.d.ts.map +1 -1
  388. package/dist/lib/constants/time.js +2 -1
  389. package/dist/lib/constants/time.js.map +1 -1
  390. package/dist/lib/queryClient.js +2 -2
  391. package/dist/lib/queryClient.js.map +1 -1
  392. package/dist/lib/tradeMode.d.ts +1 -1
  393. package/dist/lib/tradeMode.d.ts.map +1 -1
  394. package/dist/lib/tradeMode.js +1 -1
  395. package/dist/lib/tradeMode.js.map +1 -1
  396. package/dist/lib/utils/index.d.ts +8 -0
  397. package/dist/lib/utils/index.d.ts.map +1 -1
  398. package/dist/lib/utils/index.js +18 -1
  399. package/dist/lib/utils/index.js.map +1 -1
  400. package/dist/lib/utils/time.d.ts +2 -0
  401. package/dist/lib/utils/time.d.ts.map +1 -1
  402. package/dist/lib/utils/time.js +7 -1
  403. package/dist/lib/utils/time.js.map +1 -1
  404. package/dist/lib/utils/toasts.d.ts +4 -4
  405. package/dist/lib/utils/toasts.d.ts.map +1 -1
  406. package/dist/lib/utils/toasts.js.map +1 -1
  407. package/dist/lib/utils/twap.d.ts +17 -0
  408. package/dist/lib/utils/twap.d.ts.map +1 -0
  409. package/dist/lib/utils/twap.js +34 -0
  410. package/dist/lib/utils/twap.js.map +1 -0
  411. package/dist/lib/web3/privy/config.js +1 -1
  412. package/dist/lib/web3/privy/config.js.map +1 -1
  413. package/dist/lib/web3/wagmi/config.js +1 -1
  414. package/dist/lib/web3/wagmi/config.js.map +1 -1
  415. package/dist/styles.css +63 -2
  416. package/dist/tokens/constants.d.ts.map +1 -1
  417. package/dist/tokens/constants.js +9 -9
  418. package/dist/tokens/constants.js.map +1 -1
  419. package/dist/tokens/defaultTokens.d.ts.map +1 -1
  420. package/dist/tokens/defaultTokens.js +21 -18
  421. package/dist/tokens/defaultTokens.js.map +1 -1
  422. package/dist/tokens/lists/constants.d.ts +1 -1
  423. package/dist/tokens/lists/constants.d.ts.map +1 -1
  424. package/dist/tokens/lists/constants.js +1 -1
  425. package/dist/tokens/lists/constants.js.map +1 -1
  426. package/dist/transactions/types.d.ts +3 -3
  427. package/dist/transactions/types.d.ts.map +1 -1
  428. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
1
+ {"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** Number of order splits (min 2) */
2
+ export declare const TWAP_SPLIT_MIN = 2;
3
+ export declare const TWAP_SPLIT_MAX = 100;
4
+ export declare const TWAP_SPLIT_STEP = 1;
5
+ /** Rate protection (slippage) in percentage, step 0.1 */
6
+ export declare const TWAP_SLIPPAGE_MIN = 0.5;
7
+ export declare const TWAP_SLIPPAGE_MAX = 50;
8
+ export declare const TWAP_SLIPPAGE_STEP = 0.1;
9
+ /** Order duration in minutes */
10
+ export type TwapDuration = 5 | 30 | 60;
11
+ export declare const TWAP_DURATION_OPTIONS: {
12
+ value: TwapDuration;
13
+ label: string;
14
+ }[];
15
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/constants.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAEvC,eAAO,MAAM,qBAAqB,EAAE;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,EAIA,CAAC"}
@@ -0,0 +1,19 @@
1
+ const TWAP_SPLIT_MIN = 2;
2
+ const TWAP_SPLIT_MAX = 100;
3
+ const TWAP_SPLIT_STEP = 1;
4
+ const TWAP_SLIPPAGE_MIN = 0.5;
5
+ const TWAP_SLIPPAGE_MAX = 50;
6
+ const TWAP_SLIPPAGE_STEP = 0.1;
7
+ const TWAP_DURATION_OPTIONS = [{
8
+ value: 5,
9
+ label: "5m"
10
+ }, {
11
+ value: 30,
12
+ label: "30m"
13
+ }, {
14
+ value: 60,
15
+ label: "1h"
16
+ }];
17
+
18
+ export { TWAP_DURATION_OPTIONS, TWAP_SLIPPAGE_MAX, TWAP_SLIPPAGE_MIN, TWAP_SLIPPAGE_STEP, TWAP_SPLIT_MAX, TWAP_SPLIT_MIN, TWAP_SPLIT_STEP };
19
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/core/twap/state/constants.ts"],"sourcesContent":["/** Number of order splits (min 2) */\nexport const TWAP_SPLIT_MIN = 2;\nexport const TWAP_SPLIT_MAX = 100;\nexport const TWAP_SPLIT_STEP = 1;\n\n/** Rate protection (slippage) in percentage, step 0.1 */\nexport const TWAP_SLIPPAGE_MIN = 0.5;\nexport const TWAP_SLIPPAGE_MAX = 50;\nexport const TWAP_SLIPPAGE_STEP = 0.1;\n\n/** Order duration in minutes */\nexport type TwapDuration = 5 | 30 | 60;\n\nexport const TWAP_DURATION_OPTIONS: {\n value: TwapDuration;\n label: string;\n}[] = [\n { value: 5, label: \"5m\" },\n { value: 30, label: \"30m\" },\n { value: 60, label: \"1h\" },\n];\n"],"names":["TWAP_SPLIT_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_STEP","TWAP_SLIPPAGE_MIN","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_STEP","TWAP_DURATION_OPTIONS","value","label"],"mappings":"AACO,MAAMA,cAAAA,GAAiB;AACvB,MAAMC,cAAAA,GAAiB;AACvB,MAAMC,eAAAA,GAAkB;AAGxB,MAAMC,iBAAAA,GAAoB;AAC1B,MAAMC,iBAAAA,GAAoB;AAC1B,MAAMC,kBAAAA,GAAqB;AAK3B,MAAMC,wBAGP,CACJ;AAAA,EAAEC,KAAAA,EAAO,CAAA;AAAA,EAAGC,KAAAA,EAAO;AAAK,CAAA,EACxB;AAAA,EAAED,KAAAA,EAAO,EAAA;AAAA,EAAIC,KAAAA,EAAO;AAAM,CAAA,EAC1B;AAAA,EAAED,KAAAA,EAAO,EAAA;AAAA,EAAIC,KAAAA,EAAO;AAAK,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ export declare const currentTwapInputAtom: import('jotai').PrimitiveAtom<"from" | "to"> & {
2
+ init: "from" | "to";
3
+ };
4
+ //# sourceMappingURL=currentTwapInputAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currentTwapInputAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/currentTwapInputAtom.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;;CAA8B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { atom } from 'jotai';
2
+
3
+ const currentTwapInputAtom = atom("from");
4
+
5
+ export { currentTwapInputAtom };
6
+ //# sourceMappingURL=currentTwapInputAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currentTwapInputAtom.js","sources":["../../../../src/core/twap/state/currentTwapInputAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\n\nexport const currentTwapInputAtom = atom<\"from\" | \"to\">(\"from\");\n"],"names":["currentTwapInputAtom","atom"],"mappings":";;AAEO,MAAMA,oBAAAA,GAAuBC,KAAoB,MAAM;;;;"}
@@ -0,0 +1,3 @@
1
+ export declare const isTwapCrossChainAtom: import('jotai').Atom<boolean>;
2
+ export declare const useIsTwapCrossChain: () => boolean;
3
+ //# sourceMappingURL=isCrosschainAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCrosschainAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,+BAO/B,CAAC;AAEH,eAAO,MAAM,mBAAmB,eAE/B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { atom } from 'jotai';
2
+ import { useAtomValue } from '../../store.js';
3
+ import { twapTokenFromAtom, twapTokenToAtom } from './twapTokenAtoms.js';
4
+
5
+ const isTwapCrossChainAtom = atom((get) => {
6
+ const tokenFrom = get(twapTokenFromAtom);
7
+ const tokenTo = get(twapTokenToAtom);
8
+ if (!tokenTo) return false;
9
+ return tokenFrom.network !== tokenTo.network;
10
+ });
11
+ const useIsTwapCrossChain = () => {
12
+ return useAtomValue(isTwapCrossChainAtom);
13
+ };
14
+
15
+ export { isTwapCrossChainAtom, useIsTwapCrossChain };
16
+ //# sourceMappingURL=isCrosschainAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCrosschainAtom.js","sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const isTwapCrossChainAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return false;\n\n return tokenFrom.network !== tokenTo.network;\n});\n\nexport const useIsTwapCrossChain = () => {\n return useAtomValue(isTwapCrossChainAtom);\n};\n"],"names":["isTwapCrossChainAtom","atom","get","tokenFrom","twapTokenFromAtom","tokenTo","twapTokenToAtom","network","useIsTwapCrossChain","useAtomValue"],"mappings":";;;;AAIO,MAAMA,oBAAAA,GAAuBC,KAAMC,CAAAA,GAAAA,KAAQ;AAChD,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,OAAAA,GAAUH,IAAII,eAAe,CAAA;AAEnC,EAAA,IAAI,CAACD,SAAS,OAAO,KAAA;AAErB,EAAA,OAAOF,SAAAA,CAAUI,YAAYF,OAAAA,CAAQE,OAAAA;AACvC,CAAC;AAEM,MAAMC,sBAAsBA,MAAA;AAAA,EAAA,OAC1BC,aAAaT,oBAAoB,CAAA;AAAC;;;;"}
@@ -0,0 +1,13 @@
1
+ import { Token } from '../../../tokens/state/types';
2
+ import { SupportedChainId } from '../../../lib/web3/wagmi/types';
3
+ export declare const switchTwapTokensAtom: import('jotai').WritableAtom<null, [], Promise<void>> & {
4
+ init: null;
5
+ };
6
+ export declare const selectTwapTokenFromAtom: import('jotai').WritableAtom<null, [_newTokenFrom: Token], Promise<void>> & {
7
+ init: null;
8
+ };
9
+ export declare const selectTwapTokenToAtom: import('jotai').WritableAtom<null, [newTokenTo: Token], Promise<void>> & {
10
+ init: null;
11
+ };
12
+ export declare const syncTwapTokensAfterChainSwitch: (chainId: SupportedChainId) => void;
13
+ //# sourceMappingURL=selectedTokenActionsAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAYlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,eAAO,MAAM,oBAAoB;;CAwB/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAqEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CAoGjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SA+DvE,CAAC"}
@@ -0,0 +1,198 @@
1
+ import { pickDefaultTokenPair } from '../../../tokens/defaultTokens.js';
2
+ import { areTokensSame } from '../../../tokens/utils/areTokensSame.js';
3
+ import { atom } from 'jotai';
4
+ import { twapTokenFromAtom, twapTokenToAtom } from './twapTokenAtoms.js';
5
+ import { wagmiConfig } from '../../../lib/web3/wagmi/config.js';
6
+ import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
7
+ import { isCrosschainPossible } from '../../across/isCrosschainPossible.js';
8
+ import { isTokenFromAcross, findFirstTokenFromAcross } from '../../across/utils.js';
9
+ import { allTokensByChainAtom } from '../../../tokens/state/allTokensByChainAtom.js';
10
+ import { getSelectableDestChains } from '../../state/getSelectableDestChains.js';
11
+ import { enabledSrcChainsAtom } from '../../state/enabledChainsAtom.js';
12
+ import { jotaiStore } from '../../store.js';
13
+ import { isETH } from '../../../tokens/utils/eth.js';
14
+ import { constructWrappedNativeToken } from '../../../tokens/constructor.js';
15
+ import { chainConfigMap } from '../../../lib/web3/wagmi/constants.js';
16
+
17
+ const switchTwapTokensAtom = atom(null, async (get, set) => {
18
+ const tokenTo = get(twapTokenToAtom);
19
+ if (!tokenTo) return;
20
+ const enabledSrcChains = get(enabledSrcChainsAtom);
21
+ if (!enabledSrcChains.includes(tokenTo.network)) return;
22
+ const tokenFrom = get(twapTokenFromAtom);
23
+ const initChainFrom = tokenFrom.network;
24
+ set(twapTokenFromAtom, tokenTo);
25
+ set(selectTwapTokenToAtom, tokenFrom);
26
+ const currentTokenFrom = get(twapTokenFromAtom);
27
+ if (currentTokenFrom.network !== initChainFrom) {
28
+ switchChain({
29
+ chainId: currentTokenFrom.network
30
+ });
31
+ }
32
+ });
33
+ const selectTwapTokenFromAtom = atom(null, async (get, set, _newTokenFrom) => {
34
+ const newTokenFrom = isETH(_newTokenFrom) ? constructWrappedNativeToken(chainConfigMap[_newTokenFrom.network]) : _newTokenFrom;
35
+ let tokenFrom = get(twapTokenFromAtom);
36
+ let tokenTo = get(twapTokenToAtom);
37
+ const initTokenFrom = tokenFrom;
38
+ set(twapTokenFromAtom, newTokenFrom);
39
+ tokenFrom = newTokenFrom;
40
+ if (tokenFrom.network !== wagmiConfig.state.chainId) {
41
+ switchChain({
42
+ chainId: tokenFrom.network
43
+ });
44
+ }
45
+ if (!tokenTo) return;
46
+ const crosschainPossible = isCrosschainPossible({
47
+ get,
48
+ chainIdFrom: tokenFrom.network,
49
+ chainIdTo: tokenTo.network,
50
+ mode: "limit"
51
+ });
52
+ if (crosschainPossible) {
53
+ const isTokenToFromAcross = isTokenFromAcross({
54
+ token: tokenTo,
55
+ fromChainId: tokenFrom.network,
56
+ toChainId: tokenTo.network,
57
+ mode: "limit"
58
+ });
59
+ if (!isTokenToFromAcross) {
60
+ const maybeAcrossToken = findFirstTokenFromAcross({
61
+ fromChainId: tokenFrom.network,
62
+ toChainId: tokenTo.network,
63
+ listByChainId: get(allTokensByChainAtom).listByChainId,
64
+ mode: "limit"
65
+ });
66
+ set(twapTokenToAtom, maybeAcrossToken);
67
+ }
68
+ } else {
69
+ if (tokenFrom.network !== tokenTo.network) {
70
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenFrom.network, "twap");
71
+ tokenTo = areTokensSame(tokenFrom, defaultTokenTo) ? defaultTokenFrom : defaultTokenTo;
72
+ set(twapTokenToAtom, tokenTo);
73
+ } else {
74
+ if (areTokensSame(tokenFrom, tokenTo)) {
75
+ tokenTo = initTokenFrom;
76
+ set(twapTokenToAtom, tokenTo);
77
+ }
78
+ }
79
+ }
80
+ });
81
+ const selectTwapTokenToAtom = atom(null, async (get, set, newTokenTo) => {
82
+ let tokenFrom = get(twapTokenFromAtom);
83
+ const selectableDestChains = getSelectableDestChains(get, {
84
+ fromChainId: tokenFrom.network,
85
+ mode: "limit"
86
+ });
87
+ if (!selectableDestChains.includes(newTokenTo.network)) return;
88
+ let tokenTo = get(twapTokenToAtom);
89
+ const initTokenTo = tokenTo;
90
+ set(twapTokenToAtom, newTokenTo);
91
+ tokenTo = newTokenTo;
92
+ if (areTokensSame(tokenTo, tokenFrom)) {
93
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenTo.network, "twap");
94
+ const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
95
+ const wasCrosschain = initTokenTo && tokenFrom.network !== initTokenTo.network;
96
+ const newTokenFrom = wasCrosschain ? defaultToken : initTokenTo ?? defaultToken;
97
+ set(twapTokenFromAtom, newTokenFrom);
98
+ tokenFrom = newTokenFrom;
99
+ }
100
+ let needResetTokenFrom = false;
101
+ const crosschainPossible = isCrosschainPossible({
102
+ get,
103
+ chainIdFrom: tokenFrom.network,
104
+ chainIdTo: tokenTo.network,
105
+ mode: "limit"
106
+ });
107
+ if (crosschainPossible) {
108
+ const isTokenToFromAcross = isTokenFromAcross({
109
+ token: tokenTo,
110
+ fromChainId: tokenFrom.network,
111
+ toChainId: tokenTo.network,
112
+ mode: "limit"
113
+ });
114
+ if (!isTokenToFromAcross) {
115
+ needResetTokenFrom = true;
116
+ }
117
+ }
118
+ if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {
119
+ needResetTokenFrom = true;
120
+ }
121
+ const enabledSrcChains = get(enabledSrcChainsAtom);
122
+ if (needResetTokenFrom) {
123
+ let firstPossibleSrcChain = tokenTo.network;
124
+ if (!enabledSrcChains.includes(tokenTo.network)) {
125
+ for (const srcChain of enabledSrcChains) {
126
+ const crosschainPossible2 = isCrosschainPossible({
127
+ get,
128
+ chainIdFrom: srcChain,
129
+ chainIdTo: tokenTo.network,
130
+ mode: "limit"
131
+ });
132
+ if (crosschainPossible2) {
133
+ firstPossibleSrcChain = srcChain;
134
+ break;
135
+ }
136
+ }
137
+ }
138
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(firstPossibleSrcChain, "twap");
139
+ const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
140
+ set(twapTokenFromAtom, newTokenFrom);
141
+ tokenFrom = newTokenFrom;
142
+ }
143
+ if (tokenFrom.network !== wagmiConfig.state.chainId) {
144
+ switchChain({
145
+ chainId: tokenFrom.network
146
+ });
147
+ }
148
+ });
149
+ const syncTwapTokensAfterChainSwitch = (chainId) => {
150
+ const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);
151
+ if (!enabledSrcChains.includes(chainId)) return;
152
+ let tokenFrom = jotaiStore.get(twapTokenFromAtom);
153
+ if (tokenFrom.network === chainId) return;
154
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(chainId, "twap");
155
+ jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);
156
+ tokenFrom = defaultTokenFrom;
157
+ let tokenTo = jotaiStore.get(twapTokenToAtom);
158
+ if (!tokenTo) return;
159
+ const crosschainPossible = isCrosschainPossible({
160
+ get: jotaiStore.get,
161
+ chainIdFrom: chainId,
162
+ chainIdTo: tokenTo.network,
163
+ mode: "limit"
164
+ });
165
+ if (crosschainPossible) {
166
+ const isTokenToFromAcross = isTokenFromAcross({
167
+ token: tokenTo,
168
+ fromChainId: chainId,
169
+ toChainId: tokenTo.network,
170
+ mode: "limit"
171
+ });
172
+ if (!isTokenToFromAcross) {
173
+ const maybeAcrossToken = findFirstTokenFromAcross({
174
+ fromChainId: chainId,
175
+ toChainId: tokenTo.network,
176
+ listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,
177
+ mode: "limit"
178
+ });
179
+ tokenTo = maybeAcrossToken;
180
+ jotaiStore.set(twapTokenToAtom, tokenTo);
181
+ }
182
+ } else {
183
+ const selectableDestChains = getSelectableDestChains(jotaiStore.get, {
184
+ fromChainId: tokenFrom.network,
185
+ mode: "limit"
186
+ });
187
+ if (selectableDestChains.includes(chainId)) {
188
+ tokenTo = defaultTokenTo;
189
+ jotaiStore.set(twapTokenToAtom, tokenTo);
190
+ } else {
191
+ tokenTo = void 0;
192
+ jotaiStore.set(twapTokenToAtom, tokenTo);
193
+ }
194
+ }
195
+ };
196
+
197
+ export { selectTwapTokenFromAtom, selectTwapTokenToAtom, switchTwapTokensAtom, syncTwapTokensAfterChainSwitch };
198
+ //# sourceMappingURL=selectedTokenActionsAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { constructWrappedNativeToken } from \"@/tokens/constructor\";\nimport { chainConfigMap } from \"@/lib/web3/wagmi/constants\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, _newTokenFrom: Token) => {\n // @TODO revert this change when ETH cancelAndWithdraw is supported for TWAP\n const newTokenFrom = isETH(_newTokenFrom)\n ? constructWrappedNativeToken(chainConfigMap[_newTokenFrom.network])\n : _newTokenFrom;\n\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"limit\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"limit\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"limit\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"limit\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"names":["switchTwapTokensAtom","atom","get","set","tokenTo","twapTokenToAtom","enabledSrcChains","enabledSrcChainsAtom","includes","network","tokenFrom","twapTokenFromAtom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","switchChain","chainId","selectTwapTokenFromAtom","_newTokenFrom","newTokenFrom","isETH","constructWrappedNativeToken","chainConfigMap","initTokenFrom","wagmiConfig","state","crosschainPossible","isCrosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","isTokenFromAcross","token","fromChainId","toChainId","maybeAcrossToken","findFirstTokenFromAcross","listByChainId","allTokensByChainAtom","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","areTokensSame","newTokenTo","selectableDestChains","getSelectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","jotaiStore","undefined"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const twapPayInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
2
+ init: string;
3
+ };
4
+ export declare const twapReceiveInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
5
+ init: string;
6
+ };
7
+ export declare const twapPayInputAmountWeiAtom: import('jotai').Atom<string>;
8
+ export declare const twapReceiveInputAmountWeiAtom: import('jotai').Atom<string | undefined>;
9
+ //# sourceMappingURL=twapInputAmountAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapInputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB;;CAAY,CAAC;AAEhD,eAAO,MAAM,0BAA0B;;CAAY,CAAC;AAEpD,eAAO,MAAM,yBAAyB,8BAIpC,CAAC;AAEH,eAAO,MAAM,6BAA6B,0CAMxC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { atom } from 'jotai';
2
+ import { parseUnits } from 'viem';
3
+ import { twapTokenFromAtom, twapTokenToAtom } from './twapTokenAtoms.js';
4
+
5
+ const twapPayInputAmountAtom = atom("0");
6
+ const twapReceiveInputAmountAtom = atom("0");
7
+ const twapPayInputAmountWeiAtom = atom((get) => {
8
+ const tokenFrom = get(twapTokenFromAtom);
9
+ const payInputAmount = get(twapPayInputAmountAtom);
10
+ return parseUnits(payInputAmount, tokenFrom.decimals).toString();
11
+ });
12
+ const twapReceiveInputAmountWeiAtom = atom((get) => {
13
+ const tokenTo = get(twapTokenToAtom);
14
+ if (tokenTo) {
15
+ const receiveInputAmount = get(twapReceiveInputAmountAtom);
16
+ return parseUnits(receiveInputAmount, tokenTo.decimals).toString();
17
+ }
18
+ });
19
+
20
+ export { twapPayInputAmountAtom, twapPayInputAmountWeiAtom, twapReceiveInputAmountAtom, twapReceiveInputAmountWeiAtom };
21
+ //# sourceMappingURL=twapInputAmountAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapInputAmountAtom.js","sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const twapPayInputAmountAtom = atom(\"0\");\n\nexport const twapReceiveInputAmountAtom = atom(\"0\");\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"names":["twapPayInputAmountAtom","atom","twapReceiveInputAmountAtom","twapPayInputAmountWeiAtom","get","tokenFrom","twapTokenFromAtom","payInputAmount","parseUnits","decimals","toString","twapReceiveInputAmountWeiAtom","tokenTo","twapTokenToAtom","receiveInputAmount"],"mappings":";;;;AAIO,MAAMA,sBAAAA,GAAyBC,KAAK,GAAG;AAEvC,MAAMC,0BAAAA,GAA6BD,KAAK,GAAG;AAE3C,MAAME,yBAAAA,GAA4BF,KAAMG,CAAAA,GAAAA,KAAQ;AACrD,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,cAAAA,GAAiBH,IAAIJ,sBAAsB,CAAA;AACjD,EAAA,OAAOQ,UAAAA,CAAWD,cAAAA,EAAgBF,SAAAA,CAAUI,QAAQ,EAAEC,QAAAA,EAAS;AACjE,CAAC;AAEM,MAAMC,6BAAAA,GAAgCV,KAAMG,CAAAA,GAAAA,KAAQ;AACzD,EAAA,MAAMQ,OAAAA,GAAUR,IAAIS,eAAe,CAAA;AACnC,EAAA,IAAID,OAAAA,EAAS;AACX,IAAA,MAAME,kBAAAA,GAAqBV,IAAIF,0BAA0B,CAAA;AACzD,IAAA,OAAOM,UAAAA,CAAWM,kBAAAA,EAAoBF,OAAAA,CAAQH,QAAQ,EAAEC,QAAAA,EAAS;AAAA,EACnE;AACF,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { TwapDuration } from './constants';
2
+ export declare const twapDurationAtom: import('jotai').PrimitiveAtom<TwapDuration> & {
3
+ init: TwapDuration;
4
+ };
5
+ export declare const useTwapDuration: () => TwapDuration;
6
+ export declare const userTwapSplitAtom: import('jotai').PrimitiveAtom<number> & {
7
+ init: number;
8
+ };
9
+ export declare const twapSplitAtom: import('jotai').Atom<number>;
10
+ export declare const useTwapSplit: () => number;
11
+ export declare const userTwapSlippageAtom: import('jotai').PrimitiveAtom<number> & {
12
+ init: number;
13
+ };
14
+ export declare const twapSlippageAtom: import('jotai').Atom<number>;
15
+ export declare const useTwapSlippage: () => number;
16
+ //# sourceMappingURL=twapParamsAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapParamsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,gBAAgB;;CAAwB,CAAC;AAEtD,eAAO,MAAM,eAAe,oBAAuC,CAAC;AAGpE,eAAO,MAAM,iBAAiB;;CAAuB,CAAC;AAGtD,eAAO,MAAM,aAAa,8BAEzB,CAAC;AAEF,eAAO,MAAM,YAAY,cAAoC,CAAC;AAG9D,eAAO,MAAM,oBAAoB;;CAAU,CAAC;AAG5C,eAAO,MAAM,gBAAgB,8BAM5B,CAAC;AAEF,eAAO,MAAM,eAAe,cAAuC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { atom } from 'jotai';
2
+ import { useAtomValue } from '../../store.js';
3
+ import { getNumberWithinRange } from '../../../lib/utils/index.js';
4
+ import { TWAP_SPLIT_MIN, TWAP_SPLIT_MAX, TWAP_SLIPPAGE_MAX, TWAP_SLIPPAGE_MIN } from './constants.js';
5
+
6
+ const twapDurationAtom = atom(5);
7
+ const useTwapDuration = () => {
8
+ return useAtomValue(twapDurationAtom);
9
+ };
10
+ const userTwapSplitAtom = atom(TWAP_SPLIT_MIN);
11
+ const twapSplitAtom = atom((get) => getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX));
12
+ const useTwapSplit = () => {
13
+ return useAtomValue(twapSplitAtom);
14
+ };
15
+ const userTwapSlippageAtom = atom(2);
16
+ const twapSlippageAtom = atom((get) => getNumberWithinRange(get(userTwapSlippageAtom), TWAP_SLIPPAGE_MIN, TWAP_SLIPPAGE_MAX));
17
+ const useTwapSlippage = () => {
18
+ return useAtomValue(twapSlippageAtom);
19
+ };
20
+
21
+ export { twapDurationAtom, twapSlippageAtom, twapSplitAtom, useTwapDuration, useTwapSlippage, useTwapSplit, userTwapSlippageAtom, userTwapSplitAtom };
22
+ //# sourceMappingURL=twapParamsAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapParamsAtom.js","sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { getNumberWithinRange } from \"@/lib/utils\";\nimport {\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_MIN,\n type TwapDuration,\n} from \"./constants\";\n\nexport const twapDurationAtom = atom<TwapDuration>(5);\n\nexport const useTwapDuration = () => useAtomValue(twapDurationAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSplitAtom = atom(TWAP_SPLIT_MIN);\n\n// derived atom to ensure the actual split used in the order is always within range\nexport const twapSplitAtom = atom((get) =>\n getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX)\n);\n\nexport const useTwapSplit = () => useAtomValue(twapSplitAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSlippageAtom = atom(2);\n\n// derived atom to ensure the actual slippage used in the order is always within range\nexport const twapSlippageAtom = atom((get) =>\n getNumberWithinRange(\n get(userTwapSlippageAtom),\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX\n )\n);\n\nexport const useTwapSlippage = () => useAtomValue(twapSlippageAtom);\n"],"names":["twapDurationAtom","atom","useTwapDuration","useAtomValue","userTwapSplitAtom","TWAP_SPLIT_MIN","twapSplitAtom","get","getNumberWithinRange","TWAP_SPLIT_MAX","useTwapSplit","userTwapSlippageAtom","twapSlippageAtom","TWAP_SLIPPAGE_MIN","TWAP_SLIPPAGE_MAX","useTwapSlippage"],"mappings":";;;;;AAWO,MAAMA,gBAAAA,GAAmBC,KAAmB,CAAC;AAE7C,MAAMC,kBAAkBA,MAAA;AAAA,EAAA,OAAMC,aAAaH,gBAAgB,CAAA;AAAC;AAG5D,MAAMI,iBAAAA,GAAoBH,KAAKI,cAAc;AAG7C,MAAMC,aAAAA,GAAgBL,KAAMM,CAAAA,GAAAA,KACjCC,oBAAAA,CAAqBD,IAAIH,iBAAiB,CAAA,EAAGC,cAAAA,EAAgBI,cAAc,CAC7E;AAEO,MAAMC,eAAeA,MAAA;AAAA,EAAA,OAAMP,aAAaG,aAAa,CAAA;AAAC;AAGtD,MAAMK,oBAAAA,GAAuBV,KAAK,CAAC;AAGnC,MAAMW,gBAAAA,GAAmBX,KAAMM,CAAAA,GAAAA,KACpCC,oBAAAA,CACED,IAAII,oBAAoB,CAAA,EACxBE,iBAAAA,EACAC,iBACF,CACF;AAEO,MAAMC,kBAAkBA,MAAA;AAAA,EAAA,OAAMZ,aAAaS,gBAAgB,CAAA;AAAC;;;;"}
@@ -0,0 +1,5 @@
1
+ export declare const twapReceiverAddressAtom: import('jotai').PrimitiveAtom<`0x${string}` | undefined> & {
2
+ init: `0x${string}` | undefined;
3
+ };
4
+ export declare const useTwapReceiverAddressValue: () => `0x${string}` | undefined;
5
+ //# sourceMappingURL=twapReceiverAddressAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapReceiverAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapReceiverAddressAtom.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB;;CAA8B,CAAC;AAEnE,eAAO,MAAM,2BAA2B,iCAEvC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { useAtomValue } from '../../store.js';
2
+ import { atom } from 'jotai';
3
+
4
+ const twapReceiverAddressAtom = atom();
5
+ const useTwapReceiverAddressValue = () => {
6
+ return useAtomValue(twapReceiverAddressAtom);
7
+ };
8
+
9
+ export { twapReceiverAddressAtom, useTwapReceiverAddressValue };
10
+ //# sourceMappingURL=twapReceiverAddressAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapReceiverAddressAtom.js","sources":["../../../../src/core/twap/state/twapReceiverAddressAtom.ts"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport type { Address } from \"viem\";\n\n// no way to change this for the user for now, defaults to connected account\nexport const twapReceiverAddressAtom = atom<Address | undefined>();\n\nexport const useTwapReceiverAddressValue = () => {\n return useAtomValue(twapReceiverAddressAtom);\n};\n"],"names":["twapReceiverAddressAtom","atom","useTwapReceiverAddressValue","useAtomValue"],"mappings":";;;AAKO,MAAMA,0BAA0BC,IAAAA;AAEhC,MAAMC,8BAA8BA,MAAA;AAAA,EAAA,OAClCC,aAAaH,uBAAuB,CAAA;AAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ import { SwapSideUnion } from '@velora-dex/sdk';
2
+ export declare const twapSideAtom: import('jotai').Atom<SwapSideUnion>;
3
+ export declare const useTwapSide: () => SwapSideUnion;
4
+ //# sourceMappingURL=twapSideAtom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapSideAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,eAAO,MAAM,YAAY,qCAUvB,CAAC;AAEH,eAAO,MAAM,WAAW,qBAEvB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { twapTokenToAtom } from './twapTokenAtoms.js';
2
+ import { currentTwapInputAtom } from './currentTwapInputAtom.js';
3
+ import { atom } from 'jotai';
4
+ import { useAtomValue } from '../../store.js';
5
+
6
+ const twapSideAtom = atom((get) => {
7
+ const tokenTo = get(twapTokenToAtom);
8
+ if (!tokenTo) {
9
+ return "SELL";
10
+ }
11
+ const currentTwapInput = get(currentTwapInputAtom);
12
+ return currentTwapInput === "from" ? "SELL" : "BUY";
13
+ });
14
+ const useTwapSide = () => {
15
+ return useAtomValue(twapSideAtom);
16
+ };
17
+
18
+ export { twapSideAtom, useTwapSide };
19
+ //# sourceMappingURL=twapSideAtom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapSideAtom.js","sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"sourcesContent":["import { twapTokenToAtom } from \"./twapTokenAtoms\";\nimport { currentTwapInputAtom } from \"./currentTwapInputAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const twapSideAtom = atom<SwapSideUnion>((get) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) {\n return \"SELL\";\n }\n\n const currentTwapInput = get(currentTwapInputAtom);\n\n return currentTwapInput === \"from\" ? \"SELL\" : \"BUY\";\n});\n\nexport const useTwapSide = () => {\n return useAtomValue(twapSideAtom);\n};\n"],"names":["twapSideAtom","atom","get","tokenTo","twapTokenToAtom","currentTwapInput","currentTwapInputAtom","useTwapSide","useAtomValue"],"mappings":";;;;;AAMO,MAAMA,YAAAA,GAAeC,KAAqBC,CAAAA,GAAAA,KAAQ;AACvD,EAAA,MAAMC,OAAAA,GAAUD,IAAIE,eAAe,CAAA;AAEnC,EAAA,IAAI,CAACD,OAAAA,EAAS;AACZ,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,MAAME,gBAAAA,GAAmBH,IAAII,oBAAoB,CAAA;AAEjD,EAAA,OAAOD,gBAAAA,KAAqB,SAAS,MAAA,GAAS,KAAA;AAChD,CAAC;AAEM,MAAME,cAAcA,MAAA;AAAA,EAAA,OAClBC,aAAaR,YAAY,CAAA;AAAC;;;;"}
@@ -0,0 +1,10 @@
1
+ import { Token } from '../../../tokens/state/types';
2
+ export declare const twapTokenFromAtom: import('jotai').PrimitiveAtom<Token> & {
3
+ init: Token;
4
+ };
5
+ export declare const twapTokenToAtom: import('jotai').PrimitiveAtom<Token | undefined> & {
6
+ init: Token | undefined;
7
+ };
8
+ export declare const useTwapTokenFrom: () => Token;
9
+ export declare const useTwapTokenTo: () => Token | undefined;
10
+ //# sourceMappingURL=twapTokenAtoms.d.ts.map