@velora-dex/widget 0.2.5-dev.5 → 0.2.5-dev.6

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 (491) hide show
  1. package/dist/components/ui/button.d.ts +1 -1
  2. package/dist/components/ui/dropdown-menu.d.ts +3 -2
  3. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  4. package/dist/components/ui/dropdown-menu.js +44 -22
  5. package/dist/components/ui/dropdown-menu.js.map +1 -1
  6. package/dist/components/ui/input.js +1 -1
  7. package/dist/components/ui/input.js.map +1 -1
  8. package/dist/components/ui/tooltip.d.ts +4 -2
  9. package/dist/components/ui/tooltip.d.ts.map +1 -1
  10. package/dist/components/ui/tooltip.js +44 -27
  11. package/dist/components/ui/tooltip.js.map +1 -1
  12. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +7 -7
  13. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  14. package/dist/components/web3/providers.d.ts.map +1 -1
  15. package/dist/components/web3/providers.js +1 -2
  16. package/dist/components/web3/providers.js.map +1 -1
  17. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.d.ts +2 -0
  18. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.d.ts.map +1 -0
  19. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +131 -0
  20. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -0
  21. package/dist/components/widget/AppHeader/Activities/ActivityItems.js +3 -3
  22. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  23. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts +5 -21
  24. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  25. package/dist/components/widget/AppHeader/Activities/Drawers.js +48 -204
  26. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  27. package/dist/components/widget/AppHeader/Activities/hooks.d.ts +7 -10
  28. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/hooks.js +37 -75
  30. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  31. package/dist/components/widget/AppHeader/Activities/utils.d.ts +2 -2
  32. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  34. package/dist/components/widget/AppHeader/ActivityButton.d.ts +0 -1
  35. package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -1
  36. package/dist/components/widget/AppHeader/ActivityButton.js +38 -160
  37. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  38. package/dist/components/widget/AppHeader/AppHeader.js +1 -1
  39. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  40. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +1 -1
  41. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  42. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +4 -14
  43. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  44. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +9 -2
  45. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  46. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +59 -1
  47. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  48. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts.map +1 -1
  49. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +3 -2
  50. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  51. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.d.ts.map +1 -1
  52. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +17 -9
  53. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  54. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +1 -1
  55. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  56. package/dist/components/widget/Dialog/state/dialogAtom.d.ts.map +1 -1
  57. package/dist/components/widget/Drawer/Overlay.js +1 -1
  58. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  59. package/dist/components/widget/Drawer/index.d.ts +3 -2
  60. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  61. package/dist/components/widget/Drawer/index.js +96 -80
  62. package/dist/components/widget/Drawer/index.js.map +1 -1
  63. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -1
  64. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  65. package/dist/components/widget/Drawer/state/useDrawerControls.js +3 -2
  66. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  67. package/dist/components/widget/ImportToken/ImportToken.js +1 -1
  68. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  69. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -0
  70. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -0
  71. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -0
  72. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -0
  73. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -0
  74. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -0
  75. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -0
  76. package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderListItem.js +1 -1
  77. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -0
  78. package/dist/components/widget/LimitOrderItem/constants.d.ts.map +1 -0
  79. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -0
  80. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -0
  81. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -0
  82. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -0
  83. package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
  84. package/dist/components/widget/OrderExpiryInput/index.js +66 -48
  85. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  86. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.d.ts.map +1 -0
  87. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -0
  88. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -0
  89. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/OtcOrderDetails.js +1 -1
  90. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -0
  91. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.d.ts.map +1 -0
  92. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -0
  93. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.d.ts.map +1 -0
  94. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderListItem.js +1 -1
  95. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -0
  96. package/dist/components/widget/OtcOrderItem/constants.d.ts.map +1 -0
  97. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -0
  98. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/types.d.ts +1 -1
  99. package/dist/components/widget/OtcOrderItem/types.d.ts.map +1 -0
  100. package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/utils.d.ts +0 -6
  101. package/dist/components/widget/OtcOrderItem/utils.d.ts.map +1 -0
  102. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -0
  103. package/dist/components/widget/PoweredBy/PoweredBy.js +1 -1
  104. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  105. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.d.ts.map +1 -1
  106. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +2 -1
  107. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  108. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +1 -1
  109. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  110. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts +2 -2
  111. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts.map +1 -1
  112. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  113. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts +1 -1
  114. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  115. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +2 -2
  116. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  117. package/dist/components/widget/Screen/GenericScreen.d.ts +13 -0
  118. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -0
  119. package/dist/components/widget/Screen/GenericScreen.js +66 -0
  120. package/dist/components/widget/Screen/GenericScreen.js.map +1 -0
  121. package/dist/components/widget/Screen/ScreenContainer.d.ts +7 -0
  122. package/dist/components/widget/Screen/ScreenContainer.d.ts.map +1 -0
  123. package/dist/components/widget/Screen/ScreenContainer.js +60 -0
  124. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -0
  125. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  126. package/dist/components/widget/SelectToken/SelectTokenButton.js +109 -201
  127. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  128. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +1 -1
  129. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  130. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts +2 -3
  131. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  132. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +2 -1
  133. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  134. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +8 -1
  135. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  136. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +126 -1
  137. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  138. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts +6 -0
  139. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  140. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +86 -1
  141. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  142. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +8 -2
  143. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  144. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +103 -1
  145. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +10 -3
  147. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  148. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +152 -9
  149. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +8 -2
  151. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  152. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +101 -1
  153. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  154. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  155. package/dist/components/widget/TradeOverview/TradeDetails.js +105 -78
  156. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -1
  158. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  159. package/dist/components/widget/TradeOverview/TradeOverview.js +26 -21
  160. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  161. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +30 -0
  162. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -0
  163. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +75 -0
  164. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -0
  165. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +1 -1
  166. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  167. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +14 -0
  169. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -0
  170. package/dist/components/widget/TradeOverview/utils/preWrap.js +37 -0
  171. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -0
  172. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +1 -1
  173. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  174. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
  175. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +2 -1
  176. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  177. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +1 -1
  178. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  179. package/dist/components/widget/TransactionDetails/types.d.ts +1 -1
  180. package/dist/components/widget/TransactionDetails/types.d.ts.map +1 -1
  181. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +1 -1
  182. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  183. package/dist/configurator/Configurator.d.ts.map +1 -1
  184. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  185. package/dist/configurator/components/common/DetailWithTooltip.d.ts +1 -0
  186. package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -1
  187. package/dist/core/DevTools.d.ts.map +1 -1
  188. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  189. package/dist/core/LimitOrderButton.js +10 -11
  190. package/dist/core/LimitOrderButton.js.map +1 -1
  191. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  192. package/dist/core/OtcOrderButton.js +11 -15
  193. package/dist/core/OtcOrderButton.js.map +1 -1
  194. package/dist/core/TradeFlowScreenButton.d.ts +27 -0
  195. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -0
  196. package/dist/core/TradeFlowScreenButton.js +206 -0
  197. package/dist/core/TradeFlowScreenButton.js.map +1 -0
  198. package/dist/core/index.d.ts.map +1 -1
  199. package/dist/core/index.js +194 -162
  200. package/dist/core/index.js.map +1 -1
  201. package/dist/core/inputs/hooks/useTokenFromInputProps.js +1 -1
  202. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  203. package/dist/core/inputs/hooks/useTokenSwitcherProps.js +1 -1
  204. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  205. package/dist/core/inputs/hooks/useTokenToInputProps.js +1 -1
  206. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  207. package/dist/core/inputs/state/common.d.ts +3 -11
  208. package/dist/core/inputs/state/common.d.ts.map +1 -1
  209. package/dist/core/inputs/state/common.js +10 -33
  210. package/dist/core/inputs/state/common.js.map +1 -1
  211. package/dist/core/inputs/state/selectedTokenActionsAtom.js +1 -1
  212. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  213. package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
  214. package/dist/core/inputs/state/selectedTokenAtom.js +2 -1
  215. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  216. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -1
  217. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  218. package/dist/core/inputs/state/setTokenByAddressAtom.js +20 -83
  219. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  220. package/dist/core/inputs/state/types.d.ts +1 -9
  221. package/dist/core/inputs/state/types.d.ts.map +1 -1
  222. package/dist/core/limit/state/currentLimitInputAtom.d.ts +2 -2
  223. package/dist/core/limit/state/deadlineAtom.d.ts +2 -10
  224. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  225. package/dist/core/limit/state/deadlineAtom.js +10 -16
  226. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  227. package/dist/core/limit/state/limitInputActionsAtom.d.ts +1 -4
  228. package/dist/core/limit/state/limitInputActionsAtom.d.ts.map +1 -1
  229. package/dist/core/limit/state/limitInputActionsAtom.js +2 -6
  230. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  231. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  232. package/dist/core/limit/state/selectedTokenAtom.js +2 -2
  233. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  234. package/dist/core/limit/state/utils.d.ts +1 -9
  235. package/dist/core/limit/state/utils.d.ts.map +1 -1
  236. package/dist/core/limit/state/utils.js +2 -44
  237. package/dist/core/limit/state/utils.js.map +1 -1
  238. package/dist/core/limit/useLimitDetailsListProps.js +1 -1
  239. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  240. package/dist/core/limit/useLimitPriceDifference.js +1 -1
  241. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  242. package/dist/core/limit/useLimitPriceInputProps.js +1 -1
  243. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  244. package/dist/core/limit/useLimitRate.js +1 -1
  245. package/dist/core/limit/useLimitRate.js.map +1 -1
  246. package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
  247. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  248. package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
  249. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  250. package/dist/core/limit/useLimitTokenToInputProps.js +1 -1
  251. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  252. package/dist/core/logger.js +1 -1
  253. package/dist/core/logger.js.map +1 -1
  254. package/dist/core/otc/state/currentOtcInputAtom.d.ts +2 -2
  255. package/dist/core/otc/state/deadlineAtom.d.ts +3 -8
  256. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  257. package/dist/core/otc/state/deadlineAtom.js +11 -16
  258. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  259. package/dist/core/otc/state/otcInputActionsAtom.d.ts +1 -4
  260. package/dist/core/otc/state/otcInputActionsAtom.d.ts.map +1 -1
  261. package/dist/core/otc/state/otcInputActionsAtom.js +2 -6
  262. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  263. package/dist/core/otc/state/receiverAddressAtom.d.ts.map +1 -1
  264. package/dist/core/otc/state/receiverAddressAtom.js +2 -1
  265. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  266. package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
  267. package/dist/core/otc/state/selectedTokenAtom.js +2 -2
  268. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  269. package/dist/core/otc/useOtcDetailsListProps.js +1 -1
  270. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  271. package/dist/core/otc/useOtcPriceDifference.js +1 -1
  272. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  273. package/dist/core/otc/useOtcPriceInputProps.js +1 -1
  274. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  275. package/dist/core/otc/useOtcTokenFromInputProps.js +1 -1
  276. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  277. package/dist/core/otc/useOtcTokenSwitcherProps.js +1 -1
  278. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  279. package/dist/core/otc/useOtcTokenToInputProps.js +1 -1
  280. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  281. package/dist/core/screen/screenByType.d.ts +9 -0
  282. package/dist/core/screen/screenByType.d.ts.map +1 -0
  283. package/dist/core/screen/screenByType.js +13 -0
  284. package/dist/core/screen/screenByType.js.map +1 -0
  285. package/dist/core/screen/state/screenAtom.d.ts +20 -0
  286. package/dist/core/screen/state/screenAtom.d.ts.map +1 -0
  287. package/dist/core/screen/state/screenAtom.js +110 -0
  288. package/dist/core/screen/state/screenAtom.js.map +1 -0
  289. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  290. package/dist/core/state/chainToAtom.js +2 -1
  291. package/dist/core/state/chainToAtom.js.map +1 -1
  292. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  293. package/dist/core/state/configActionsAtom.js +3 -1
  294. package/dist/core/state/configActionsAtom.js.map +1 -1
  295. package/dist/core/state/configAtom.d.ts +4 -2
  296. package/dist/core/state/configAtom.d.ts.map +1 -1
  297. package/dist/core/state/configAtom.js +9 -4
  298. package/dist/core/state/configAtom.js.map +1 -1
  299. package/dist/core/state/configEffectAtom.d.ts.map +1 -1
  300. package/dist/core/state/configEffectAtom.js +2 -1
  301. package/dist/core/state/configEffectAtom.js.map +1 -1
  302. package/dist/core/state/containerAtom.d.ts.map +1 -1
  303. package/dist/core/state/containerAtom.js +2 -1
  304. package/dist/core/state/containerAtom.js.map +1 -1
  305. package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
  306. package/dist/core/state/enabledChainsAtom.js +2 -1
  307. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  308. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  309. package/dist/core/state/externalProviderAtom.js +2 -1
  310. package/dist/core/state/externalProviderAtom.js.map +1 -1
  311. package/dist/core/state/isCrosschainAtom.d.ts.map +1 -1
  312. package/dist/core/state/isCrosschainAtom.js +2 -1
  313. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  314. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  315. package/dist/core/state/tradeModeAtom.js +2 -1
  316. package/dist/core/state/tradeModeAtom.js.map +1 -1
  317. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  318. package/dist/core/state/widgetEventsAtom.js +2 -1
  319. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  320. package/dist/core/store.d.ts +29 -0
  321. package/dist/core/store.d.ts.map +1 -0
  322. package/dist/core/store.js +15 -0
  323. package/dist/core/store.js.map +1 -0
  324. package/dist/core/swapDetails/useSwapDetailsListProps.js +1 -1
  325. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  326. package/dist/core/types.d.ts +6 -0
  327. package/dist/core/types.d.ts.map +1 -1
  328. package/dist/events/effects/price.js +1 -1
  329. package/dist/events/effects/price.js.map +1 -1
  330. package/dist/events/effects/swapMode.js +1 -1
  331. package/dist/events/effects/swapMode.js.map +1 -1
  332. package/dist/events/hooks/useActivateEffects.js +1 -1
  333. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  334. package/dist/hooks/batch/useCanBatchTxs.d.ts.map +1 -1
  335. package/dist/hooks/batch/useCanBatchTxs.js +33 -29
  336. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  337. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  338. package/dist/hooks/gas/useGasPrices.js +15 -14
  339. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  340. package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
  341. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  342. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts +1 -1
  343. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  344. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -1
  345. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  346. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.d.ts.map +1 -1
  347. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js +2 -1
  348. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  349. package/dist/hooks/permit/utils/encodeArgs.js +1 -1
  350. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +6 -6
  351. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +1 -1
  352. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  353. package/dist/hooks/swap/prices/usePricesParams.js +6 -1
  354. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  355. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  356. package/dist/hooks/swap/prices/useSwapPrices.js +3 -1
  357. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  358. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +2 -0
  359. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  360. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +8 -6
  361. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  362. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +1 -1
  363. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  364. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  365. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  366. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  367. package/dist/hooks/tokens/prices/queries.js +2 -2
  368. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  369. package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
  370. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  371. package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
  372. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  373. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  374. package/dist/hooks/txs/queries/useTxHistory.js +2 -2
  375. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  376. package/dist/hooks/useClickOutside.d.ts +4 -0
  377. package/dist/hooks/useClickOutside.d.ts.map +1 -0
  378. package/dist/hooks/useClickOutside.js +35 -0
  379. package/dist/hooks/useClickOutside.js.map +1 -0
  380. package/dist/hooks/useEIP1559Enabled.js +1 -1
  381. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  382. package/dist/hooks/useGlobalDeltaEnabled.js +1 -1
  383. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  384. package/dist/hooks/useSDK.d.ts.map +1 -1
  385. package/dist/hooks/useSDK.js +11 -11
  386. package/dist/hooks/useSDK.js.map +1 -1
  387. package/dist/hooks/useSlippage.js +1 -1
  388. package/dist/hooks/useSlippage.js.map +1 -1
  389. package/dist/lib/constants/index.d.ts +0 -2
  390. package/dist/lib/constants/index.d.ts.map +1 -1
  391. package/dist/lib/constants/index.js +1 -4
  392. package/dist/lib/constants/index.js.map +1 -1
  393. package/dist/lib/constants/urls.d.ts +4 -0
  394. package/dist/lib/constants/urls.d.ts.map +1 -0
  395. package/dist/lib/constants/urls.js +30 -0
  396. package/dist/lib/constants/urls.js.map +1 -0
  397. package/dist/lib/utils/explorer.d.ts.map +1 -1
  398. package/dist/lib/utils/explorer.js +3 -3
  399. package/dist/lib/utils/explorer.js.map +1 -1
  400. package/dist/lib/utils/price.js +1 -1
  401. package/dist/styles.css +23 -22
  402. package/dist/tokens/hooks.js +1 -1
  403. package/dist/tokens/hooks.js.map +1 -1
  404. package/dist/tokens/lists/state/effects.js +1 -2
  405. package/dist/tokens/lists/state/effects.js.map +1 -1
  406. package/dist/tokens/queries.js +1 -1
  407. package/dist/tokens/queries.js.map +1 -1
  408. package/dist/transactions/state/hooks/useActivateEffects.js +1 -1
  409. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  410. package/dist/transactions/state/hooks/useTransactions.js +2 -2
  411. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  412. package/dist/transactions/state/transactionsActionAtom.js +1 -1
  413. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  414. package/package.json +4 -3
  415. package/dist/components/ui/dialog.js +0 -261
  416. package/dist/components/ui/dialog.js.map +0 -1
  417. package/dist/components/widget/AppHeader/OtcOrdersDrawerButton.d.ts +0 -2
  418. package/dist/components/widget/AppHeader/OtcOrdersDrawerButton.d.ts.map +0 -1
  419. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js +0 -24
  420. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +0 -1
  421. package/dist/components/widget/Dialog/DialogRoot.js +0 -47
  422. package/dist/components/widget/Dialog/DialogRoot.js.map +0 -1
  423. package/dist/components/widget/Dialog/dialogByType.js +0 -10
  424. package/dist/components/widget/Dialog/dialogByType.js.map +0 -1
  425. package/dist/components/widget/Dialog/state/dialogAtom.js +0 -85
  426. package/dist/components/widget/Dialog/state/dialogAtom.js.map +0 -1
  427. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.d.ts.map +0 -1
  428. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +0 -1
  429. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.d.ts.map +0 -1
  430. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +0 -1
  431. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/utils.d.ts.map +0 -1
  432. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/utils.js.map +0 -1
  433. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +0 -1
  434. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +0 -1
  435. package/dist/components/widget/LimitOrdersDrawer/LimitOrderTabs.d.ts +0 -7
  436. package/dist/components/widget/LimitOrdersDrawer/LimitOrderTabs.d.ts.map +0 -1
  437. package/dist/components/widget/LimitOrdersDrawer/LimitOrdersList.d.ts +0 -7
  438. package/dist/components/widget/LimitOrdersDrawer/LimitOrdersList.d.ts.map +0 -1
  439. package/dist/components/widget/LimitOrdersDrawer/constants.d.ts.map +0 -1
  440. package/dist/components/widget/LimitOrdersDrawer/constants.js.map +0 -1
  441. package/dist/components/widget/LimitOrdersDrawer/types.d.ts.map +0 -1
  442. package/dist/components/widget/LimitOrdersDrawer/utils.d.ts.map +0 -1
  443. package/dist/components/widget/LimitOrdersDrawer/utils.js.map +0 -1
  444. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.d.ts.map +0 -1
  445. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +0 -1
  446. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +0 -1
  447. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +0 -1
  448. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/utils.d.ts.map +0 -1
  449. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/utils.js.map +0 -1
  450. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.d.ts.map +0 -1
  451. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +0 -1
  452. package/dist/components/widget/OtcOrdersDrawer/OtcOrderTabs.d.ts +0 -7
  453. package/dist/components/widget/OtcOrdersDrawer/OtcOrderTabs.d.ts.map +0 -1
  454. package/dist/components/widget/OtcOrdersDrawer/OtcOrdersList.d.ts +0 -12
  455. package/dist/components/widget/OtcOrdersDrawer/OtcOrdersList.d.ts.map +0 -1
  456. package/dist/components/widget/OtcOrdersDrawer/constants.d.ts.map +0 -1
  457. package/dist/components/widget/OtcOrdersDrawer/constants.js.map +0 -1
  458. package/dist/components/widget/OtcOrdersDrawer/types.d.ts.map +0 -1
  459. package/dist/components/widget/OtcOrdersDrawer/utils.d.ts.map +0 -1
  460. package/dist/components/widget/OtcOrdersDrawer/utils.js.map +0 -1
  461. package/dist/configurator/components/common/ButtonGroup.d.ts +0 -12
  462. package/dist/configurator/components/common/ButtonGroup.d.ts.map +0 -1
  463. package/dist/core/TradeFlowButton.d.ts +0 -27
  464. package/dist/core/TradeFlowButton.d.ts.map +0 -1
  465. package/dist/core/TradeFlowButton.js +0 -963
  466. package/dist/core/TradeFlowButton.js.map +0 -1
  467. package/dist/core/inputs/state/store.d.ts +0 -2
  468. package/dist/core/inputs/state/store.d.ts.map +0 -1
  469. package/dist/core/inputs/state/store.js +0 -6
  470. package/dist/core/inputs/state/store.js.map +0 -1
  471. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/Controls.d.ts +0 -0
  472. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/Controls.js +0 -0
  473. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/LimitOrderDetails.d.ts +0 -0
  474. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/LimitOrderDetails.js +0 -0
  475. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/utils.d.ts +0 -0
  476. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderDetails/utils.js +0 -0
  477. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/LimitOrderListItem.d.ts +0 -0
  478. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/constants.d.ts +0 -0
  479. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/constants.js +0 -0
  480. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/types.d.ts +0 -0
  481. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/utils.d.ts +0 -0
  482. /package/dist/components/widget/{LimitOrdersDrawer → LimitOrderItem}/utils.js +0 -0
  483. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/Controls.d.ts +0 -0
  484. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/Controls.js +0 -0
  485. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/OtcOrderDetails.d.ts +0 -0
  486. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/utils.d.ts +0 -0
  487. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderDetails/utils.js +0 -0
  488. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/OtcOrderListItem.d.ts +0 -0
  489. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/constants.d.ts +0 -0
  490. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/constants.js +0 -0
  491. /package/dist/components/widget/{OtcOrdersDrawer → OtcOrderItem}/utils.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitPriceInputProps.js","sources":["../../../src/core/limit/useLimitPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"jotai\";\nimport { useEffect } from \"react\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useLogger } from \"../logger\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { isLimitPriceLockedAtom } from \"./state/isLimitPriceLockedAtom\";\nimport { isLimitPriceReversedAtom } from \"./state/isLimitPriceReversedAtom\";\nimport {\n setLimitPriceRatesAtom,\n toggleLimitPriceLockAtom,\n toggleLimitPriceReverseAtom,\n resetLimitPriceAtom,\n} from \"./state/limitInputActionsAtom\";\nimport { limitPriceAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitPriceDifference } from \"./useLimitPriceDifference\";\nimport { getUpdatedRates } from \"./state/utils\";\n\nexport const useLimitPriceInputProps = (): PriceInputProps => {\n const logger = useLogger(\"LimitPriceInput\");\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const isLocked = useAtomValue(isLimitPriceLockedAtom);\n const isReversed = useAtomValue(isLimitPriceReversedAtom);\n const limitPriceAmount = useAtomValue(limitPriceAmountAtom);\n\n const setPriceRates = useSetAtom(setLimitPriceRatesAtom);\n const togglePriceLock = useSetAtom(toggleLimitPriceLockAtom);\n const togglePriceReverse = useSetAtom(toggleLimitPriceReverseAtom);\n const resetPrice = useSetAtom(resetLimitPriceAtom);\n const [currentLimitInput, setCurrentLimitInput] = useAtom(\n currentLimitInputAtom\n );\n\n const { rates, isLoading, priceDiff } = useLimitPriceDifference();\n\n useEffect(() => {\n if (rates) {\n setPriceRates(rates);\n }\n }, [setPriceRates, rates]);\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange\", values);\n\n const updatedRates = getUpdatedRates(values.value, isReversed);\n const recalculateReceive = currentLimitInput === \"limit\";\n setPriceRates(updatedRates, recalculateReceive);\n };\n\n const drivingToken = isReversed ? tokenFrom : tokenTo;\n\n return {\n type: \"limit\",\n drivingToken,\n amount: limitPriceAmount,\n isLoading,\n isLocked,\n isReversed,\n priceDiff,\n onAmountChange,\n onReset: () => resetPrice(rates),\n onToggleLock: () => togglePriceLock(),\n onToggleReverse: () => togglePriceReverse(),\n onFocus: () => setCurrentLimitInput(\"limit\"),\n };\n};\n"],"names":["useLimitPriceInputProps","$","_c","logger","useLogger","tokenFrom","tokenTo","useWidgetTokens","isLocked","useAtomValue","isLimitPriceLockedAtom","isReversed","isLimitPriceReversedAtom","limitPriceAmount","limitPriceAmountAtom","setPriceRates","useSetAtom","setLimitPriceRatesAtom","togglePriceLock","toggleLimitPriceLockAtom","togglePriceReverse","toggleLimitPriceReverseAtom","resetPrice","resetLimitPriceAtom","currentLimitInput","setCurrentLimitInput","useAtom","currentLimitInputAtom","rates","isLoading","priceDiff","useLimitPriceDifference","t0","t1","useEffect","t2","values","log","updatedRates","getUpdatedRates","value","recalculateReceive","onAmountChange","drivingToken","t3","t4","t5","t6","t7","type","amount","onReset","onToggleLock","onToggleReverse","onFocus"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitPriceInputProps.js","sources":["../../../src/core/limit/useLimitPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"@/core/store\";\nimport { useEffect } from \"react\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useLogger } from \"../logger\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { isLimitPriceLockedAtom } from \"./state/isLimitPriceLockedAtom\";\nimport { isLimitPriceReversedAtom } from \"./state/isLimitPriceReversedAtom\";\nimport {\n setLimitPriceRatesAtom,\n toggleLimitPriceLockAtom,\n toggleLimitPriceReverseAtom,\n resetLimitPriceAtom,\n} from \"./state/limitInputActionsAtom\";\nimport { limitPriceAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitPriceDifference } from \"./useLimitPriceDifference\";\nimport { getUpdatedRates } from \"./state/utils\";\n\nexport const useLimitPriceInputProps = (): PriceInputProps => {\n const logger = useLogger(\"LimitPriceInput\");\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const isLocked = useAtomValue(isLimitPriceLockedAtom);\n const isReversed = useAtomValue(isLimitPriceReversedAtom);\n const limitPriceAmount = useAtomValue(limitPriceAmountAtom);\n\n const setPriceRates = useSetAtom(setLimitPriceRatesAtom);\n const togglePriceLock = useSetAtom(toggleLimitPriceLockAtom);\n const togglePriceReverse = useSetAtom(toggleLimitPriceReverseAtom);\n const resetPrice = useSetAtom(resetLimitPriceAtom);\n const [currentLimitInput, setCurrentLimitInput] = useAtom(\n currentLimitInputAtom\n );\n\n const { rates, isLoading, priceDiff } = useLimitPriceDifference();\n\n useEffect(() => {\n if (rates) {\n setPriceRates(rates);\n }\n }, [setPriceRates, rates]);\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange\", values);\n\n const updatedRates = getUpdatedRates(values.value, isReversed);\n const recalculateReceive = currentLimitInput === \"limit\";\n setPriceRates(updatedRates, recalculateReceive);\n };\n\n const drivingToken = isReversed ? tokenFrom : tokenTo;\n\n return {\n type: \"limit\",\n drivingToken,\n amount: limitPriceAmount,\n isLoading,\n isLocked,\n isReversed,\n priceDiff,\n onAmountChange,\n onReset: () => resetPrice(rates),\n onToggleLock: () => togglePriceLock(),\n onToggleReverse: () => togglePriceReverse(),\n onFocus: () => setCurrentLimitInput(\"limit\"),\n };\n};\n"],"names":["useLimitPriceInputProps","$","_c","logger","useLogger","tokenFrom","tokenTo","useWidgetTokens","isLocked","useAtomValue","isLimitPriceLockedAtom","isReversed","isLimitPriceReversedAtom","limitPriceAmount","limitPriceAmountAtom","setPriceRates","useSetAtom","setLimitPriceRatesAtom","togglePriceLock","toggleLimitPriceLockAtom","togglePriceReverse","toggleLimitPriceReverseAtom","resetPrice","resetLimitPriceAtom","currentLimitInput","setCurrentLimitInput","useAtom","currentLimitInputAtom","rates","isLoading","priceDiff","useLimitPriceDifference","t0","t1","useEffect","t2","values","log","updatedRates","getUpdatedRates","value","recalculateReceive","onAmountChange","drivingToken","t3","t4","t5","t6","t7","type","amount","onReset","onToggleLock","onToggleReverse","onFocus"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { useTokenPrice } from '../../hooks/tokens/prices/useTokenPrices.js';
5
5
  import Big from 'big.js';
6
6
  import { formatUnits, parseUnits } from 'viem';
7
7
  import { useWidgetTokens, tradeModeToTokenAtoms } from '../inputs/state/common.js';
8
- import { useAtomValue } from 'jotai';
8
+ import { useAtomValue } from '../store.js';
9
9
  import { useMemo } from 'react';
10
10
 
11
11
  const PRICE_REFETCH_INTERVAL = 6e4 * 5;
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"jotai\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n timeout: 5000,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, { refetchInterval: PRICE_REFETCH_INTERVAL });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, { refetchInterval: PRICE_REFETCH_INTERVAL });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice = !fiatPricesAvailable && !areFiatPricesLoading;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({ enabled: fetchSwapPrice, tradeMode });\n\n const isLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (fiatPricesAvailable) {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading,\n };\n }, [\n fiatPricesAvailable,\n isLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n ]);\n};\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","useAtomValue","tradeModeToTokenAtoms","tokenFromAtom","priceParams","chainId","usePricesParams","t3","decimals","parseUnits","toString","t4","amount","side","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","timeout","query","result","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","useMemo","rate","rateReversed","Big","div","toFixed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","destAmount","rates"],"mappings":";;;;;;;;;;AAeA,MAAMA,yBAAyB,GAAA,GAAS,CAAA;AAExC,MAAMC,uBAAuBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,OAAAA,EAAAC,EAAAA;AAAAA,IAAAC,eAAAA,EAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAP,EAAAA;AAC5B,EAAA,MAAAG,OAAAA,GAAAC,EAAAA,KAAAI,MAAAA,GAAA,IAAA,GAAAJ,EAAAA;AACA,EAAA,MAAAC,eAAAA,GAAAC,EAAAA,KAAAE,MAAAA,GAAAV,sBAAAA,GAAAQ,EAAAA;AAOA,EAAA,MAAAG,SAAAA,GAAkBC,YAAAA,CAChBC,qBAAAA,CAAsBJ,SAAS,EAACK,aAClC,CAAA;AACA,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAiCC,gBAAgBR,SAAS,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAQ,SAAAA,CAAAQ,QAAAA,EAAA;AAIlDD,IAAAA,EAAAA,GAAAE,UAAAA,CAAW,GAAA,EAAKT,SAAAA,CAASQ,QAAS,EAACE,QAAAA,EAAU;AAAClB,IAAAA,CAAAA,CAAA,CAAA,IAAAQ,SAAAA,CAAAQ,QAAAA;AAAAhB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAmB,EAAAA;AAAA,EAAA,IAAAnB,EAAA,CAAA,CAAA,KAAAY,eAAAZ,CAAAA,QAAAe,EAAAA,EAAA;AAFRI,IAAAA,EAAAA,GAAA;AAAA,MAAA,GAC3CP,WAAAA;AAAAA,MAAWQ,MAAAA,EACNL,EAAAA;AAAAA,MAA8CM,IAAAA,EAChD,MAAA;AAAA,MAAeC,iBAAAA,EACF;AAAA,KACrB;AAACtB,IAAAA,CAAAA,MAAAY,WAAAA;AAAAZ,IAAAA,CAAAA,MAAAe,EAAAA;AAAAf,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAuB,qBAAAA,GAAgDJ,EAAAA;AAK9C,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAE,WAAAF,CAAAA,QAAAI,eAAAA,EAAA;AAQOoB,IAAAA,EAAAA,GAAA;AAAA,MAAAtB,OAAAA;AAAAA,MAAAE,eAAAA;AAAAA,MAAAqB,KAAAA,EAGE,KAAA;AAAA,MAAKC,oBAAAA,EACU,KAAA;AAAA,MAAKC,cAAAA,EACX;AAAA,KAClB;AAAC3B,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAI,eAAAA;AAAAJ,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA4B,EAAAA;AAAA,EAAA,IAAA5B,CAAAA,CAAA,CAAA,CAAA,KAAAa,OAAAA,IAAAb,CAAAA,QAAAuB,qBAAAA,IAAAvB,CAAAA,CAAA,EAAA,CAAA,KAAAwB,EAAAA,EAAA;AAVsDI,IAAAA,EAAAA,GAAA;AAAA,MAAAhB,WAAAA,EAC1CW,qBAAAA;AAAAA,MAAqBV,OAAAA;AAAAA,MAAAgB,OAAAA,EAEzB,GAAA;AAAA,MAAIC,KAAAA,EACNN;AAAAA,KAOT;AAACxB,IAAAA,CAAAA,MAAAa,OAAAA;AAAAb,IAAAA,CAAAA,MAAAuB,qBAAAA;AAAAvB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAxB,IAAAA,CAAAA,OAAA4B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5B,EAAA,EAAA,CAAA;AAAA,EAAA;AAXD,EAAA,MAAA;AAAA,IAAA+B,MAAAA,EAAAC;AAAAA,GAAA,GAAqCC,oBAAoBL,EAWxD,CAAA;AAAE,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAlC,CAAAA,CAAA,EAAA,CAAA,KAAAgC,gBAAAA,CAAAG,QAAAnC,CAAAA,CAAA,EAAA,CAAA,KAAAgC,gBAAAA,CAAAI,SAAAA,EAAA;AAEIF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,OACEL,gBAAAA,CAAgBG,IAAAA;AAAAA,MAAKC,WACjBJ,gBAAAA,CAAgBI;AAAAA,KAC7B;AAACpC,IAAAA,CAAAA,CAAA,EAAA,IAAAgC,gBAAAA,CAAAG,IAAAA;AAAAnC,IAAAA,CAAAA,CAAA,EAAA,IAAAgC,gBAAAA,CAAAI,SAAAA;AAAApC,IAAAA,CAAAA,OAAAkC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHMkC,EAAAA;AAGN,CAAA;AAII,MAAMI,YAAAA,GAAeA,CAC1BhC,SAAAA,KACuB;AACvB,EAAA,MAAM;AAAA,IAAEE,SAAAA;AAAAA,IAAW+B;AAAAA,GAAQ,GAAIC,gBAAgBlC,SAAS,CAAA;AAExD,EAAA,MAAM;AAAA,IAAE6B,IAAAA,EAAMM,cAAAA;AAAAA,IAAgBL,SAAAA,EAAWM;AAAAA,GAAwB,GAC/DC,cAAcnC,SAAAA,EAAW;AAAA,IAAEJ,eAAAA,EAAiBP;AAAAA,GAAwB,CAAA;AACtE,EAAA,MAAM;AAAA,IAAEsC,IAAAA,EAAMS,YAAAA;AAAAA,IAAcR,SAAAA,EAAWS;AAAAA,GAAsB,GAC3DF,cAAcJ,OAAAA,EAAS;AAAA,IAAEnC,eAAAA,EAAiBP;AAAAA,GAAwB,CAAA;AAEpE,EAAA,MAAMiD,uBAAuBJ,uBAAAA,IAA2BG,qBAAAA;AAExD,EAAA,MAAME,mBAAAA,GAAsB,CAAC,EAAEN,cAAAA,IAAkBG,YAAAA,CAAAA;AACjD,EAAA,MAAMI,cAAAA,GAAiB,CAACD,mBAAAA,IAAuB,CAACD,oBAAAA;AAEhD,EAAA,MAAM;AAAA,IAAET,KAAAA,EAAOY,SAAAA;AAAAA,IAAWb,SAAAA,EAAWc;AAAAA,MACnCpD,oBAAAA,CAAqB;AAAA,IAAEI,OAAAA,EAAS8C,cAAAA;AAAAA,IAAgB1C;AAAAA,GAAW,CAAA;AAE7D,EAAA,MAAM8B,YAAYU,oBAAAA,IAAwBI,kBAAAA;AAE1C,EAAA,OAAOC,QAAQ,MAAM;AACnB,IAAA,IAAI,CAACZ,OAAAA,EAAS;AACZ,MAAA,OAAO;AAAA,QAAEH;AAAAA,OAAU;AAAA,IACrB;AAEA,IAAA,IAAIgB,IAAAA,GAA2B7C,MAAAA;AAC/B,IAAA,IAAI8C,YAAAA,GAAmC9C,MAAAA;AACvC,IAAA,IAAIwC,mBAAAA,EAAqB;AACvBK,MAAAA,IAAAA,GAAOE,GAAAA,CAAIb,eAAeJ,KAAK,CAAA,CAAEkB,IAAIX,YAAAA,CAAaP,KAAK,EAAEmB,OAAAA,EAAQ;AACjEH,MAAAA,YAAAA,GAAeC,GAAAA,CAAIV,aAAaP,KAAK,CAAA,CAClCkB,IAAId,cAAAA,CAAeJ,KAAK,EACxBmB,OAAAA,EAAQ;AAAA,IACb,WAAWP,SAAAA,EAAW;AACpB,MAAA,MAAMQ,WAAWC,WAAAA,CACfC,MAAAA,CAAOV,UAAUW,SAAS,CAAA,EAC1BpD,UAAUQ,QACZ,CAAA;AACA,MAAA,MAAM6C,YAAYH,WAAAA,CAChBC,MAAAA,CAAOV,UAAUa,UAAU,CAAA,EAC3BvB,QAAQvB,QACV,CAAA;AAEAoC,MAAAA,IAAAA,GAAOE,IAAIO,SAAS,CAAA,CAAEN,GAAAA,CAAIE,QAAQ,EAAED,OAAAA,EAAQ;AAC5CH,MAAAA,YAAAA,GAAeC,IAAIG,QAAQ,CAAA,CAAEF,GAAAA,CAAIM,SAAS,EAAEL,OAAAA,EAAQ;AAAA,IACtD;AAEA,IAAA,IAAI,CAACJ,IAAAA,IAAQ,CAACC,YAAAA,EAAc;AAC1B,MAAA,OAAO;AAAA,QAAEjB;AAAAA,OAAU;AAAA,IACrB;AAEA,IAAA,OAAO;AAAA,MACL2B,KAAAA,EAAO;AAAA,QAAEX,IAAAA;AAAAA,QAAMC;AAAAA,OAAa;AAAA,MAC5BjB;AAAAA,KACF;AAAA,EACF,CAAA,EAAG,CACDW,mBAAAA,EACAX,SAAAA,EACAa,SAAAA,EACAzC,SAAAA,CAAUQ,QAAAA,EACVyB,cAAAA,EAAgBJ,KAAAA,EAChBE,OAAAA,EACAK,YAAAA,EAAcP,KAAK,CACpB,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n timeout: 5000,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, { refetchInterval: PRICE_REFETCH_INTERVAL });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, { refetchInterval: PRICE_REFETCH_INTERVAL });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice = !fiatPricesAvailable && !areFiatPricesLoading;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({ enabled: fetchSwapPrice, tradeMode });\n\n const isLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (fiatPricesAvailable) {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading,\n };\n }, [\n fiatPricesAvailable,\n isLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n ]);\n};\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","useAtomValue","tradeModeToTokenAtoms","tokenFromAtom","priceParams","chainId","usePricesParams","t3","decimals","parseUnits","toString","t4","amount","side","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","timeout","query","result","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","useMemo","rate","rateReversed","Big","div","toFixed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","destAmount","rates"],"mappings":";;;;;;;;;;AAeA,MAAMA,yBAAyB,GAAA,GAAS,CAAA;AAExC,MAAMC,uBAAuBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,OAAAA,EAAAC,EAAAA;AAAAA,IAAAC,eAAAA,EAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAP,EAAAA;AAC5B,EAAA,MAAAG,OAAAA,GAAAC,EAAAA,KAAAI,MAAAA,GAAA,IAAA,GAAAJ,EAAAA;AACA,EAAA,MAAAC,eAAAA,GAAAC,EAAAA,KAAAE,MAAAA,GAAAV,sBAAAA,GAAAQ,EAAAA;AAOA,EAAA,MAAAG,SAAAA,GAAkBC,YAAAA,CAChBC,qBAAAA,CAAsBJ,SAAS,EAACK,aAClC,CAAA;AACA,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAiCC,gBAAgBR,SAAS,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAQ,SAAAA,CAAAQ,QAAAA,EAAA;AAIlDD,IAAAA,EAAAA,GAAAE,UAAAA,CAAW,GAAA,EAAKT,SAAAA,CAASQ,QAAS,EAACE,QAAAA,EAAU;AAAClB,IAAAA,CAAAA,CAAA,CAAA,IAAAQ,SAAAA,CAAAQ,QAAAA;AAAAhB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAmB,EAAAA;AAAA,EAAA,IAAAnB,EAAA,CAAA,CAAA,KAAAY,eAAAZ,CAAAA,QAAAe,EAAAA,EAAA;AAFRI,IAAAA,EAAAA,GAAA;AAAA,MAAA,GAC3CP,WAAAA;AAAAA,MAAWQ,MAAAA,EACNL,EAAAA;AAAAA,MAA8CM,IAAAA,EAChD,MAAA;AAAA,MAAeC,iBAAAA,EACF;AAAA,KACrB;AAACtB,IAAAA,CAAAA,MAAAY,WAAAA;AAAAZ,IAAAA,CAAAA,MAAAe,EAAAA;AAAAf,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAuB,qBAAAA,GAAgDJ,EAAAA;AAK9C,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAE,WAAAF,CAAAA,QAAAI,eAAAA,EAAA;AAQOoB,IAAAA,EAAAA,GAAA;AAAA,MAAAtB,OAAAA;AAAAA,MAAAE,eAAAA;AAAAA,MAAAqB,KAAAA,EAGE,KAAA;AAAA,MAAKC,oBAAAA,EACU,KAAA;AAAA,MAAKC,cAAAA,EACX;AAAA,KAClB;AAAC3B,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAI,eAAAA;AAAAJ,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA4B,EAAAA;AAAA,EAAA,IAAA5B,CAAAA,CAAA,CAAA,CAAA,KAAAa,OAAAA,IAAAb,CAAAA,QAAAuB,qBAAAA,IAAAvB,CAAAA,CAAA,EAAA,CAAA,KAAAwB,EAAAA,EAAA;AAVsDI,IAAAA,EAAAA,GAAA;AAAA,MAAAhB,WAAAA,EAC1CW,qBAAAA;AAAAA,MAAqBV,OAAAA;AAAAA,MAAAgB,OAAAA,EAEzB,GAAA;AAAA,MAAIC,KAAAA,EACNN;AAAAA,KAOT;AAACxB,IAAAA,CAAAA,MAAAa,OAAAA;AAAAb,IAAAA,CAAAA,MAAAuB,qBAAAA;AAAAvB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAxB,IAAAA,CAAAA,OAAA4B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5B,EAAA,EAAA,CAAA;AAAA,EAAA;AAXD,EAAA,MAAA;AAAA,IAAA+B,MAAAA,EAAAC;AAAAA,GAAA,GAAqCC,oBAAoBL,EAWxD,CAAA;AAAE,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAlC,CAAAA,CAAA,EAAA,CAAA,KAAAgC,gBAAAA,CAAAG,QAAAnC,CAAAA,CAAA,EAAA,CAAA,KAAAgC,gBAAAA,CAAAI,SAAAA,EAAA;AAEIF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,OACEL,gBAAAA,CAAgBG,IAAAA;AAAAA,MAAKC,WACjBJ,gBAAAA,CAAgBI;AAAAA,KAC7B;AAACpC,IAAAA,CAAAA,CAAA,EAAA,IAAAgC,gBAAAA,CAAAG,IAAAA;AAAAnC,IAAAA,CAAAA,CAAA,EAAA,IAAAgC,gBAAAA,CAAAI,SAAAA;AAAApC,IAAAA,CAAAA,OAAAkC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHMkC,EAAAA;AAGN,CAAA;AAII,MAAMI,YAAAA,GAAeA,CAC1BhC,SAAAA,KACuB;AACvB,EAAA,MAAM;AAAA,IAAEE,SAAAA;AAAAA,IAAW+B;AAAAA,GAAQ,GAAIC,gBAAgBlC,SAAS,CAAA;AAExD,EAAA,MAAM;AAAA,IAAE6B,IAAAA,EAAMM,cAAAA;AAAAA,IAAgBL,SAAAA,EAAWM;AAAAA,GAAwB,GAC/DC,cAAcnC,SAAAA,EAAW;AAAA,IAAEJ,eAAAA,EAAiBP;AAAAA,GAAwB,CAAA;AACtE,EAAA,MAAM;AAAA,IAAEsC,IAAAA,EAAMS,YAAAA;AAAAA,IAAcR,SAAAA,EAAWS;AAAAA,GAAsB,GAC3DF,cAAcJ,OAAAA,EAAS;AAAA,IAAEnC,eAAAA,EAAiBP;AAAAA,GAAwB,CAAA;AAEpE,EAAA,MAAMiD,uBAAuBJ,uBAAAA,IAA2BG,qBAAAA;AAExD,EAAA,MAAME,mBAAAA,GAAsB,CAAC,EAAEN,cAAAA,IAAkBG,YAAAA,CAAAA;AACjD,EAAA,MAAMI,cAAAA,GAAiB,CAACD,mBAAAA,IAAuB,CAACD,oBAAAA;AAEhD,EAAA,MAAM;AAAA,IAAET,KAAAA,EAAOY,SAAAA;AAAAA,IAAWb,SAAAA,EAAWc;AAAAA,MACnCpD,oBAAAA,CAAqB;AAAA,IAAEI,OAAAA,EAAS8C,cAAAA;AAAAA,IAAgB1C;AAAAA,GAAW,CAAA;AAE7D,EAAA,MAAM8B,YAAYU,oBAAAA,IAAwBI,kBAAAA;AAE1C,EAAA,OAAOC,QAAQ,MAAM;AACnB,IAAA,IAAI,CAACZ,OAAAA,EAAS;AACZ,MAAA,OAAO;AAAA,QAAEH;AAAAA,OAAU;AAAA,IACrB;AAEA,IAAA,IAAIgB,IAAAA,GAA2B7C,MAAAA;AAC/B,IAAA,IAAI8C,YAAAA,GAAmC9C,MAAAA;AACvC,IAAA,IAAIwC,mBAAAA,EAAqB;AACvBK,MAAAA,IAAAA,GAAOE,GAAAA,CAAIb,eAAeJ,KAAK,CAAA,CAAEkB,IAAIX,YAAAA,CAAaP,KAAK,EAAEmB,OAAAA,EAAQ;AACjEH,MAAAA,YAAAA,GAAeC,GAAAA,CAAIV,aAAaP,KAAK,CAAA,CAClCkB,IAAId,cAAAA,CAAeJ,KAAK,EACxBmB,OAAAA,EAAQ;AAAA,IACb,WAAWP,SAAAA,EAAW;AACpB,MAAA,MAAMQ,WAAWC,WAAAA,CACfC,MAAAA,CAAOV,UAAUW,SAAS,CAAA,EAC1BpD,UAAUQ,QACZ,CAAA;AACA,MAAA,MAAM6C,YAAYH,WAAAA,CAChBC,MAAAA,CAAOV,UAAUa,UAAU,CAAA,EAC3BvB,QAAQvB,QACV,CAAA;AAEAoC,MAAAA,IAAAA,GAAOE,IAAIO,SAAS,CAAA,CAAEN,GAAAA,CAAIE,QAAQ,EAAED,OAAAA,EAAQ;AAC5CH,MAAAA,YAAAA,GAAeC,IAAIG,QAAQ,CAAA,CAAEF,GAAAA,CAAIM,SAAS,EAAEL,OAAAA,EAAQ;AAAA,IACtD;AAEA,IAAA,IAAI,CAACJ,IAAAA,IAAQ,CAACC,YAAAA,EAAc;AAC1B,MAAA,OAAO;AAAA,QAAEjB;AAAAA,OAAU;AAAA,IACrB;AAEA,IAAA,OAAO;AAAA,MACL2B,KAAAA,EAAO;AAAA,QAAEX,IAAAA;AAAAA,QAAMC;AAAAA,OAAa;AAAA,MAC5BjB;AAAAA,KACF;AAAA,EACF,CAAA,EAAG,CACDW,mBAAAA,EACAX,SAAAA,EACAa,SAAAA,EACAzC,SAAAA,CAAUQ,QAAAA,EACVyB,cAAAA,EAAgBJ,KAAAA,EAChBE,OAAAA,EACAK,YAAAA,EAAcP,KAAK,CACpB,CAAA;AACH;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../../_virtual/index.js';
3
- import { useAtomValue, useSetAtom } from 'jotai';
3
+ import { useAtomValue, useSetAtom } from '../store.js';
4
4
  import { setLimitPayAmountAtom } from './state/limitInputActionsAtom.js';
