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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/components/ui/button.d.ts +1 -1
  2. package/dist/components/ui/button.d.ts.map +1 -1
  3. package/dist/components/ui/button.js +1 -0
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  8. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/utils.js +2 -1
  10. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  11. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  12. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +2 -1
  13. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +16 -3
  16. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  17. package/dist/components/widget/Duration/Duration.d.ts +1 -1
  18. package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
  19. package/dist/components/widget/Duration/Duration.js +1 -4
  20. package/dist/components/widget/Duration/Duration.js.map +1 -1
  21. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +2 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  23. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +9 -7
  24. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  25. package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
  26. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  27. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
  28. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  29. package/dist/components/widget/LimitOrderItem/utils.js +25 -9
  30. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  31. package/dist/components/widget/NumberInput/NumberInput.d.ts +18 -0
  32. package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
  33. package/dist/components/widget/NumberInput/NumberInput.js +255 -0
  34. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
  35. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +12 -0
  36. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +1 -0
  37. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +12 -0
  38. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +1 -0
  39. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -1
  40. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  41. package/dist/components/widget/SwapRate/SwapRate.js +29 -20
  42. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  43. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +77 -86
  45. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +28 -46
  47. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
  49. package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
  50. package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
  51. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  52. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +105 -72
  53. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  54. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  55. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +46 -11
  56. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  57. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
  58. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
  59. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +19 -7
  60. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  61. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
  62. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
  63. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +241 -0
  64. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
  65. package/dist/components/widget/TradeOverview/steps.d.ts +37 -0
  66. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  67. package/dist/components/widget/TradeOverview/steps.js +10 -1
  68. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  69. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +2 -2
  70. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  71. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts +14 -0
  73. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts.map +1 -0
  74. package/dist/components/widget/TradeOverview/utils/swapAmounts.js +43 -0
  75. package/dist/components/widget/TradeOverview/utils/swapAmounts.js.map +1 -0
  76. package/dist/components/widget/Twap/OrderDuration.d.ts +2 -0
  77. package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
  78. package/dist/components/widget/Twap/OrderDuration.js +75 -0
  79. package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
  80. package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
  81. package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
  82. package/dist/components/widget/Twap/OrderSplit.js +57 -0
  83. package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
  84. package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
  85. package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
  86. package/dist/components/widget/Twap/RateProtection.js +57 -0
  87. package/dist/components/widget/Twap/RateProtection.js.map +1 -0
  88. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
  89. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
  90. package/dist/components/widget/Twap/TwapDetailWithTooltip.js +33 -0
  91. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
  92. package/dist/configurator/Configurator.d.ts.map +1 -1
  93. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
  94. package/dist/core/TradeFlowScreenButton.d.ts +5 -0
  95. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  96. package/dist/core/TradeFlowScreenButton.js +58 -1
  97. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  98. package/dist/core/TwapDetails.d.ts +2 -0
  99. package/dist/core/TwapDetails.d.ts.map +1 -0
  100. package/dist/core/TwapDetails.js +24 -0
  101. package/dist/core/TwapDetails.js.map +1 -0
  102. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  103. package/dist/core/across/isCrosschainPossible.js +1 -1
  104. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  105. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  106. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  107. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +71 -1
  108. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  109. package/dist/core/constants.d.ts +1 -1
  110. package/dist/core/index.d.ts.map +1 -1
  111. package/dist/core/index.js +199 -3
  112. package/dist/core/index.js.map +1 -1
  113. package/dist/core/inputs/state/common.d.ts +2 -0
  114. package/dist/core/inputs/state/common.d.ts.map +1 -1
  115. package/dist/core/inputs/state/common.js +40 -4
  116. package/dist/core/inputs/state/common.js.map +1 -1
  117. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  118. package/dist/core/inputs/state/setTokenByAddressAtom.js +2 -2
  119. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  120. package/dist/core/limit/state/utils.d.ts +1 -1
  121. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  122. package/dist/core/limit/useLimitRate.js +0 -2
  123. package/dist/core/limit/useLimitRate.js.map +1 -1
  124. package/dist/core/state/chainToAtom.d.ts +2 -0
  125. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  126. package/dist/core/state/chainToAtom.js +28 -7
  127. package/dist/core/state/chainToAtom.js.map +1 -1
  128. package/dist/core/state/configAtom.js +2 -2
  129. package/dist/core/state/configAtom.js.map +1 -1
  130. package/dist/core/state/tradeModeAtom.d.ts +1 -1
  131. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  132. package/dist/core/state/tradeModeAtom.js.map +1 -1
  133. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  134. package/dist/core/state/widgetEventsAtom.js +55 -33
  135. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  136. package/dist/core/twap/state/constants.d.ts +15 -0
  137. package/dist/core/twap/state/constants.d.ts.map +1 -0
  138. package/dist/core/twap/state/constants.js +19 -0
  139. package/dist/core/twap/state/constants.js.map +1 -0
  140. package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
  141. package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
  142. package/dist/core/twap/state/currentTwapInputAtom.js +6 -0
  143. package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
  144. package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
  145. package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
  146. package/dist/core/twap/state/isCrosschainAtom.js +16 -0
  147. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
  148. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
  149. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
  150. package/dist/core/twap/state/selectedTokenActionsAtom.js +194 -0
  151. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
  152. package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
  153. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
  154. package/dist/core/twap/state/twapInputAmountAtom.js +21 -0
  155. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
  156. package/dist/core/twap/state/twapParamsAtom.d.ts +16 -0
  157. package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
  158. package/dist/core/twap/state/twapParamsAtom.js +22 -0
  159. package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
  160. package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
  161. package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
  162. package/dist/core/twap/state/twapSideAtom.js +19 -0
  163. package/dist/core/twap/state/twapSideAtom.js.map +1 -0
  164. package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
  165. package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
  166. package/dist/core/twap/state/twapTokenAtoms.js +17 -0
  167. package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
  168. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
  169. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
  170. package/dist/core/twap/twapDetails/minimumReceiveable.js +44 -0
  171. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
  172. package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
  173. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
  174. package/dist/core/twap/useTwapDetailsListProps.js +109 -0
  175. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
  176. package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
  177. package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
  178. package/dist/core/twap/useTwapTokenFromInputProps.js +455 -0
  179. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
  180. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
  181. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
  182. package/dist/core/twap/useTwapTokenSwitcherProps.js +37 -0
  183. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
  184. package/dist/core/twap/useTwapTokenToInputProps.d.ts +9 -0
  185. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
  186. package/dist/core/twap/useTwapTokenToInputProps.js +271 -0
  187. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
  188. package/dist/events/types/index.d.ts +4 -1
  189. package/dist/events/types/index.d.ts.map +1 -1
  190. package/dist/events/types/limit.d.ts +2 -2
  191. package/dist/events/types/limit.d.ts.map +1 -1
  192. package/dist/events/types/swap.d.ts +3 -2
  193. package/dist/events/types/swap.d.ts.map +1 -1
  194. package/dist/events/types/twap.d.ts +26 -0
  195. package/dist/events/types/twap.d.ts.map +1 -0
  196. package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
  197. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  198. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  199. package/dist/hooks/permit/utils/deadlines.d.ts +2 -2
  200. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
  201. package/dist/hooks/permit/utils/deadlines.js +4 -4
  202. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  203. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  204. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  205. package/dist/hooks/swap/prices/constants.js +2 -1
  206. package/dist/hooks/swap/prices/constants.js.map +1 -1
  207. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
  208. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
  209. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +86 -0
  210. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
  211. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
  212. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
  213. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +164 -0
  214. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
  215. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
  216. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
  217. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +278 -0
  218. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
  219. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
  220. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
  221. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +89 -0
  222. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
  223. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
  224. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
  225. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +325 -0
  226. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
  227. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
  228. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
  229. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +87 -0
  230. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
  231. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +10 -1
  232. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  233. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
  234. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  235. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  236. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
  237. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  238. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  239. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
  240. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  241. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  242. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
  243. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  244. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +3 -15
  245. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  246. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -5
  247. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  248. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  249. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
  250. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  251. package/dist/hooks/swap/prices/delta/mutations/utils.js +34 -2
  252. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  253. package/dist/hooks/swap/prices/delta/orders/types.d.ts +11 -46
  254. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  255. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  256. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  257. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  258. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
  259. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
  261. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  262. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +24 -6
  263. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  264. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +17 -10
  265. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  266. package/dist/hooks/swap/prices/delta/orders/utils.js +32 -4
  267. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  268. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
  269. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  270. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  271. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
  272. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  273. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +37 -35
  274. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  275. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -17
  276. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  277. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  278. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +1 -0
  279. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  280. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  281. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  282. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  283. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +37 -35
  284. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  285. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  286. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  287. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  288. package/dist/hooks/swap/prices/usePricesParams.js +3 -4
  289. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  290. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  291. package/dist/hooks/swap/prices/useSwapPrices.js +0 -2
  292. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  293. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
  294. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  295. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  296. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
  297. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
  298. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +73 -0
  299. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
  300. package/dist/hooks/swap/prices/useTwapPrices.d.ts +28 -0
  301. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
  302. package/dist/hooks/swap/prices/useTwapPrices.js +175 -0
  303. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
  304. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
  305. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
  306. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +71 -0
  307. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
  308. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
  309. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
  310. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +94 -0
  311. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
  312. package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
  313. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  314. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
  315. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  316. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +57 -55
  317. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  318. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
  319. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  320. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +263 -152
  321. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  322. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
  323. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  324. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +296 -181
  325. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  326. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
  327. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  328. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +85 -83
  329. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  330. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  331. package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
  332. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  333. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
  334. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  335. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +4 -3
  336. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  337. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +5 -6
  338. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  339. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +5 -9
  340. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  341. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +88 -0
  342. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
  343. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +591 -0
  344. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
  345. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
  346. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
  347. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +237 -0
  348. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
  349. package/dist/hooks/useSDK.d.ts +4 -4
  350. package/dist/hooks/useSDK.d.ts.map +1 -1
  351. package/dist/hooks/useSDK.js +4 -4
  352. package/dist/hooks/useSDK.js.map +1 -1
  353. package/dist/hooks/useSlippage.d.ts.map +1 -1
  354. package/dist/hooks/useSlippage.js +2 -1
  355. package/dist/hooks/useSlippage.js.map +1 -1
  356. package/dist/index.d.ts +1 -1
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/lib/constants/delta.d.ts.map +1 -1
  359. package/dist/lib/constants/delta.js +1 -1
  360. package/dist/lib/constants/delta.js.map +1 -1
  361. package/dist/lib/constants/time.d.ts +1 -0
  362. package/dist/lib/constants/time.d.ts.map +1 -1
  363. package/dist/lib/constants/time.js +2 -1
  364. package/dist/lib/constants/time.js.map +1 -1
  365. package/dist/lib/queryClient.js +2 -2
  366. package/dist/lib/queryClient.js.map +1 -1
  367. package/dist/lib/tradeMode.d.ts +1 -1
  368. package/dist/lib/tradeMode.d.ts.map +1 -1
  369. package/dist/lib/tradeMode.js +1 -1
  370. package/dist/lib/tradeMode.js.map +1 -1
  371. package/dist/lib/utils/index.d.ts +8 -0
  372. package/dist/lib/utils/index.d.ts.map +1 -1
  373. package/dist/lib/utils/index.js +18 -1
  374. package/dist/lib/utils/index.js.map +1 -1
  375. package/dist/lib/utils/time.d.ts +2 -0
  376. package/dist/lib/utils/time.d.ts.map +1 -1
  377. package/dist/lib/utils/time.js +7 -1
  378. package/dist/lib/utils/time.js.map +1 -1
  379. package/dist/lib/utils/toasts.d.ts +4 -4
  380. package/dist/lib/utils/toasts.d.ts.map +1 -1
  381. package/dist/lib/utils/toasts.js.map +1 -1
  382. package/dist/lib/utils/twap.d.ts +17 -0
  383. package/dist/lib/utils/twap.d.ts.map +1 -0
  384. package/dist/lib/utils/twap.js +34 -0
  385. package/dist/lib/utils/twap.js.map +1 -0
  386. package/dist/lib/web3/privy/config.js +1 -1
  387. package/dist/lib/web3/privy/config.js.map +1 -1
  388. package/dist/lib/web3/wagmi/config.js +1 -1
  389. package/dist/lib/web3/wagmi/config.js.map +1 -1
  390. package/dist/styles.css +63 -2
  391. package/dist/tokens/constants.d.ts.map +1 -1
  392. package/dist/tokens/constants.js +9 -9
  393. package/dist/tokens/constants.js.map +1 -1
  394. package/dist/tokens/defaultTokens.js +17 -17
  395. package/dist/tokens/defaultTokens.js.map +1 -1
  396. package/dist/tokens/lists/constants.d.ts +1 -1
  397. package/dist/tokens/lists/constants.d.ts.map +1 -1
  398. package/dist/tokens/lists/constants.js +1 -1
  399. package/dist/tokens/lists/constants.js.map +1 -1
  400. package/dist/transactions/types.d.ts +3 -3
  401. package/dist/transactions/types.d.ts.map +1 -1
  402. package/package.json +2 -2