5
5
  import { useLogger } from '../logger.js';
6
6
  import { limitPayInputAmountWeiAtom, limitPayInputAmountAtom } from './state/limitInputAmountAtom.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentLimitInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in Limit form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenFromInputProps.js","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentLimitInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in Limit form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useLimitTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useLimitTokenFrom","amountValue","useAtomValue","limitPayInputAmountAtom","setAmountValue","useSetAtom","setLimitPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillLimitOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentLimitInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithDelta","useEnabledSrcChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useLimitInputClasses","unsupportedChain","useUnsupportedLimitChain","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","limitPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectLimitTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
2
  import { cn } from '../../lib/utils/index.js';
3
- import { useSetAtom } from 'jotai';
3
+ import { useSetAtom } from '../store.js';
4
4
  import { switchLimitTokensAtom } from './state/selectedTokenActionsAtom.js';
5
5
  import { useLimitTokenTo } from './state/selectedTokenAtom.js';
6
6
  import { useUnsupportedLimitChain } from './useLimitNotSupported.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenSwitcherProps.js","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"jotai\";\nimport { switchLimitTokensAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/selectedTokenAtom\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\n\nexport const useLimitTokenSwitcherProps = (): TokenSwitcherProps => {\n const tokenTo = useLimitTokenTo();\n const switchTokens = useSetAtom(switchLimitTokensAtom);\n const unsupportedLimitChain = useUnsupportedLimitChain();\n\n return {\n enableSwitchTokens: !!tokenTo,\n onSwitchTokens: switchTokens,\n classes: {\n root: cn({ \"pointer-events-none\": unsupportedLimitChain }),\n },\n };\n};\n"],"names":["useLimitTokenSwitcherProps","$","_c","tokenTo","useLimitTokenTo","switchTokens","useSetAtom","switchLimitTokensAtom","unsupportedLimitChain","useUnsupportedLimitChain","t0","t1","cn","t2","root","t3","enableSwitchTokens","onSwitchTokens","classes"],"mappings":";;;;;;;AAOO,MAAMA,6BAA6BA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACxC,EAAA,MAAAC,UAAgBC,eAAAA,EAAgB;AAChC,EAAA,MAAAC,YAAAA,GAAqBC,WAAWC,qBAAqB,CAAA;AACrD,EAAA,MAAAC,wBAA8BC,wBAAAA,EAAyB;AAGjC,EAAA,MAAAC,EAAAA,GAAA,CAAC,CAACP,OAAAA;AAAO,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAO,qBAAAA,EAAA;AAGrBG,IAAAA,EAAAA,GAAAC,EAAAA,CAAG;AAAA,MAAA,qBAAA,EAAyBJ;AAAAA,KAAuB,CAAA;AAACP,IAAAA,CAAAA,MAAAO,qBAAAA;AAAAP,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAU,EAAAA,EAAA;AADnDE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,IAAAA,EACDH;AAAAA,KACR;AAACV,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAI,YAAAA,IAAAJ,CAAAA,QAAAS,EAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAY,EAAAA,EAAA;AALIE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,kBAAAA,EACeN,EAAAA;AAAAA,MAASO,cAAAA,EACbZ,YAAAA;AAAAA,MAAYa,OAAAA,EACnBL;AAAAA,KAGX;AAACZ,IAAAA,CAAAA,MAAAI,YAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMc,EAAAA;AAMN;;;;"}
1
+ {"version":3,"file":"useLimitTokenSwitcherProps.js","sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"@/core/store\";\nimport { switchLimitTokensAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/selectedTokenAtom\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\n\nexport const useLimitTokenSwitcherProps = (): TokenSwitcherProps => {\n const tokenTo = useLimitTokenTo();\n const switchTokens = useSetAtom(switchLimitTokensAtom);\n const unsupportedLimitChain = useUnsupportedLimitChain();\n\n return {\n enableSwitchTokens: !!tokenTo,\n onSwitchTokens: switchTokens,\n classes: {\n root: cn({ \"pointer-events-none\": unsupportedLimitChain }),\n },\n };\n};\n"],"names":["useLimitTokenSwitcherProps","$","_c","tokenTo","useLimitTokenTo","switchTokens","useSetAtom","switchLimitTokensAtom","unsupportedLimitChain","useUnsupportedLimitChain","t0","t1","cn","t2","root","t3","enableSwitchTokens","onSwitchTokens","classes"],"mappings":";;;;;;;AAOO,MAAMA,6BAA6BA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACxC,EAAA,MAAAC,UAAgBC,eAAAA,EAAgB;AAChC,EAAA,MAAAC,YAAAA,GAAqBC,WAAWC,qBAAqB,CAAA;AACrD,EAAA,MAAAC,wBAA8BC,wBAAAA,EAAyB;AAGjC,EAAA,MAAAC,EAAAA,GAAA,CAAC,CAACP,OAAAA;AAAO,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAO,qBAAAA,EAAA;AAGrBG,IAAAA,EAAAA,GAAAC,EAAAA,CAAG;AAAA,MAAA,qBAAA,EAAyBJ;AAAAA,KAAuB,CAAA;AAACP,IAAAA,CAAAA,MAAAO,qBAAAA;AAAAP,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAU,EAAAA,EAAA;AADnDE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,IAAAA,EACDH;AAAAA,KACR;AAACV,IAAAA,CAAAA,MAAAU,EAAAA;AAAAV,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAI,YAAAA,IAAAJ,CAAAA,QAAAS,EAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAY,EAAAA,EAAA;AALIE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,kBAAAA,EACeN,EAAAA;AAAAA,MAASO,cAAAA,EACbZ,YAAAA;AAAAA,MAAYa,OAAAA,EACnBL;AAAAA,KAGX;AAACZ,IAAAA,CAAAA,MAAAI,YAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMc,EAAAA;AAMN;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../../_virtual/index.js';
3
- import { useAtomValue, useSetAtom } from 'jotai';
3
+ import { useAtomValue, useSetAtom } from '../store.js';
4
4
  import { limitReceiveInputAmountAtom } from './state/limitInputAmountAtom.js';