@@ -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 swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap 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 ...swapFormState,\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","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;AAE/D,eAAO,MAAM,oBAAoB;;CAwB/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAgEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CAoGjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SA+DvE,CAAC"}
@@ -0,0 +1,194 @@
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
+
14
+ const switchTwapTokensAtom = atom(null, async (get, set) => {
15
+ const tokenTo = get(twapTokenToAtom);
16
+ if (!tokenTo) return;
17
+ const enabledSrcChains = get(enabledSrcChainsAtom);
18
+ if (!enabledSrcChains.includes(tokenTo.network)) return;
19
+ const tokenFrom = get(twapTokenFromAtom);
20
+ const initChainFrom = tokenFrom.network;
21
+ set(twapTokenFromAtom, tokenTo);
22
+ set(selectTwapTokenToAtom, tokenFrom);
23
+ const currentTokenFrom = get(twapTokenFromAtom);
24
+ if (currentTokenFrom.network !== initChainFrom) {
25
+ switchChain({
26
+ chainId: currentTokenFrom.network
27
+ });
28
+ }
29
+ });
30
+ const selectTwapTokenFromAtom = atom(null, async (get, set, newTokenFrom) => {
31
+ let tokenFrom = get(twapTokenFromAtom);
32
+ let tokenTo = get(twapTokenToAtom);
33
+ const initTokenFrom = tokenFrom;
34
+ set(twapTokenFromAtom, newTokenFrom);
35
+ tokenFrom = newTokenFrom;
36
+ if (tokenFrom.network !== wagmiConfig.state.chainId) {
37
+ switchChain({
38
+ chainId: tokenFrom.network
39
+ });
40
+ }
41
+ if (!tokenTo) return;
42
+ const crosschainPossible = isCrosschainPossible({
43
+ get,
44
+ chainIdFrom: tokenFrom.network,
45
+ chainIdTo: tokenTo.network,
46
+ mode: "limit"
47
+ });
48
+ if (crosschainPossible) {
49
+ const isTokenToFromAcross = isTokenFromAcross({
50
+ token: tokenTo,
51
+ fromChainId: tokenFrom.network,
52
+ toChainId: tokenTo.network,
53
+ mode: "limit"
54
+ });
55
+ if (!isTokenToFromAcross) {
56
+ const maybeAcrossToken = findFirstTokenFromAcross({
57
+ fromChainId: tokenFrom.network,
58
+ toChainId: tokenTo.network,
59
+ listByChainId: get(allTokensByChainAtom).listByChainId,
60
+ mode: "limit"
61
+ });
62
+ set(twapTokenToAtom, maybeAcrossToken);
63
+ }
64
+ } else {
65
+ if (tokenFrom.network !== tokenTo.network) {
66
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenFrom.network, "twap");
67
+ tokenTo = areTokensSame(tokenFrom, defaultTokenTo) ? defaultTokenFrom : defaultTokenTo;
68
+ set(twapTokenToAtom, tokenTo);
69
+ } else {
70
+ if (areTokensSame(tokenFrom, tokenTo)) {
71
+ tokenTo = initTokenFrom;
72
+ set(twapTokenToAtom, tokenTo);
73
+ }
74
+ }
75
+ }
76
+ });
77
+ const selectTwapTokenToAtom = atom(null, async (get, set, newTokenTo) => {
78
+ let tokenFrom = get(twapTokenFromAtom);
79
+ const selectableDestChains = getSelectableDestChains(get, {
80
+ fromChainId: tokenFrom.network,
81
+ mode: "limit"
82
+ });
83
+ if (!selectableDestChains.includes(newTokenTo.network)) return;
84
+ let tokenTo = get(twapTokenToAtom);
85
+ const initTokenTo = tokenTo;
86
+ set(twapTokenToAtom, newTokenTo);
87
+ tokenTo = newTokenTo;
88
+ if (areTokensSame(tokenTo, tokenFrom)) {
89
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenTo.network, "twap");
90
+ const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
91
+ const wasCrosschain = initTokenTo && tokenFrom.network !== initTokenTo.network;
92
+ const newTokenFrom = wasCrosschain ? defaultToken : initTokenTo ?? defaultToken;
93
+ set(twapTokenFromAtom, newTokenFrom);
94
+ tokenFrom = newTokenFrom;
95
+ }
96
+ let needResetTokenFrom = false;
97
+ const crosschainPossible = isCrosschainPossible({
98
+ get,
99
+ chainIdFrom: tokenFrom.network,
100
+ chainIdTo: tokenTo.network,
101
+ mode: "limit"
102
+ });
103
+ if (crosschainPossible) {
104
+ const isTokenToFromAcross = isTokenFromAcross({
105
+ token: tokenTo,
106
+ fromChainId: tokenFrom.network,
107
+ toChainId: tokenTo.network,
108
+ mode: "limit"
109
+ });
110
+ if (!isTokenToFromAcross) {
111
+ needResetTokenFrom = true;
112
+ }
113
+ }
114
+ if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {
115
+ needResetTokenFrom = true;
116
+ }
117
+ const enabledSrcChains = get(enabledSrcChainsAtom);
118
+ if (needResetTokenFrom) {
119
+ let firstPossibleSrcChain = tokenTo.network;
120
+ if (!enabledSrcChains.includes(tokenTo.network)) {
121
+ for (const srcChain of enabledSrcChains) {
122
+ const crosschainPossible2 = isCrosschainPossible({
123
+ get,
124
+ chainIdFrom: srcChain,
125
+ chainIdTo: tokenTo.network,
126
+ mode: "limit"
127
+ });
128
+ if (crosschainPossible2) {
129
+ firstPossibleSrcChain = srcChain;
130
+ break;
131
+ }
132
+ }
133
+ }
134
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(firstPossibleSrcChain, "twap");
135
+ const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
136
+ set(twapTokenFromAtom, newTokenFrom);
137
+ tokenFrom = newTokenFrom;
138
+ }
139
+ if (tokenFrom.network !== wagmiConfig.state.chainId) {
140
+ switchChain({
141
+ chainId: tokenFrom.network
142
+ });
143
+ }
144
+ });
145
+ const syncTwapTokensAfterChainSwitch = (chainId) => {
146
+ const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);
147
+ if (!enabledSrcChains.includes(chainId)) return;
148
+ let tokenFrom = jotaiStore.get(twapTokenFromAtom);
149
+ if (tokenFrom.network === chainId) return;
150
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(chainId, "twap");
151
+ jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);
152
+ tokenFrom = defaultTokenFrom;
153
+ let tokenTo = jotaiStore.get(twapTokenToAtom);
154
+ if (!tokenTo) return;
155
+ const crosschainPossible = isCrosschainPossible({
156
+ get: jotaiStore.get,
157
+ chainIdFrom: chainId,
158
+ chainIdTo: tokenTo.network,
159
+ mode: "limit"
160
+ });
161
+ if (crosschainPossible) {
162
+ const isTokenToFromAcross = isTokenFromAcross({
163
+ token: tokenTo,
164
+ fromChainId: chainId,
165
+ toChainId: tokenTo.network,
166
+ mode: "limit"
167
+ });
168
+ if (!isTokenToFromAcross) {
169
+ const maybeAcrossToken = findFirstTokenFromAcross({
170
+ fromChainId: chainId,
171
+ toChainId: tokenTo.network,
172
+ listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,
173
+ mode: "limit"
174
+ });
175
+ tokenTo = maybeAcrossToken;
176
+ jotaiStore.set(twapTokenToAtom, tokenTo);
177
+ }
178
+ } else {
179
+ const selectableDestChains = getSelectableDestChains(jotaiStore.get, {
180
+ fromChainId: tokenFrom.network,
181
+ mode: "limit"
182
+ });
183
+ if (selectableDestChains.includes(chainId)) {
184
+ tokenTo = defaultTokenTo;
185
+ jotaiStore.set(twapTokenToAtom, tokenTo);
186
+ } else {
187
+ tokenTo = void 0;
188
+ jotaiStore.set(twapTokenToAtom, tokenTo);
189
+ }
190
+ }
191
+ };
192
+
193
+ export { selectTwapTokenFromAtom, selectTwapTokenToAtom, switchTwapTokensAtom, syncTwapTokensAfterChainSwitch };
194
+ //# 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\";\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 let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // then 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","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,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapTokenAtoms.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapTokenAtoms.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AASlD,eAAO,MAAM,iBAAiB;;CAAyB,CAAC;AACxD,eAAO,MAAM,eAAe;;CAAgB,CAAC;AAE7C,eAAO,MAAM,gBAAgB,aAAwC,CAAC;AACtE,eAAO,MAAM,cAAc,yBAAsC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { wagmiConfig } from '../../../lib/web3/wagmi/config.js';
2
+ import { pickDefaultTokenPair } from '../../../tokens/defaultTokens.js';
3
+ import { atom } from 'jotai';
4
+ import { useAtomValue } from '../../store.js';
5
+
6
+ const [defaultTokenFrom] = pickDefaultTokenPair(wagmiConfig.state.chainId, "twap");
7
+ const twapTokenFromAtom = atom(defaultTokenFrom);
8
+ const twapTokenToAtom = atom();
9
+ const useTwapTokenFrom = () => {
10
+ return useAtomValue(twapTokenFromAtom);
11
+ };
12
+ const useTwapTokenTo = () => {
13
+ return useAtomValue(twapTokenToAtom);
14
+ };
15
+
16
+ export { twapTokenFromAtom, twapTokenToAtom, useTwapTokenFrom, useTwapTokenTo };
17
+ //# sourceMappingURL=twapTokenAtoms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twapTokenAtoms.js","sources":["../../../../src/core/twap/state/twapTokenAtoms.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"twap\"\n);\n\nexport const twapTokenFromAtom = atom(defaultTokenFrom);\nexport const twapTokenToAtom = atom<Token>();\n\nexport const useTwapTokenFrom = () => useAtomValue(twapTokenFromAtom);\nexport const useTwapTokenTo = () => useAtomValue(twapTokenToAtom);\n"],"names":["defaultTokenFrom","pickDefaultTokenPair","wagmiConfig","state","chainId","twapTokenFromAtom","atom","twapTokenToAtom","useTwapTokenFrom","useAtomValue","useTwapTokenTo"],"mappings":";;;;;AAMA,MAAM,CAACA,gBAAgB,CAAA,GAAIC,qBACzBC,WAAAA,CAAYC,KAAAA,CAAMC,SAClB,MACF,CAAA;AAEO,MAAMC,iBAAAA,GAAoBC,KAAKN,gBAAgB;AAC/C,MAAMO,kBAAkBD,IAAAA;AAExB,MAAME,mBAAmBA,MAAA;AAAA,EAAA,OAAMC,aAAaJ,iBAAiB,CAAA;AAAC;AAC9D,MAAMK,iBAAiBA,MAAA;AAAA,EAAA,OAAMD,aAAaF,eAAe,CAAA;AAAC;;;;"}