5
5
  import { setLimitReceiveAmountAtom } from './state/limitInputActionsAtom.js';
6
6
  import { useLogger } from '../logger.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenToInputProps.js","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/selectedTokenAtom\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n // @TODO change to destChain when implementing Crosschain Delta Limit Orders\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n // @TODO provide all necessary networks and other props when implementing Crosschain Delta Limit Orders\n networks: [appChainId],\n selectedNetwork: appChainId,\n disabled: true,\n hidden: true,\n },\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n return {\n warningMessage: unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useLimitTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","appChainId","useChainId","setCurrentInput","useSetAtom","currentLimitInputAtom","networks","selectedNetwork","disabled","hidden","t3","t4","networkSwitcherProps","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","limitReceiveInputAmountAtom","setReceiveAmount","setLimitReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectLimitTokenToAtom","amount","onTokenSelect","useUnsupportedLimitTokens","tokenFrom","useLimitTokenFrom","address","network","chainId","data","isDestTokenSupported","isDestTokenSupportedLoading","useIsTokenSupportedInDeltaQuery","isSrcTokenSupported","isSrcTokenSupportedLoading","unsupportedTokens","push","isFilledArray","undefined","t5","t6","useWarningMessage","customUnsupportedTokenMessage","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useLimitInputClasses","tokens","length","symbol","tokenSymbols","map","join"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenToInputProps.js","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/selectedTokenAtom\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n // @TODO change to destChain when implementing Crosschain Delta Limit Orders\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n // @TODO provide all necessary networks and other props when implementing Crosschain Delta Limit Orders\n networks: [appChainId],\n selectedNetwork: appChainId,\n disabled: true,\n hidden: true,\n },\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n return {\n warningMessage: unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useLimitTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","appChainId","useChainId","setCurrentInput","useSetAtom","currentLimitInputAtom","networks","selectedNetwork","disabled","hidden","t3","t4","networkSwitcherProps","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","limitReceiveInputAmountAtom","setReceiveAmount","setLimitReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectLimitTokenToAtom","amount","onTokenSelect","useUnsupportedLimitTokens","tokenFrom","useLimitTokenFrom","address","network","chainId","data","isDestTokenSupported","isDestTokenSupportedLoading","useIsTokenSupportedInDeltaQuery","isSrcTokenSupported","isSrcTokenSupportedLoading","unsupportedTokens","push","isFilledArray","undefined","t5","t6","useWarningMessage","customUnsupportedTokenMessage","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useLimitInputClasses","tokens","length","symbol","tokenSymbols","map","join"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { d as distExports } from '../_virtual/index.js';
2
2
  import { createLogger, createNoopLogger } from '../lib/utils/logger.js';
3
3
  import { widgetConfigAtom, useWidgetConfig } from './state/configAtom.js';
4
- import { jotaiStore } from './inputs/state/store.js';
4
+ import { jotaiStore } from './store.js';
5
5
  import 'react';
6
6
 
7
7
  let isDebugOn = jotaiStore.get(widgetConfigAtom).debug;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sources":["../../src/core/logger.ts"],"sourcesContent":["import * as logger from \"@/lib/utils/logger\";\nimport { useWidgetConfig, widgetConfigAtom } from \"./state/configAtom\";\nimport { jotaiStore } from \"./inputs/state/store\";\nimport { useMemo } from \"react\";\n\nconst isDev = import.meta.env.DEV;\n\nlet isDebugOn = jotaiStore.get(widgetConfigAtom).debug;\njotaiStore.sub(widgetConfigAtom, () => {\n const debug = jotaiStore.get(widgetConfigAtom).debug;\n if (debug !== isDebugOn) isDebugOn = debug;\n});\n\n/**\n * Creates a logger instance with consideration for development mode and debug in widget config.\n * To be used outside of React.\n */\nexport const getLogger: logger.CreateLoggerFn = (\n ...args\n): logger.LoggerInstance => {\n return isDev || isDebugOn\n ? logger.createLogger(...args)\n : logger.createNoopLogger(...args);\n};\n\n// creating a hooks like this: `useLogger(...args)` will cause it's result to be created anew on every render,\n// because react-compiler fails to memoize spreded args, probably because spread creates a new array on every render\nexport const useLogger: logger.CreateLoggerFn = (\n context?: string,\n options?: logger.LoggerOptions\n): logger.LoggerInstance => {\n const debug = useWidgetConfig().debug;\n\n const isUsingLogger = isDev || debug;\n return useMemo(() => {\n const opts = {\n color: options?.color,\n showCallSite: options?.showCallSite,\n };\n return isUsingLogger\n ? logger.createLogger(context, opts)\n : logger.createNoopLogger(context, opts);\n }, [context, options?.color, options?.showCallSite, isUsingLogger]);\n};\n"],"names":["isDebugOn","jotaiStore","get","widgetConfigAtom","debug","sub","getLogger","args","logger","createLogger","createNoopLogger","useLogger","context","options","$","_c","useWidgetConfig","isUsingLogger","t0","color","t1","showCallSite","t2","opts"],"mappings":";;;;;;AAOA,IAAIA,SAAAA,GAAYC,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA,CAAEC,KAAAA;AACjDH,UAAAA,CAAWI,GAAAA,CAAIF,kBAAkB,MAAM;AACrC,EAAA,MAAMC,KAAAA,GAAQH,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA,CAAEC,KAAAA;AAC/C,EAAA,IAAIA,KAAAA,KAAUJ,WAAWA,SAAAA,GAAYI,KAAAA;AACvC,CAAC,CAAA;AAMM,MAAME,SAAAA,GAAmCA,IAC3CC,IAAAA,KACuB;AAC1B,EAAA,OAAgBP,SAAAA,GACZQ,YAAOC,CAAa,GAAGF,IAAI,CAAA,GAC3BC,gBAAOE,CAAiB,GAAGH,IAAI,CAAA;AACrC;AAIO,MAAMI,SAAAA,GAAmCA,CAAAC,OAAAA,EAAAC,OAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAI9C,EAAA,MAAAX,KAAAA,GAAcY,iBAAgB,CAACZ,KAAAA;AAE/B,EAAA,MAAAa,gBAAsBb,KAAAA;AAGX,EAAA,MAAAc,KAAAL,OAAAA,EAAOM,KAAAA;AACA,EAAA,MAAAC,KAAAP,OAAAA,EAAOQ,YAAAA;AAAc,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAF,OAAAA,IAAAE,EAAA,CAAA,CAAA,KAAAG,aAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAI,EAAAA,IAAAJ,CAAAA,QAAAM,EAAAA,EAAA;AAFrC,IAAA,MAAAG,IAAAA,GAAa;AAAA,MAAAJ,KAAAA,EACJD,EAAAA;AAAAA,MAAcG,YAAAA,EACPD;AAAAA,KAChB;AACOE,IAAAA,EAAAA,GAAAL,aAAAA,GACHT,YAAMC,CAAcG,OAAAA,EAASW,IACQ,CAAA,GAArCf,gBAAME,CAA+B,CAAA;AAACI,IAAAA,CAAAA,MAAAF,OAAAA;AAAAE,IAAAA,CAAAA,MAAAG,aAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAF1CQ,EAAAA;AAE2C;;;;"}
1
+ {"version":3,"file":"logger.js","sources":["../../src/core/logger.ts"],"sourcesContent":["import * as logger from \"@/lib/utils/logger\";\nimport { useWidgetConfig, widgetConfigAtom } from \"./state/configAtom\";\nimport { jotaiStore } from \"./store\";\nimport { useMemo } from \"react\";\n\nconst isDev = import.meta.env.DEV;\n\nlet isDebugOn = jotaiStore.get(widgetConfigAtom).debug;\njotaiStore.sub(widgetConfigAtom, () => {\n const debug = jotaiStore.get(widgetConfigAtom).debug;\n if (debug !== isDebugOn) isDebugOn = debug;\n});\n\n/**\n * Creates a logger instance with consideration for development mode and debug in widget config.\n * To be used outside of React.\n */\nexport const getLogger: logger.CreateLoggerFn = (\n ...args\n): logger.LoggerInstance => {\n return isDev || isDebugOn\n ? logger.createLogger(...args)\n : logger.createNoopLogger(...args);\n};\n\n// creating a hooks like this: `useLogger(...args)` will cause it's result to be created anew on every render,\n// because react-compiler fails to memoize spreded args, probably because spread creates a new array on every render\nexport const useLogger: logger.CreateLoggerFn = (\n context?: string,\n options?: logger.LoggerOptions\n): logger.LoggerInstance => {\n const debug = useWidgetConfig().debug;\n\n const isUsingLogger = isDev || debug;\n return useMemo(() => {\n const opts = {\n color: options?.color,\n showCallSite: options?.showCallSite,\n };\n return isUsingLogger\n ? logger.createLogger(context, opts)\n : logger.createNoopLogger(context, opts);\n }, [context, options?.color, options?.showCallSite, isUsingLogger]);\n};\n"],"names":["isDebugOn","jotaiStore","get","widgetConfigAtom","debug","sub","getLogger","args","logger","createLogger","createNoopLogger","useLogger","context","options","$","_c","useWidgetConfig","isUsingLogger","t0","color","t1","showCallSite","t2","opts"],"mappings":";;;;;;AAOA,IAAIA,SAAAA,GAAYC,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA,CAAEC,KAAAA;AACjDH,UAAAA,CAAWI,GAAAA,CAAIF,kBAAkB,MAAM;AACrC,EAAA,MAAMC,KAAAA,GAAQH,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA,CAAEC,KAAAA;AAC/C,EAAA,IAAIA,KAAAA,KAAUJ,WAAWA,SAAAA,GAAYI,KAAAA;AACvC,CAAC,CAAA;AAMM,MAAME,SAAAA,GAAmCA,IAC3CC,IAAAA,KACuB;AAC1B,EAAA,OAAgBP,SAAAA,GACZQ,YAAOC,CAAa,GAAGF,IAAI,CAAA,GAC3BC,gBAAOE,CAAiB,GAAGH,IAAI,CAAA;AACrC;AAIO,MAAMI,SAAAA,GAAmCA,CAAAC,OAAAA,EAAAC,OAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAI9C,EAAA,MAAAX,KAAAA,GAAcY,iBAAgB,CAACZ,KAAAA;AAE/B,EAAA,MAAAa,gBAAsBb,KAAAA;AAGX,EAAA,MAAAc,KAAAL,OAAAA,EAAOM,KAAAA;AACA,EAAA,MAAAC,KAAAP,OAAAA,EAAOQ,YAAAA;AAAc,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAF,OAAAA,IAAAE,EAAA,CAAA,CAAA,KAAAG,aAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAI,EAAAA,IAAAJ,CAAAA,QAAAM,EAAAA,EAAA;AAFrC,IAAA,MAAAG,IAAAA,GAAa;AAAA,MAAAJ,KAAAA,EACJD,EAAAA;AAAAA,MAAcG,YAAAA,EACPD;AAAAA,KAChB;AACOE,IAAAA,EAAAA,GAAAL,aAAAA,GACHT,YAAMC,CAAcG,OAAAA,EAASW,IACQ,CAAA,GAArCf,gBAAME,CAA+B,CAAA;AAACI,IAAAA,CAAAA,MAAAF,OAAAA;AAAAE,IAAAA,CAAAA,MAAAG,aAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAF1CQ,EAAAA;AAE2C;;;;"}
@@ -1,4 +1,4 @@
1
- export declare const currentOtcInputAtom: import('jotai').PrimitiveAtom<"from" | "to" | "otc"> & {
2
- init: "from" | "to" | "otc";
1
+ export declare const currentOtcInputAtom: import('jotai').PrimitiveAtom<"otc" | "from" | "to"> & {
2
+ init: "otc" | "from" | "to";
3
3
  };
4
4
  //# sourceMappingURL=currentOtcInputAtom.d.ts.map
@@ -1,11 +1,6 @@
1
- import { TimeUnitState } from '../../limit/state/deadlineAtom';
2
- import { SetStateAction } from 'jotai';
3
- export declare const timeUnitAtom: import('jotai').WritableAtom<TimeUnitState, [SetStateAction<{
4
- label: import('../../limit/state/deadlineAtom').TimeUnit;
5
- value: number;
6
- timestamp?: number | undefined;
7
- }>], void> & {
8
- init: TimeUnitState;
1
+ import { TimeUnitObject } from '../../limit/state/deadlineAtom';
2
+ export declare const timeUnitAtom: import('jotai').PrimitiveAtom<TimeUnitObject> & {
3
+ init: TimeUnitObject;
9
4
  };
10
5
  export declare const deadlineAtom: import('jotai').Atom<number>;
11
6
  export declare const useOtcDeadline: () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"deadlineAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAGhE,eAAO,MAAM,YAAY;;;;;;CAyBvB,CAAC;AAEH,eAAO,MAAM,YAAY,8BAA6C,CAAC;AAEvE,eAAO,MAAM,cAAc,cAE1B,CAAC"}
1
+ {"version":3,"file":"deadlineAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAKtE,eAAO,MAAM,YAAY;;CAAwC,CAAC;AAElE,eAAO,MAAM,YAAY,8BAYvB,CAAC;AAEH,eAAO,MAAM,cAAc,cAE1B,CAAC"}
@@ -1,22 +1,17 @@
1
- import { defaultTimeUnit, minTimeUnit } from '../../limit/state/constants.js';
2
- import { getTimeUnitState } from '../../limit/state/utils.js';
3
- import { atom, useAtomValue } from 'jotai';
1
+ import { defaultTimeUnit, neverTimeUnit, minTimeUnit } from '../../limit/state/constants.js';
2
+ import { timeUnitToSeconds } from '../../limit/state/utils.js';
3
+ import { atom } from 'jotai';
4
+ import { useAtomValue } from '../../store.js';
4
5
 
5
- const timeUnitAtom = atom(getTimeUnitState(defaultTimeUnit), (get, set, _newState) => {
6
- const newState = typeof _newState === "function" ? _newState(get(timeUnitAtom)) : _newState;
7
- let stateToSet = getTimeUnitState(newState);
8
- const minTimeUnitState = getTimeUnitState(minTimeUnit);
9
- const isTimestampInvalid = (
10
- // OTC can have 0 deadline
11
- stateToSet.timestamp > 0 && stateToSet.timestamp < minTimeUnitState.timestamp
12
- );
13
- const isUnitInvalid = stateToSet.label === minTimeUnit.label && stateToSet.value < minTimeUnitState.value;
14
- if (isTimestampInvalid || isUnitInvalid) {
15
- stateToSet = minTimeUnitState;
6
+ const timeUnitAtom = atom(defaultTimeUnit);
7
+ const deadlineAtom = atom((get) => {
8
+ let timeUnit = get(timeUnitAtom);
9
+ if (timeUnit.label === neverTimeUnit.label) return 0;
10
+ if (timeUnit.label === minTimeUnit.label && timeUnit.value < minTimeUnit.value) {
11
+ timeUnit = minTimeUnit;
16
12
  }
17
- set(timeUnitAtom, stateToSet);
13
+ return Math.floor(Date.now() / 1e3 + timeUnitToSeconds(timeUnit));
18
14
  });
19
- const deadlineAtom = atom((get) => get(timeUnitAtom).timestamp);
20
15
  const useOtcDeadline = () => {
21
16
  return useAtomValue(deadlineAtom);
22
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"deadlineAtom.js","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"sourcesContent":["import { defaultTimeUnit, minTimeUnit } from \"@/core/limit/state/constants\";\nimport type { TimeUnitState } from \"@/core/limit/state/deadlineAtom\";\nimport { getTimeUnitState } from \"@/core/limit/state/utils\";\nimport { atom, useAtomValue, type SetStateAction } from \"jotai\";\nimport type { MarkOptional } from \"ts-essentials\";\n\nexport const timeUnitAtom = atom<\n TimeUnitState,\n [SetStateAction<MarkOptional<TimeUnitState, \"timestamp\">>],\n void\n>(getTimeUnitState(defaultTimeUnit), (get, set, _newState) => {\n const newState =\n typeof _newState === \"function\" ? _newState(get(timeUnitAtom)) : _newState;\n\n let stateToSet = getTimeUnitState(newState);\n\n const minTimeUnitState = getTimeUnitState(minTimeUnit);\n\n const isTimestampInvalid =\n // OTC can have 0 deadline\n stateToSet.timestamp > 0 &&\n stateToSet.timestamp < minTimeUnitState.timestamp;\n const isUnitInvalid =\n stateToSet.label === minTimeUnit.label &&\n stateToSet.value < minTimeUnitState.value;\n\n if (isTimestampInvalid || isUnitInvalid) {\n stateToSet = minTimeUnitState;\n }\n\n set(timeUnitAtom, stateToSet);\n});\n\nexport const deadlineAtom = atom((get) => get(timeUnitAtom).timestamp);\n\nexport const useOtcDeadline = () => {\n return useAtomValue(deadlineAtom);\n};\n"],"names":["timeUnitAtom","atom","getTimeUnitState","defaultTimeUnit","get","set","_newState","newState","stateToSet","minTimeUnitState","minTimeUnit","isTimestampInvalid","timestamp","isUnitInvalid","label","value","deadlineAtom","useOtcDeadline","useAtomValue"],"mappings":";;;;AAMO,MAAMA,YAAAA,GAAeC,KAI1BC,gBAAAA,CAAiBC,eAAe,GAAG,CAACC,GAAAA,EAAKC,KAAKC,SAAAA,KAAc;AAC5D,EAAA,MAAMC,QAAAA,GACJ,OAAOD,SAAAA,KAAc,UAAA,GAAaA,UAAUF,GAAAA,CAAIJ,YAAY,CAAC,CAAA,GAAIM,SAAAA;AAEnE,EAAA,IAAIE,UAAAA,GAAaN,iBAAiBK,QAAQ,CAAA;AAE1C,EAAA,MAAME,gBAAAA,GAAmBP,iBAAiBQ,WAAW,CAAA;AAErD,EAAA,MAAMC,kBAAAA;AAAAA;AAAAA,IAEJH,UAAAA,CAAWI,SAAAA,GAAY,CAAA,IACvBJ,UAAAA,CAAWI,YAAYH,gBAAAA,CAAiBG;AAAAA,GAAAA;AAC1C,EAAA,MAAMC,gBACJL,UAAAA,CAAWM,KAAAA,KAAUJ,YAAYI,KAAAA,IACjCN,UAAAA,CAAWO,QAAQN,gBAAAA,CAAiBM,KAAAA;AAEtC,EAAA,IAAIJ,sBAAsBE,aAAAA,EAAe;AACvCL,IAAAA,UAAAA,GAAaC,gBAAAA;AAAAA,EACf;AAEAJ,EAAAA,GAAAA,CAAIL,cAAcQ,UAAU,CAAA;AAC9B,CAAC;AAEM,MAAMQ,eAAef,IAAAA,CAAMG,CAAAA,GAAAA,KAAQA,GAAAA,CAAIJ,YAAY,EAAEY,SAAS;AAE9D,MAAMK,iBAAiBA,MAAA;AAAA,EAAA,OACrBC,aAAaF,YAAY,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"deadlineAtom.js","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"sourcesContent":["import {\n minTimeUnit,\n neverTimeUnit,\n defaultTimeUnit,\n} from \"@/core/limit/state/constants\";\nimport type { TimeUnitObject } from \"@/core/limit/state/deadlineAtom\";\nimport { timeUnitToSeconds } from \"@/core/limit/state/utils\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const timeUnitAtom = atom<TimeUnitObject>(defaultTimeUnit);\n\nexport const deadlineAtom = atom((get) => {\n let timeUnit = get(timeUnitAtom);\n if (timeUnit.label === neverTimeUnit.label) return 0;\n\n if (\n timeUnit.label === minTimeUnit.label &&\n timeUnit.value < minTimeUnit.value\n ) {\n timeUnit = minTimeUnit;\n }\n\n return Math.floor(Date.now() / 1000 + timeUnitToSeconds(timeUnit));\n});\n\nexport const useOtcDeadline = () => {\n return useAtomValue(deadlineAtom);\n};\n"],"names":["timeUnitAtom","atom","defaultTimeUnit","deadlineAtom","get","timeUnit","label","neverTimeUnit","minTimeUnit","value","Math","floor","Date","now","timeUnitToSeconds","useOtcDeadline","useAtomValue"],"mappings":";;;;;AAUO,MAAMA,YAAAA,GAAeC,KAAqBC,eAAe;AAEzD,MAAMC,YAAAA,GAAeF,KAAMG,CAAAA,GAAAA,KAAQ;AACxC,EAAA,IAAIC,QAAAA,GAAWD,IAAIJ,YAAY,CAAA;AAC/B,EAAA,IAAIK,QAAAA,CAASC,KAAAA,KAAUC,aAAAA,CAAcD,KAAAA,EAAO,OAAO,CAAA;AAEnD,EAAA,IACED,SAASC,KAAAA,KAAUE,WAAAA,CAAYF,SAC/BD,QAAAA,CAASI,KAAAA,GAAQD,YAAYC,KAAAA,EAC7B;AACAJ,IAAAA,QAAAA,GAAWG,WAAAA;AAAAA,EACb;AAEA,EAAA,OAAOE,IAAAA,CAAKC,MAAMC,IAAAA,CAAKC,GAAAA,KAAQ,GAAA,GAAOC,iBAAAA,CAAkBT,QAAQ,CAAC,CAAA;AACnE,CAAC;AAEM,MAAMU,iBAAiBA,MAAA;AAAA,EAAA,OACrBC,aAAab,YAAY,CAAA;AAAC;;;;"}
@@ -5,15 +5,12 @@ export declare const setOtcPriceRatesAtom: import('jotai').WritableAtom<null, [p
5
5
  export declare const setOtcPayAmountAtom: import('jotai').WritableAtom<null, [payAmount: string], void> & {
6
6
  init: null;
7
7
  };
8
- export declare const setOtcPayAmountAtomFromProps: import('jotai').WritableAtom<null, [amount: string], void> & {
8
+ export declare const setOtcAmountAtomFromProps: import('jotai').WritableAtom<null, [amount: string], void> & {
9
9
  init: null;
10
10
  };
11
11
  export declare const setOtcReceiveAmountAtom: import('jotai').WritableAtom<null, [receiveAmount: string], void> & {
12
12
  init: null;
13
13
  };
14
- export declare const setOtcReceiveAmountAtomFromProps: import('jotai').WritableAtom<null, [amount: string], void> & {
15
- init: null;
16
- };
17
14
  export declare const resetOtcPriceAtom: import('jotai').WritableAtom<null, [priceRates?: PriceRates | undefined], void> & {
18
15
  init: null;
19
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"otcInputActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/otcInputActionsAtom.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,eAAO,MAAM,oBAAoB;;CAwBhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;CAsB9B,CAAC;AAEH,eAAO,MAAM,4BAA4B;;CAMxC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;CA2BnC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;CAM5C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;CAiB7B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;CAE7B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;CAGjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;CAGpC,CAAC"}
1
+ {"version":3,"file":"otcInputActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/otcInputActionsAtom.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,eAAO,MAAM,oBAAoB;;CAwBhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;CAsB9B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;CAMrC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;CA2BnC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;CAiB7B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;CAE7B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;CAGjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;CAGpC,CAAC"}
@@ -30,7 +30,7 @@ const setOtcPayAmountAtom = atom(null, (get, set, payAmount) => {
30
30
  const newReceiveAmount = calculateReceiveAmount(payAmount, priceRates, isReversed);
31
31
  set(setOtcReceiveAmountAtom, newReceiveAmount);
32
32
  });
33
- const setOtcPayAmountAtomFromProps = atom(null, (_, set, amount) => {
33
+ const setOtcAmountAtomFromProps = atom(null, (_, set, amount) => {
34
34
  set(currentOtcInputAtom, "from");
35
35
  set(setOtcPayAmountAtom, amount);
36
36
  });
@@ -49,10 +49,6 @@ const setOtcReceiveAmountAtom = atom(null, (get, set, receiveAmount) => {
49
49
  set(setOtcPriceRatesAtom, updatedRates, false);
50
50
  }
51
51
  });
52
- const setOtcReceiveAmountAtomFromProps = atom(null, (_, set, amount) => {
53
- set(currentOtcInputAtom, "to");
54
- set(setOtcReceiveAmountAtom, amount);
55
- });
56
52
  const resetOtcPriceAtom = atom(null, (get, set, priceRates = zeroRates) => {
57
53
  const isLocked = get(isOtcPriceLockedAtom);
58
54
  if (isLocked) return;
@@ -74,5 +70,5 @@ const toggleOtcPriceReverseAtom = atom(null, (get, set) => {
74
70
  set(isOtcPriceReversedAtom, !isReversed);
75
71
  });
76
72
 
77
- export { resetOtcPriceAtom, setOtcPayAmountAtom, setOtcPayAmountAtomFromProps, setOtcPriceRatesAtom, setOtcReceiveAmountAtom, setOtcReceiveAmountAtomFromProps, toggleOtcPriceLockAtom, toggleOtcPriceReverseAtom, unlockOtcPriceAtom };
73
+ export { resetOtcPriceAtom, setOtcAmountAtomFromProps, setOtcPayAmountAtom, setOtcPriceRatesAtom, setOtcReceiveAmountAtom, toggleOtcPriceLockAtom, toggleOtcPriceReverseAtom, unlockOtcPriceAtom };
78
74
  //# sourceMappingURL=otcInputActionsAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"otcInputActionsAtom.js","sources":["../../../../src/core/otc/state/otcInputActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n otcPayInputAmountAtom,\n otcReceiveInputAmountAtom,\n otcPriceAmountAtom,\n otcPriceRatesAtom,\n} from \"./otcInputAmountAtom\";\nimport { isOtcPriceLockedAtom } from \"./isOtcPriceLockedAtom\";\nimport Big from \"big.js\";\nimport { currentOtcInputAtom } from \"./currentOtcInputAtom\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\nimport {\n calculateReceiveAmount,\n calculatePayAmount,\n calculateRates,\n} from \"@/core/limit/state/utils\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\n\nexport const setOtcPriceRatesAtom = atom(\n null,\n (get, set, priceRates: PriceRates, recalculateReceive = true) => {\n const isLocked = get(isOtcPriceLockedAtom);\n // ignore updates if price is locked\n if (isLocked) return;\n\n set(otcPriceRatesAtom, priceRates);\n\n const payAmount = get(otcPayInputAmountAtom);\n const payGtZero = Big(payAmount || \"0\").gt(0);\n\n // ignore updates if pay amount is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (recalculateReceive && payGtZero) {\n const isReversed = get(isOtcPriceReversedAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n }\n);\n\nexport const setOtcPayAmountAtom = atom(null, (get, set, payAmount: string) => {\n set(otcPayInputAmountAtom, payAmount);\n\n // ignore updates that did not come from pay input\n if (get(currentOtcInputAtom) !== \"from\") return;\n\n const priceRates = get(otcPriceRatesAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n const otcPriceAmount = get(otcPriceAmountAtom);\n const otcPriceGtZero = Big(otcPriceAmount || \"0\").gt(0);\n // ignore updates if otc price is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (!otcPriceGtZero) return;\n\n // update receive amount\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n});\n\nexport const setOtcPayAmountAtomFromProps = atom(\n null,\n (_, set, amount: string) => {\n set(currentOtcInputAtom, \"from\"); // unblock pay -> receive sync if it was previously blocked\n set(setOtcPayAmountAtom, amount);\n }\n);\n\nexport const setOtcReceiveAmountAtom = atom(\n null,\n (get, set, receiveAmount: string) => {\n set(otcReceiveInputAmountAtom, receiveAmount);\n\n // ignore updates that did not come from receive input\n if (get(currentOtcInputAtom) !== \"to\") return;\n\n const isLocked = get(isOtcPriceLockedAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n if (isLocked) {\n // update pay amount if price is locked\n const priceRates = get(otcPriceRatesAtom);\n const newPayAmount = calculatePayAmount(\n receiveAmount,\n priceRates,\n isReversed\n );\n set(setOtcPayAmountAtom, newPayAmount);\n } else {\n // update otc price otherwise\n const payAmount = get(otcPayInputAmountAtom);\n const updatedRates = calculateRates(receiveAmount, payAmount);\n set(setOtcPriceRatesAtom, updatedRates, false);\n }\n }\n);\n\nexport const setOtcReceiveAmountAtomFromProps = atom(\n null,\n (_, set, amount: string) => {\n set(currentOtcInputAtom, \"to\"); // unblock receive -> pay sync if it was previously blocked\n set(setOtcReceiveAmountAtom, amount);\n }\n);\n\nexport const resetOtcPriceAtom = atom(\n null,\n (get, set, priceRates: PriceRates = zeroRates) => {\n const isLocked = get(isOtcPriceLockedAtom);\n if (isLocked) return;\n\n set(setOtcPriceRatesAtom, priceRates);\n\n const isReversed = get(isOtcPriceReversedAtom);\n const payAmount = get(otcPayInputAmountAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n);\n\nexport const unlockOtcPriceAtom = atom(null, (_, set) => {\n set(isOtcPriceLockedAtom, false);\n});\n\nexport const toggleOtcPriceLockAtom = atom(null, (get, set) => {\n const isLocked = get(isOtcPriceLockedAtom);\n set(isOtcPriceLockedAtom, !isLocked);\n});\n\nexport const toggleOtcPriceReverseAtom = atom(null, (get, set) => {\n const isReversed = get(isOtcPriceReversedAtom);\n set(isOtcPriceReversedAtom, !isReversed);\n});\n"],"names":["setOtcPriceRatesAtom","atom","get","set","priceRates","recalculateReceive","isLocked","isOtcPriceLockedAtom","otcPriceRatesAtom","payAmount","otcPayInputAmountAtom","payGtZero","Big","gt","isReversed","isOtcPriceReversedAtom","newReceiveAmount","calculateReceiveAmount","setOtcReceiveAmountAtom","setOtcPayAmountAtom","currentOtcInputAtom","otcPriceAmount","otcPriceAmountAtom","otcPriceGtZero","setOtcPayAmountAtomFromProps","_","amount","receiveAmount","otcReceiveInputAmountAtom","newPayAmount","calculatePayAmount","updatedRates","calculateRates","setOtcReceiveAmountAtomFromProps","resetOtcPriceAtom","zeroRates","unlockOtcPriceAtom","toggleOtcPriceLockAtom","toggleOtcPriceReverseAtom"],"mappings":";;;;;;;;;AAmBO,MAAMA,oBAAAA,GAAuBC,KAClC,IAAA,EACA,CAACC,KAAKC,GAAAA,EAAKC,UAAAA,EAAwBC,qBAAqB,IAAA,KAAS;AAC/D,EAAA,MAAMC,QAAAA,GAAWJ,IAAIK,oBAAoB,CAAA;AAEzC,EAAA,IAAID,QAAAA,EAAU;AAEdH,EAAAA,GAAAA,CAAIK,mBAAmBJ,UAAU,CAAA;AAEjC,EAAA,MAAMK,SAAAA,GAAYP,IAAIQ,qBAAqB,CAAA;AAC3C,EAAA,MAAMC,YAAYC,GAAAA,CAAIH,SAAAA,IAAa,GAAG,CAAA,CAAEI,GAAG,CAAC,CAAA;AAI5C,EAAA,IAAIR,sBAAsBM,SAAAA,EAAW;AACnC,IAAA,MAAMG,UAAAA,GAAaZ,IAAIa,sBAAsB,CAAA;AAC7C,IAAA,MAAMC,gBAAAA,GAAmBC,sBAAAA,CACvBR,SAAAA,EACAL,UAAAA,EACAU,UACF,CAAA;AACAX,IAAAA,GAAAA,CAAIe,yBAAyBF,gBAAgB,CAAA;AAAA,EAC/C;AACF,CACF;AAEO,MAAMG,sBAAsBlB,IAAAA,CAAK,IAAA,EAAM,CAACC,GAAAA,EAAKC,KAAKM,SAAAA,KAAsB;AAC7EN,EAAAA,GAAAA,CAAIO,uBAAuBD,SAAS,CAAA;AAGpC,EAAA,IAAIP,GAAAA,CAAIkB,mBAAmB,CAAA,KAAM,MAAA,EAAQ;AAEzC,EAAA,MAAMhB,UAAAA,GAAaF,IAAIM,iBAAiB,CAAA;AACxC,EAAA,MAAMM,UAAAA,GAAaZ,IAAIa,sBAAsB,CAAA;AAE7C,EAAA,MAAMM,cAAAA,GAAiBnB,IAAIoB,kBAAkB,CAAA;AAC7C,EAAA,MAAMC,iBAAiBX,GAAAA,CAAIS,cAAAA,IAAkB,GAAG,CAAA,CAAER,GAAG,CAAC,CAAA;AAGtD,EAAA,IAAI,CAACU,cAAAA,EAAgB;AAGrB,EAAA,MAAMP,gBAAAA,GAAmBC,sBAAAA,CACvBR,SAAAA,EACAL,UAAAA,EACAU,UACF,CAAA;AACAX,EAAAA,GAAAA,CAAIe,yBAAyBF,gBAAgB,CAAA;AAC/C,CAAC;AAEM,MAAMQ,+BAA+BvB,IAAAA,CAC1C,IAAA,EACA,CAACwB,CAAAA,EAAGtB,KAAKuB,MAAAA,KAAmB;AAC1BvB,EAAAA,GAAAA,CAAIiB,qBAAqB,MAAM,CAAA;AAC/BjB,EAAAA,GAAAA,CAAIgB,qBAAqBO,MAAM,CAAA;AACjC,CACF;AAEO,MAAMR,0BAA0BjB,IAAAA,CACrC,IAAA,EACA,CAACC,GAAAA,EAAKC,KAAKwB,aAAAA,KAA0B;AACnCxB,EAAAA,GAAAA,CAAIyB,2BAA2BD,aAAa,CAAA;AAG5C,EAAA,IAAIzB,GAAAA,CAAIkB,mBAAmB,CAAA,KAAM,IAAA,EAAM;AAEvC,EAAA,MAAMd,QAAAA,GAAWJ,IAAIK,oBAAoB,CAAA;AACzC,EAAA,MAAMO,UAAAA,GAAaZ,IAAIa,sBAAsB,CAAA;AAE7C,EAAA,IAAIT,QAAAA,EAAU;AAEZ,IAAA,MAAMF,UAAAA,GAAaF,IAAIM,iBAAiB,CAAA;AACxC,IAAA,MAAMqB,YAAAA,GAAeC,kBAAAA,CACnBH,aAAAA,EACAvB,UAAAA,EACAU,UACF,CAAA;AACAX,IAAAA,GAAAA,CAAIgB,qBAAqBU,YAAY,CAAA;AAAA,EACvC,CAAA,MAAO;AAEL,IAAA,MAAMpB,SAAAA,GAAYP,IAAIQ,qBAAqB,CAAA;AAC3C,IAAA,MAAMqB,YAAAA,GAAeC,cAAAA,CAAeL,aAAAA,EAAelB,SAAS,CAAA;AAC5DN,IAAAA,GAAAA,CAAIH,oBAAAA,EAAsB+B,cAAc,KAAK,CAAA;AAAA,EAC/C;AACF,CACF;AAEO,MAAME,mCAAmChC,IAAAA,CAC9C,IAAA,EACA,CAACwB,CAAAA,EAAGtB,KAAKuB,MAAAA,KAAmB;AAC1BvB,EAAAA,GAAAA,CAAIiB,qBAAqB,IAAI,CAAA;AAC7BjB,EAAAA,GAAAA,CAAIe,yBAAyBQ,MAAM,CAAA;AACrC,CACF;AAEO,MAAMQ,oBAAoBjC,IAAAA,CAC/B,IAAA,EACA,CAACC,GAAAA,EAAKC,GAAAA,EAAKC,aAAyB+B,SAAAA,KAAc;AAChD,EAAA,MAAM7B,QAAAA,GAAWJ,IAAIK,oBAAoB,CAAA;AACzC,EAAA,IAAID,QAAAA,EAAU;AAEdH,EAAAA,GAAAA,CAAIH,sBAAsBI,UAAU,CAAA;AAEpC,EAAA,MAAMU,UAAAA,GAAaZ,IAAIa,sBAAsB,CAAA;AAC7C,EAAA,MAAMN,SAAAA,GAAYP,IAAIQ,qBAAqB,CAAA;AAC3C,EAAA,MAAMM,gBAAAA,GAAmBC,sBAAAA,CACvBR,SAAAA,EACAL,UAAAA,EACAU,UACF,CAAA;AACAX,EAAAA,GAAAA,CAAIe,yBAAyBF,gBAAgB,CAAA;AAC/C,CACF;AAEO,MAAMoB,kBAAAA,GAAqBnC,IAAAA,CAAK,IAAA,EAAM,CAACwB,GAAGtB,GAAAA,KAAQ;AACvDA,EAAAA,GAAAA,CAAII,sBAAsB,KAAK,CAAA;AACjC,CAAC;AAEM,MAAM8B,sBAAAA,GAAyBpC,IAAAA,CAAK,IAAA,EAAM,CAACC,KAAKC,GAAAA,KAAQ;AAC7D,EAAA,MAAMG,QAAAA,GAAWJ,IAAIK,oBAAoB,CAAA;AACzCJ,EAAAA,GAAAA,CAAII,oBAAAA,EAAsB,CAACD,QAAQ,CAAA;AACrC,CAAC;AAEM,MAAMgC,yBAAAA,GAA4BrC,IAAAA,CAAK,IAAA,EAAM,CAACC,KAAKC,GAAAA,KAAQ;AAChE,EAAA,MAAMW,UAAAA,GAAaZ,IAAIa,sBAAsB,CAAA;AAC7CZ,EAAAA,GAAAA,CAAIY,sBAAAA,EAAwB,CAACD,UAAU,CAAA;AACzC,CAAC;;;;"}
1
+ {"version":3,"file":"otcInputActionsAtom.js","sources":["../../../../src/core/otc/state/otcInputActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n otcPayInputAmountAtom,\n otcReceiveInputAmountAtom,\n otcPriceAmountAtom,\n otcPriceRatesAtom,\n} from \"./otcInputAmountAtom\";\nimport { isOtcPriceLockedAtom } from \"./isOtcPriceLockedAtom\";\nimport Big from \"big.js\";\nimport { currentOtcInputAtom } from \"./currentOtcInputAtom\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\nimport {\n calculateReceiveAmount,\n calculatePayAmount,\n calculateRates,\n} from \"@/core/limit/state/utils\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\n\nexport const setOtcPriceRatesAtom = atom(\n null,\n (get, set, priceRates: PriceRates, recalculateReceive = true) => {\n const isLocked = get(isOtcPriceLockedAtom);\n // ignore updates if price is locked\n if (isLocked) return;\n\n set(otcPriceRatesAtom, priceRates);\n\n const payAmount = get(otcPayInputAmountAtom);\n const payGtZero = Big(payAmount || \"0\").gt(0);\n\n // ignore updates if pay amount is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (recalculateReceive && payGtZero) {\n const isReversed = get(isOtcPriceReversedAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n }\n);\n\nexport const setOtcPayAmountAtom = atom(null, (get, set, payAmount: string) => {\n set(otcPayInputAmountAtom, payAmount);\n\n // ignore updates that did not come from pay input\n if (get(currentOtcInputAtom) !== \"from\") return;\n\n const priceRates = get(otcPriceRatesAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n const otcPriceAmount = get(otcPriceAmountAtom);\n const otcPriceGtZero = Big(otcPriceAmount || \"0\").gt(0);\n // ignore updates if otc price is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (!otcPriceGtZero) return;\n\n // update receive amount\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n});\n\nexport const setOtcAmountAtomFromProps = atom(\n null,\n (_, set, amount: string) => {\n set(currentOtcInputAtom, \"from\"); // unblock pay -> receive sync if it was previously blocked\n set(setOtcPayAmountAtom, amount);\n }\n);\n\nexport const setOtcReceiveAmountAtom = atom(\n null,\n (get, set, receiveAmount: string) => {\n set(otcReceiveInputAmountAtom, receiveAmount);\n\n // ignore updates that did not come from receive input\n if (get(currentOtcInputAtom) !== \"to\") return;\n\n const isLocked = get(isOtcPriceLockedAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n if (isLocked) {\n // update pay amount if price is locked\n const priceRates = get(otcPriceRatesAtom);\n const newPayAmount = calculatePayAmount(\n receiveAmount,\n priceRates,\n isReversed\n );\n set(setOtcPayAmountAtom, newPayAmount);\n } else {\n // update otc price otherwise\n const payAmount = get(otcPayInputAmountAtom);\n const updatedRates = calculateRates(receiveAmount, payAmount);\n set(setOtcPriceRatesAtom, updatedRates, false);\n }\n }\n);\n\nexport const resetOtcPriceAtom = atom(\n null,\n (get, set, priceRates: PriceRates = zeroRates) => {\n const isLocked = get(isOtcPriceLockedAtom);\n if (isLocked) return;\n\n set(setOtcPriceRatesAtom, priceRates);\n\n const isReversed = get(isOtcPriceReversedAtom);\n const payAmount = get(otcPayInputAmountAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n);\n\nexport const unlockOtcPriceAtom = atom(null, (_, set) => {\n set(isOtcPriceLockedAtom, false);\n});\n\nexport const toggleOtcPriceLockAtom = atom(null, (get, set) => {\n const isLocked = get(isOtcPriceLockedAtom);\n set(isOtcPriceLockedAtom, !isLocked);\n});\n\nexport const toggleOtcPriceReverseAtom = atom(null, (get, set) => {\n const isReversed = get(isOtcPriceReversedAtom);\n set(isOtcPriceReversedAtom, !isReversed);\n});\n"],"names":["setOtcPriceRatesAtom","atom","get","set","priceRates","recalculateReceive","isLocked","isOtcPriceLockedAtom","otcPriceRatesAtom","payAmount","otcPayInputAmountAtom","payGtZero","Big","gt","isReversed","isOtcPriceReversedAtom","newReceiveAmount","calculateReceiveAmount","setOtcReceiveAmountAtom","setOtcPayAmountAtom","currentOtcInputAtom","otcPriceAmount","otcPriceAmountAtom","otcPriceGtZero","setOtcAmountAtomFromProps","_","amount","receiveAmount","otcReceiveInputAmountAtom","newPayAmount","calculatePayAmount","updatedRates","calculateRates","resetOtcPriceAtom","zeroRates","unlockOtcPriceAtom","toggleOtcPriceLockAtom","toggleOtcPriceReverseAtom"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"receiverAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/receiverAddressAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAKhG,eAAO,MAAM,sBAAsB;;CAA8B,CAAC;AAElE,eAAO,MAAM,qBAAqB,QAAO,wBAKxC,CAAC;AAEF,eAAO,MAAM,0BAA0B,iCAEtC,CAAC"}
1
+ {"version":3,"file":"receiverAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/receiverAddressAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAMhG,eAAO,MAAM,sBAAsB;;CAA8B,CAAC;AAElE,eAAO,MAAM,qBAAqB,QAAO,wBAKxC,CAAC;AAEF,eAAO,MAAM,0BAA0B,iCAEtC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { shortenAddress } from '../../../lib/utils/index.js';
3
- import { atom, useAtom, useAtomValue } from 'jotai';
3
+ import { atom } from 'jotai';
4
+ import { useAtomValue, useAtom } from '../../store.js';
4
5
 
5
6
  const otcReceiverAddressAtom = atom();
6
7
  const useOtcReceiverAddress = () => {