@velora-dex/widget 0.4.14-dev.4 → 0.5.0

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 (627) hide show
  1. package/dist/components/ui/button.d.ts +1 -1
  2. package/dist/components/ui/button.d.ts.map +1 -1
  3. package/dist/components/ui/button.js +0 -1
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/web3/ConnectWallets/walletFlags.d.ts +90 -0
  6. package/dist/components/web3/ConnectWallets/walletFlags.d.ts.map +1 -0
  7. package/dist/components/web3/ConnectWallets/walletFlags.js +104 -0
  8. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -0
  9. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +4 -1
  10. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  11. package/dist/components/web3/ConnectWallets/walletIcons.js +23 -3
  12. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  13. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  14. package/dist/components/widget/AppHeader/Activities/Drawers.js +24 -14
  15. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  16. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  17. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  18. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  19. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  20. package/dist/components/widget/AppHeader/Activities/utils.js +1 -2
  21. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  22. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  23. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +1 -2
  24. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  25. package/dist/components/widget/Button/CancelButton/CancelButton.js +44 -40
  26. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  27. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.d.ts +15 -0
  28. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.d.ts.map +1 -0
  29. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js +66 -0
  30. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -0
  31. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  32. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +26 -44
  33. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  34. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +5 -2
  35. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  36. package/dist/components/widget/Drawer/state/useDrawerControls.js +75 -2
  37. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  38. package/dist/components/widget/Duration/Duration.d.ts +1 -1
  39. package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
  40. package/dist/components/widget/Duration/Duration.js +4 -1
  41. package/dist/components/widget/Duration/Duration.js.map +1 -1
  42. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
  43. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +85 -49
  44. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  45. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +1 -2
  46. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  47. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +7 -9
  48. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  49. package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
  50. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  51. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
  52. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  53. package/dist/components/widget/LimitOrderItem/utils.js +9 -25
  54. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  55. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.d.ts.map +1 -1
  56. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +33 -22
  57. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  58. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  59. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +4 -8
  60. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  61. package/dist/components/widget/SwapRate/SwapRate.d.ts +1 -2
  62. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  63. package/dist/components/widget/SwapRate/SwapRate.js +20 -29
  64. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  65. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.d.ts +7 -0
  66. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.d.ts.map +1 -0
  67. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js +84 -0
  68. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -0
  69. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.d.ts +12 -0
  70. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.d.ts.map +1 -0
  71. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js +227 -0
  72. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -0
  73. package/dist/components/widget/TradeOverview/CancelOrder/constants.d.ts +8 -0
  74. package/dist/components/widget/TradeOverview/CancelOrder/constants.d.ts.map +1 -0
  75. package/dist/components/widget/TradeOverview/CancelOrder/constants.js +20 -0
  76. package/dist/components/widget/TradeOverview/CancelOrder/constants.js.map +1 -0
  77. package/dist/components/widget/TradeOverview/CancelOrder/utils.d.ts +12 -0
  78. package/dist/components/widget/TradeOverview/CancelOrder/utils.d.ts.map +1 -0
  79. package/dist/components/widget/TradeOverview/CancelOrder/utils.js +49 -0
  80. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -0
  81. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  82. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +86 -77
  83. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  84. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
  85. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  86. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +38 -28
  87. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  88. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
  89. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +16 -18
  90. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  91. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.d.ts +2 -1
  92. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.d.ts.map +1 -1
  93. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +102 -70
  94. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  95. package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
  96. package/dist/components/widget/TradeOverview/TradeComplete/constants.js +1 -2
  97. package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
  98. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  99. package/dist/components/widget/TradeOverview/TradeComplete/index.js +21 -14
  100. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  101. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  102. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +72 -105
  103. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  104. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  105. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +11 -46
  106. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  107. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts +2 -1
  108. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts.map +1 -1
  109. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js +66 -24
  110. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  111. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  112. package/dist/components/widget/TradeOverview/TradeError/index.js +11 -7
  113. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  114. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts +4 -1
  115. package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -1
  116. package/dist/components/widget/TradeOverview/TradeError/utils.js +20 -2
  117. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  118. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +5 -4
  119. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  120. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  121. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
  122. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +15 -21
  123. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  124. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +2 -7
  125. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
  126. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +7 -19
  127. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  128. package/dist/components/widget/TradeOverview/steps.d.ts +4 -37
  129. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  130. package/dist/components/widget/TradeOverview/steps.js +1 -10
  131. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  132. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +22 -5
  133. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  134. package/dist/components/widget/TradeOverview/tradeFlowContext.js +37 -11
  135. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  136. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +4 -1
  137. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  138. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +133 -31
  139. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  140. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.d.ts +7 -2
  141. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.d.ts.map +1 -1
  142. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +18 -14
  143. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  144. package/dist/components/widget/TransactionDetails/TransactionListItem.d.ts.map +1 -1
  145. package/dist/components/widget/TransactionDetails/TransactionListItem.js +1 -1
  146. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  147. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  148. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
  149. package/dist/core/TradeFlowScreenButton.d.ts +0 -5
  150. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  151. package/dist/core/TradeFlowScreenButton.js +1 -58
  152. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  153. package/dist/core/Updaters.d.ts.map +1 -1
  154. package/dist/core/Updaters.js +2 -0
  155. package/dist/core/Updaters.js.map +1 -1
  156. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  157. package/dist/core/across/isCrosschainPossible.js +1 -1
  158. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  159. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +0 -1
  160. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  161. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -71
  162. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  163. package/dist/core/constants.d.ts +1 -1
  164. package/dist/core/index.d.ts.map +1 -1
  165. package/dist/core/index.js +3 -199
  166. package/dist/core/index.js.map +1 -1
  167. package/dist/core/inputs/hooks/types.d.ts +1 -1
  168. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  169. package/dist/core/inputs/state/common.d.ts +0 -4
  170. package/dist/core/inputs/state/common.d.ts.map +1 -1
  171. package/dist/core/inputs/state/common.js +4 -49
  172. package/dist/core/inputs/state/common.js.map +1 -1
  173. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  174. package/dist/core/inputs/state/setTokenByAddressAtom.js +27 -27
  175. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  176. package/dist/core/limit/state/utils.d.ts +1 -1
  177. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  178. package/dist/core/limit/useLimitRate.js +2 -0
  179. package/dist/core/limit/useLimitRate.js.map +1 -1
  180. package/dist/core/state/chainToAtom.d.ts +0 -2
  181. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  182. package/dist/core/state/chainToAtom.js +7 -28
  183. package/dist/core/state/chainToAtom.js.map +1 -1
  184. package/dist/core/state/configAtom.js +2 -2
  185. package/dist/core/state/configAtom.js.map +1 -1
  186. package/dist/core/state/tradeModeAtom.d.ts +1 -1
  187. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  188. package/dist/core/state/tradeModeAtom.js.map +1 -1
  189. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  190. package/dist/core/state/widgetEventsAtom.js +28 -36
  191. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  192. package/dist/events/effects/formInput.d.ts +0 -3
  193. package/dist/events/effects/formInput.d.ts.map +1 -1
  194. package/dist/events/effects/formInput.js +1 -17
  195. package/dist/events/effects/formInput.js.map +1 -1
  196. package/dist/events/getters/widgetState.d.ts.map +1 -1
  197. package/dist/events/getters/widgetState.js +1 -3
  198. package/dist/events/getters/widgetState.js.map +1 -1
  199. package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
  200. package/dist/events/hooks/useActivateEffects.js +1 -2
  201. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  202. package/dist/events/types/{cancel.d.ts → cancelOrder.d.ts} +5 -2
  203. package/dist/events/types/cancelOrder.d.ts.map +1 -0
  204. package/dist/events/types/cancelTx.d.ts +35 -0
  205. package/dist/events/types/cancelTx.d.ts.map +1 -0
  206. package/dist/events/types/common.d.ts +0 -6
  207. package/dist/events/types/common.d.ts.map +1 -1
  208. package/dist/events/types/formInput.d.ts +2 -11
  209. package/dist/events/types/formInput.d.ts.map +1 -1
  210. package/dist/events/types/index.d.ts +5 -5
  211. package/dist/events/types/index.d.ts.map +1 -1
  212. package/dist/events/types/limit.d.ts +2 -2
  213. package/dist/events/types/limit.d.ts.map +1 -1
  214. package/dist/events/types/swap.d.ts +12 -3
  215. package/dist/events/types/swap.d.ts.map +1 -1
  216. package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
  217. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  218. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  219. package/dist/hooks/connectors/useIsConnectedSafe.js +1 -0
  220. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  221. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  222. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +20 -2
  223. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  224. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +197 -74
  225. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  226. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  227. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -1
  228. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  229. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +6 -1
  230. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  231. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +37 -24
  232. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  233. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts +2 -2
  234. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  235. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +28 -42
  236. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  237. package/dist/hooks/permit/utils/deadlines.d.ts +2 -2
  238. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
  239. package/dist/hooks/permit/utils/deadlines.js +4 -4
  240. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  241. package/dist/hooks/swap/prices/constants.d.ts +0 -1
  242. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  243. package/dist/hooks/swap/prices/constants.js +1 -2
  244. package/dist/hooks/swap/prices/constants.js.map +1 -1
  245. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +1 -10
  246. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  247. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +5 -2
  248. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  249. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  250. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +6 -1
  251. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -1
  252. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +16 -0
  253. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  254. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +13 -6
  255. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  256. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +176 -145
  257. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  258. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
  259. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  261. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +11 -0
  262. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -0
  263. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +69 -0
  264. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -0
  265. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
  266. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  267. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +15 -3
  268. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  269. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +6 -5
  270. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  271. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +24 -28
  272. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  273. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +6 -17
  274. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  275. package/dist/hooks/swap/prices/delta/mutations/utils.js +2 -34
  276. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  277. package/dist/hooks/swap/prices/delta/orders/types.d.ts +46 -11
  278. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  279. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  280. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  281. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  282. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +5 -6
  283. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
  284. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +1 -67
  285. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  286. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +6 -24
  287. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  288. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +10 -17
  289. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  290. package/dist/hooks/swap/prices/delta/orders/utils.js +4 -32
  291. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  292. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +6 -5
  293. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  294. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  295. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
  296. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  297. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +35 -37
  298. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  299. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +17 -14
  300. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  301. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  302. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +0 -1
  303. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  304. package/dist/hooks/swap/prices/delta/queries/utils.js +1 -8
  305. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  306. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.d.ts +6 -2
  307. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.d.ts.map +1 -1
  308. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js +8 -2
  309. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  310. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  311. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +35 -37
  312. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  313. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  314. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  315. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  316. package/dist/hooks/swap/prices/usePricesParams.js +5 -9
  317. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  318. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  319. package/dist/hooks/swap/prices/useSwapPrices.js +2 -0
  320. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  321. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
  322. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  323. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  324. package/dist/hooks/swap/tradeFlow/common/errors.d.ts +6 -0
  325. package/dist/hooks/swap/tradeFlow/common/errors.d.ts.map +1 -1
  326. package/dist/hooks/swap/tradeFlow/common/errors.js +15 -1
  327. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  328. package/dist/hooks/swap/tradeFlow/common/types.d.ts +2 -4
  329. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  330. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +0 -1
  331. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  332. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +55 -57
  333. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  334. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
  335. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  336. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +152 -263
  337. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  338. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
  339. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  340. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +181 -296
  341. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  342. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +1 -2
  343. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  344. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +83 -85
  345. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  346. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  347. package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
  348. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  349. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +15 -9
  350. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  351. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +58 -23
  352. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  353. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +2 -2
  354. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  355. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +45 -57
  356. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  357. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +12 -6
  358. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  359. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +35 -10
  360. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  361. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts +4 -4
  362. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
  363. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +23 -37
  364. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  365. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +13 -1
  366. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  367. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +93 -26
  368. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  369. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +7 -1
  370. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  371. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +59 -42
  372. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  373. package/dist/hooks/txs/mutations/useReplaceTx.d.ts +86 -0
  374. package/dist/hooks/txs/mutations/useReplaceTx.d.ts.map +1 -0
  375. package/dist/hooks/txs/mutations/useReplaceTx.js +514 -0
  376. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -0
  377. package/dist/hooks/txs/mutations/useSendTx.d.ts +7 -2
  378. package/dist/hooks/txs/mutations/useSendTx.d.ts.map +1 -1
  379. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  380. package/dist/hooks/txs/queries/useAccountNonce.d.ts +9 -0
  381. package/dist/hooks/txs/queries/useAccountNonce.d.ts.map +1 -0
  382. package/dist/hooks/txs/queries/useAccountNonce.js +31 -0
  383. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -0
  384. package/dist/hooks/txs/queries/useTxFees.d.ts +16 -0
  385. package/dist/hooks/txs/queries/useTxFees.d.ts.map +1 -0
  386. package/dist/hooks/txs/queries/useTxFees.js +103 -0
  387. package/dist/hooks/txs/queries/useTxFees.js.map +1 -0
  388. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  389. package/dist/hooks/txs/queries/useTxHistory.js +3 -2
  390. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  391. package/dist/hooks/txs/queries/useTxResponse.d.ts +2390 -0
  392. package/dist/hooks/txs/queries/useTxResponse.d.ts.map +1 -0
  393. package/dist/hooks/txs/queries/useTxResponse.js +75 -0
  394. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -0
  395. package/dist/hooks/txs/queries/useWalletCanReplaceTx.d.ts +2 -0
  396. package/dist/hooks/txs/queries/useWalletCanReplaceTx.d.ts.map +1 -0
  397. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js +30 -0
  398. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -0
  399. package/dist/hooks/useSDK.d.ts +4 -4
  400. package/dist/hooks/useSDK.d.ts.map +1 -1
  401. package/dist/hooks/useSDK.js +4 -4
  402. package/dist/hooks/useSDK.js.map +1 -1
  403. package/dist/hooks/useSlippage.d.ts.map +1 -1
  404. package/dist/hooks/useSlippage.js +1 -2
  405. package/dist/hooks/useSlippage.js.map +1 -1
  406. package/dist/index.d.ts +2 -2
  407. package/dist/index.d.ts.map +1 -1
  408. package/dist/lib/constants/delta.d.ts.map +1 -1
  409. package/dist/lib/constants/delta.js +1 -1
  410. package/dist/lib/constants/delta.js.map +1 -1
  411. package/dist/lib/constants/time.d.ts +0 -1
  412. package/dist/lib/constants/time.d.ts.map +1 -1
  413. package/dist/lib/constants/time.js +1 -2
  414. package/dist/lib/constants/time.js.map +1 -1
  415. package/dist/lib/queryClient.js +2 -2
  416. package/dist/lib/queryClient.js.map +1 -1
  417. package/dist/lib/tradeMode.d.ts +1 -9
  418. package/dist/lib/tradeMode.d.ts.map +1 -1
  419. package/dist/lib/tradeMode.js +2 -4
  420. package/dist/lib/tradeMode.js.map +1 -1
  421. package/dist/lib/utils/index.d.ts +0 -8
  422. package/dist/lib/utils/index.d.ts.map +1 -1
  423. package/dist/lib/utils/index.js +1 -18
  424. package/dist/lib/utils/index.js.map +1 -1
  425. package/dist/lib/utils/price.d.ts +0 -1
  426. package/dist/lib/utils/price.d.ts.map +1 -1
  427. package/dist/lib/utils/price.js +2 -4
  428. package/dist/lib/utils/price.js.map +1 -1
  429. package/dist/lib/utils/time.d.ts +0 -2
  430. package/dist/lib/utils/time.d.ts.map +1 -1
  431. package/dist/lib/utils/time.js +1 -7
  432. package/dist/lib/utils/time.js.map +1 -1
  433. package/dist/lib/utils/toasts.d.ts +4 -4
  434. package/dist/lib/utils/toasts.d.ts.map +1 -1
  435. package/dist/lib/utils/toasts.js.map +1 -1
  436. package/dist/lib/web3/privy/config.js +1 -1
  437. package/dist/lib/web3/privy/config.js.map +1 -1
  438. package/dist/lib/web3/wagmi/config.js +1 -1
  439. package/dist/lib/web3/wagmi/config.js.map +1 -1
  440. package/dist/styles.css +7 -65
  441. package/dist/tokens/constants.d.ts.map +1 -1
  442. package/dist/tokens/constants.js +9 -9
  443. package/dist/tokens/constants.js.map +1 -1
  444. package/dist/tokens/defaultTokens.d.ts.map +1 -1
  445. package/dist/tokens/defaultTokens.js +18 -21
  446. package/dist/tokens/defaultTokens.js.map +1 -1
  447. package/dist/tokens/lists/constants.d.ts +1 -1
  448. package/dist/tokens/lists/constants.d.ts.map +1 -1
  449. package/dist/tokens/lists/constants.js +1 -1
  450. package/dist/tokens/lists/constants.js.map +1 -1
  451. package/dist/transactions/queries/ensureEstimateFeesPerGas.d.ts +16 -0
  452. package/dist/transactions/queries/ensureEstimateFeesPerGas.d.ts.map +1 -0
  453. package/dist/transactions/queries/ensureEstimateFeesPerGas.js +23 -0
  454. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -0
  455. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  456. package/dist/transactions/queries/ensureTxReceipt.js +1 -1
  457. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  458. package/dist/transactions/queries/ensureTxResponse.d.ts +17 -0
  459. package/dist/transactions/queries/ensureTxResponse.d.ts.map +1 -0
  460. package/dist/transactions/queries/ensureTxResponse.js +23 -0
  461. package/dist/transactions/queries/ensureTxResponse.js.map +1 -0
  462. package/dist/transactions/state/hooks/useMarkTxAsDropped.d.ts +7 -0
  463. package/dist/transactions/state/hooks/useMarkTxAsDropped.d.ts.map +1 -0
  464. package/dist/transactions/state/hooks/useMarkTxAsDropped.js +10 -0
  465. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -0
  466. package/dist/transactions/state/transactionsActionAtom.d.ts +12 -0
  467. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  468. package/dist/transactions/state/transactionsActionAtom.js +40 -1
  469. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  470. package/dist/transactions/status.d.ts +1 -1
  471. package/dist/transactions/status.d.ts.map +1 -1
  472. package/dist/transactions/status.js +6 -0
  473. package/dist/transactions/status.js.map +1 -1
  474. package/dist/transactions/types.d.ts +18 -5
  475. package/dist/transactions/types.d.ts.map +1 -1
  476. package/package.json +3 -3
  477. package/dist/components/widget/NumberInput/NumberInput.d.ts +0 -18
  478. package/dist/components/widget/NumberInput/NumberInput.d.ts.map +0 -1
  479. package/dist/components/widget/NumberInput/NumberInput.js +0 -255
  480. package/dist/components/widget/NumberInput/NumberInput.js.map +0 -1
  481. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +0 -12
  482. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +0 -1
  483. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +0 -12
  484. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +0 -1
  485. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +0 -15
  486. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +0 -1
  487. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +0 -241
  488. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +0 -1
  489. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts +0 -14
  490. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts.map +0 -1
  491. package/dist/components/widget/TradeOverview/utils/swapAmounts.js +0 -43
  492. package/dist/components/widget/TradeOverview/utils/swapAmounts.js.map +0 -1
  493. package/dist/components/widget/Twap/OrderDuration.d.ts +0 -2
  494. package/dist/components/widget/Twap/OrderDuration.d.ts.map +0 -1
  495. package/dist/components/widget/Twap/OrderDuration.js +0 -75
  496. package/dist/components/widget/Twap/OrderDuration.js.map +0 -1
  497. package/dist/components/widget/Twap/OrderSplit.d.ts +0 -2
  498. package/dist/components/widget/Twap/OrderSplit.d.ts.map +0 -1
  499. package/dist/components/widget/Twap/OrderSplit.js +0 -57
  500. package/dist/components/widget/Twap/OrderSplit.js.map +0 -1
  501. package/dist/components/widget/Twap/RateProtection.d.ts +0 -2
  502. package/dist/components/widget/Twap/RateProtection.d.ts.map +0 -1
  503. package/dist/components/widget/Twap/RateProtection.js +0 -57
  504. package/dist/components/widget/Twap/RateProtection.js.map +0 -1
  505. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +0 -3
  506. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +0 -1
  507. package/dist/components/widget/Twap/TwapDetailWithTooltip.js +0 -33
  508. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +0 -1
  509. package/dist/core/TwapDetails.d.ts +0 -2
  510. package/dist/core/TwapDetails.d.ts.map +0 -1
  511. package/dist/core/TwapDetails.js +0 -24
  512. package/dist/core/TwapDetails.js.map +0 -1
  513. package/dist/core/twap/state/constants.d.ts +0 -15
  514. package/dist/core/twap/state/constants.d.ts.map +0 -1
  515. package/dist/core/twap/state/constants.js +0 -19
  516. package/dist/core/twap/state/constants.js.map +0 -1
  517. package/dist/core/twap/state/currentTwapInputAtom.d.ts +0 -4
  518. package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +0 -1
  519. package/dist/core/twap/state/currentTwapInputAtom.js +0 -6
  520. package/dist/core/twap/state/currentTwapInputAtom.js.map +0 -1
  521. package/dist/core/twap/state/isCrosschainAtom.d.ts +0 -3
  522. package/dist/core/twap/state/isCrosschainAtom.d.ts.map +0 -1
  523. package/dist/core/twap/state/isCrosschainAtom.js +0 -16
  524. package/dist/core/twap/state/isCrosschainAtom.js.map +0 -1
  525. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +0 -13
  526. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +0 -1
  527. package/dist/core/twap/state/selectedTokenActionsAtom.js +0 -194
  528. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +0 -1
  529. package/dist/core/twap/state/twapInputAmountAtom.d.ts +0 -9
  530. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +0 -1
  531. package/dist/core/twap/state/twapInputAmountAtom.js +0 -21
  532. package/dist/core/twap/state/twapInputAmountAtom.js.map +0 -1
  533. package/dist/core/twap/state/twapParamsAtom.d.ts +0 -16
  534. package/dist/core/twap/state/twapParamsAtom.d.ts.map +0 -1
  535. package/dist/core/twap/state/twapParamsAtom.js +0 -22
  536. package/dist/core/twap/state/twapParamsAtom.js.map +0 -1
  537. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +0 -5
  538. package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +0 -1
  539. package/dist/core/twap/state/twapReceiverAddressAtom.js +0 -10
  540. package/dist/core/twap/state/twapReceiverAddressAtom.js.map +0 -1
  541. package/dist/core/twap/state/twapSideAtom.d.ts +0 -4
  542. package/dist/core/twap/state/twapSideAtom.d.ts.map +0 -1
  543. package/dist/core/twap/state/twapSideAtom.js +0 -24
  544. package/dist/core/twap/state/twapSideAtom.js.map +0 -1
  545. package/dist/core/twap/state/twapTokenAtoms.d.ts +0 -10
  546. package/dist/core/twap/state/twapTokenAtoms.d.ts.map +0 -1
  547. package/dist/core/twap/state/twapTokenAtoms.js +0 -29
  548. package/dist/core/twap/state/twapTokenAtoms.js.map +0 -1
  549. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +0 -12
  550. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +0 -1
  551. package/dist/core/twap/twapDetails/minimumReceiveable.js +0 -44
  552. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +0 -1
  553. package/dist/core/twap/useTwapDetailsListProps.d.ts +0 -3
  554. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +0 -1
  555. package/dist/core/twap/useTwapDetailsListProps.js +0 -109
  556. package/dist/core/twap/useTwapDetailsListProps.js.map +0 -1
  557. package/dist/core/twap/useTwapTokenFromInputProps.d.ts +0 -9
  558. package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +0 -1
  559. package/dist/core/twap/useTwapTokenFromInputProps.js +0 -455
  560. package/dist/core/twap/useTwapTokenFromInputProps.js.map +0 -1
  561. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +0 -3
  562. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +0 -1
  563. package/dist/core/twap/useTwapTokenSwitcherProps.js +0 -38
  564. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +0 -1
  565. package/dist/core/twap/useTwapTokenToInputProps.d.ts +0 -9
  566. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +0 -1
  567. package/dist/core/twap/useTwapTokenToInputProps.js +0 -274
  568. package/dist/core/twap/useTwapTokenToInputProps.js.map +0 -1
  569. package/dist/events/getters/twap.d.ts +0 -6
  570. package/dist/events/getters/twap.d.ts.map +0 -1
  571. package/dist/events/getters/twap.js +0 -65
  572. package/dist/events/getters/twap.js.map +0 -1
  573. package/dist/events/types/cancel.d.ts.map +0 -1
  574. package/dist/events/types/twap.d.ts +0 -26
  575. package/dist/events/types/twap.d.ts.map +0 -1
  576. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +0 -19
  577. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +0 -1
  578. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +0 -86
  579. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +0 -1
  580. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +0 -37
  581. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +0 -1
  582. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +0 -164
  583. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +0 -1
  584. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +0 -69
  585. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +0 -1
  586. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +0 -278
  587. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +0 -1
  588. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +0 -15
  589. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +0 -1
  590. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +0 -89
  591. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +0 -1
  592. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +0 -60
  593. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +0 -1
  594. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +0 -325
  595. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +0 -1
  596. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +0 -18
  597. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +0 -1
  598. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +0 -87
  599. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +0 -1
  600. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +0 -16
  601. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +0 -1
  602. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +0 -73
  603. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +0 -1
  604. package/dist/hooks/swap/prices/useTwapPrices.d.ts +0 -28
  605. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +0 -1
  606. package/dist/hooks/swap/prices/useTwapPrices.js +0 -175
  607. package/dist/hooks/swap/prices/useTwapPrices.js.map +0 -1
  608. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +0 -48
  609. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +0 -1
  610. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +0 -71
  611. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +0 -1
  612. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +0 -50
  613. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +0 -1
  614. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +0 -94
  615. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +0 -1
  616. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +0 -88
  617. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +0 -1
  618. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +0 -591
  619. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +0 -1
  620. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +0 -25
  621. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +0 -1
  622. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +0 -237
  623. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +0 -1
  624. package/dist/lib/utils/twap.d.ts +0 -17
  625. package/dist/lib/utils/twap.d.ts.map +0 -1
  626. package/dist/lib/utils/twap.js +0 -34
  627. package/dist/lib/utils/twap.js.map +0 -1
@@ -7,8 +7,6 @@ import { limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmou
7
7
  import { PrimitiveAtom } from 'jotai';
8
8
  import { setLimitPayAmountAtomFromProps, setLimitReceiveAmountAtomFromProps } from '../../limit/state/limitInputActionsAtom';
9
9
  import { isCrossChainAtom as isSwapCrossChainAtom } from '../../state/isCrosschainAtom';
10
- import { swapSideAtom } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom';
11
- import { currentSwapInputAtom } from '../../state/currentSwapInputAtom';
12
10
  import * as limitDeadline from "@/core/limit/state/deadlineAtom";
13
11
  export declare function syncTokensAfterChainSwitch(chainId: SupportedChainId): void;
14
12
  export declare const tradeModeToPayAmountUnitAtom: Record<TradeMode, {
@@ -31,8 +29,6 @@ export declare const tradeModeToSetTokenAtoms: Record<TradeMode, {
31
29
  tokenFromAtom: typeof selectSwapTokenFromAtom;
32
30
  tokenToAtom: typeof selectSwapTokenToAtom;
33
31
  }>;
34
- export declare const tradeModeToSideAtom: Record<TradeMode, typeof swapSideAtom>;
35
- export declare const tradeModeToCurrentInputAtom: Record<TradeMode, typeof currentSwapInputAtom>;
36
32
  export declare const sideToInputType: {
37
33
  readonly SELL: "from";
38
34
  readonly BUY: "to";
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiBzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAajD,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAcjD,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAKnE;AAQD,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,8BAA8B,EAAE,OAAO,CAAC,GACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CASF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,GAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAeF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,OAAO,GAAG,KAAK,EACf,OAAO,aAAa,CAAC,YAAY,CAIlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,qBAAqB,CAM7B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,SAAS,EACT,OAAO,8BAA8B,CAMtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,SAAS,EACT;IACE,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,gBAAgB,EAAE,OAAO,oBAAoB,CAAC;CAC/C,CAuBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,SAAS,EACT;IACE,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,WAAW,EAAE,OAAO,qBAAqB,CAAC;CAC3C,CAkBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,YAAY,CAKtE,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,oBAAoB,CAM5B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG6B,CAAC;AAE1D,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAOjD,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAUjD,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAInE;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,8BAA8B,EAAE,OAAO,CAAC,GACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAQF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,GAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAWF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,OAAO,GAAG,KAAK,EACf,OAAO,aAAa,CAAC,YAAY,CAIlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,qBAAqB,CAK7B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,SAAS,EACT,OAAO,8BAA8B,CAKtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,SAAS,EACT;IACE,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,gBAAgB,EAAE,OAAO,oBAAoB,CAAC;CAC/C,CAkBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,SAAS,EACT;IACE,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,WAAW,EAAE,OAAO,qBAAqB,CAAC;CAC3C,CAcF,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG6B,CAAC;AAE1D,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
@@ -4,13 +4,9 @@ import { swapTokenToAtom, swapTokenFromAtom } from './selectedTokenAtom.js';
4
4
  import { syncLimitTokensAfterChainSwitch } from '../../limit/state/selectedTokenAtom.js';
5
5
  import { limitTokenToAtom, limitTokenFromAtom } from '../../limit/state/limitTokenAtoms.js';
6
6
  import { syncOtcTokensAfterChainSwitch, otcTokenToAtom, otcTokenFromAtom } from '../../otc/state/selectedTokenAtom.js';
7
- import { twapTokenToAtom, twapTokenFromAtom } from '../../twap/state/twapTokenAtoms.js';
8
- import { syncTwapTokensAfterChainSwitch, selectTwapTokenToAtom, selectTwapTokenFromAtom } from '../../twap/state/selectedTokenActionsAtom.js';
9
- import { isTwapCrossChainAtom } from '../../twap/state/isCrosschainAtom.js';
10
7
  import { payInputAmountAtom, receiveInputAmountAtom, payInputAmountWeiAtom, receiveInputAmountWeiAtom } from './inputAmountAtom.js';
11
8
  import { limitPayInputAmountAtom, limitReceiveInputAmountAtom, limitPayInputAmountWeiAtom, limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmountAtom.js';
12
9
  import { otcPayInputAmountAtom, otcReceiveInputAmountAtom, otcPayInputAmountWeiAtom, otcReceiveInputAmountWeiAtom } from '../../otc/state/otcInputAmountAtom.js';
13
- import { twapPayInputAmountAtom, twapReceiveInputAmountAtom, twapPayInputAmountWeiAtom, twapReceiveInputAmountWeiAtom } from '../../twap/state/twapInputAmountAtom.js';
14
10
  import { atom } from 'jotai';
15
11
  import { useAtomValue } from '../../store.js';
16
12
  import { selectLimitTokenToAtom, selectLimitTokenFromAtom } from '../../limit/state/selectedTokenActionsAtom.js';
@@ -21,22 +17,12 @@ import { timeUnitAtom as timeUnitAtom$1 } from '../../limit/state/deadlineAtom.j
21
17
  import { timeUnitAtom } from '../../otc/state/deadlineAtom.js';
22
18
  import { isCrossChainAtom } from '../../state/isCrosschainAtom.js';
23
19
  import { isLimitCrossChainAtom } from '../../limit/state/isCrosschainAtom.js';
24
- import { swapSideAtom } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
25
- import { twapSideAtom } from '../../twap/state/twapSideAtom.js';
26
- import { currentTwapInputAtom } from '../../twap/state/currentTwapInputAtom.js';
27
- import { currentSwapInputAtom } from '../../state/currentSwapInputAtom.js';
28
20
 
29
21
  function syncTokensAfterChainSwitch(chainId) {
30
22
  syncSwapTokensAfterChainSwitch(chainId);
31
23
  syncLimitTokensAfterChainSwitch(chainId);
32
24
  syncOtcTokensAfterChainSwitch(chainId);
33
- syncTwapTokensAfterChainSwitch(chainId);
34
25
  }
35
- const placeholderAtoms = {
36
- sellAtom: atom(() => "SELL"),
37
- falseAtom: atom(() => false),
38
- currentInputAtom: atom(() => "from")
39
- };
40
26
  const tradeModeToPayAmountUnitAtom = {
41
27
  swap: {
42
28
  read: payInputAmountAtom,
@@ -49,10 +35,6 @@ const tradeModeToPayAmountUnitAtom = {
49
35
  otc: {
50
36
  read: otcPayInputAmountAtom,
51
37
  write: setOtcPayAmountAtomFromProps
52
- },
53
- twap: {
54
- read: twapPayInputAmountAtom,
55
- write: twapPayInputAmountAtom
56
38
  }
57
39
  };
58
40
  const tradeModeToReceiveAmountUnitAtom = {
@@ -67,10 +49,6 @@ const tradeModeToReceiveAmountUnitAtom = {
67
49
  otc: {
68
50
  read: otcReceiveInputAmountAtom,
69
51
  write: setOtcReceiveAmountAtomFromProps
70
- },
71
- twap: {
72
- read: twapReceiveInputAmountAtom,
73
- write: twapReceiveInputAmountAtom
74
52
  }
75
53
  };
76
54
  const tradeModeToTimeUnitAtom = {
@@ -80,14 +58,12 @@ const tradeModeToTimeUnitAtom = {
80
58
  const tradeModeToPayAmountWeiAtom = {
81
59
  swap: payInputAmountWeiAtom,
82
60
  limit: limitPayInputAmountWeiAtom,
83
- otc: otcPayInputAmountWeiAtom,
84
- twap: twapPayInputAmountWeiAtom
61
+ otc: otcPayInputAmountWeiAtom
85
62
  };
86
63
  const tradeModeToReceiveAmountWeiAtom = {
87
64
  swap: receiveInputAmountWeiAtom,
88
65
  limit: limitReceiveInputAmountWeiAtom,
89
- otc: otcReceiveInputAmountWeiAtom,
90
- twap: twapReceiveInputAmountWeiAtom
66
+ otc: otcReceiveInputAmountWeiAtom
91
67
  };
92
68
  const tradeModeToTokenAtoms = {
93
69
  swap: {
@@ -104,13 +80,8 @@ const tradeModeToTokenAtoms = {
104
80
  tokenFromAtom: otcTokenFromAtom,
105
81
  tokenToAtom: otcTokenToAtom,
106
82
  // unused const atom to appease TS
107
- isCrossChainAtom: placeholderAtoms.falseAtom
83
+ isCrossChainAtom: atom(() => false)
108
84
  // always false
109
- },
110
- twap: {
111
- tokenFromAtom: twapTokenFromAtom,
112
- tokenToAtom: twapTokenToAtom,
113
- isCrossChainAtom: isTwapCrossChainAtom
114
85
  }
115
86
  };
116
87
  const tradeModeToSetTokenAtoms = {
@@ -125,24 +96,8 @@ const tradeModeToSetTokenAtoms = {
125
96
  otc: {
126
97
  tokenFromAtom: selectOtcTokenFromAtom,
127
98
  tokenToAtom: selectOtcTokenToAtom
128
- },
129
- twap: {
130
- tokenFromAtom: selectTwapTokenFromAtom,
131
- tokenToAtom: selectTwapTokenToAtom
132
99
  }
133
100
  };
134
- const tradeModeToSideAtom = {
135
- swap: swapSideAtom,
136
- twap: twapSideAtom,
137
- limit: placeholderAtoms.sellAtom,
138
- otc: placeholderAtoms.sellAtom
139
- };
140
- const tradeModeToCurrentInputAtom = {
141
- swap: currentSwapInputAtom,
142
- twap: currentTwapInputAtom,
143
- limit: placeholderAtoms.currentInputAtom,
144
- otc: placeholderAtoms.currentInputAtom
145
- };
146
101
  const sideToInputType = {
147
102
  SELL: "from",
148
103
  BUY: "to"
@@ -170,5 +125,5 @@ const useWidgetTokens = (tradeMode) => {
170
125
  return t0;
171
126
  };
172
127
 
173
- export { sideToInputType, syncTokensAfterChainSwitch, tradeModeToCurrentInputAtom, tradeModeToPayAmountUnitAtom, tradeModeToPayAmountWeiAtom, tradeModeToReceiveAmountUnitAtom, tradeModeToReceiveAmountWeiAtom, tradeModeToSetTokenAtoms, tradeModeToSideAtom, tradeModeToTimeUnitAtom, tradeModeToTokenAtoms, useWidgetTokens };
128
+ export { sideToInputType, syncTokensAfterChainSwitch, tradeModeToPayAmountUnitAtom, tradeModeToPayAmountWeiAtom, tradeModeToReceiveAmountUnitAtom, tradeModeToReceiveAmountWeiAtom, tradeModeToSetTokenAtoms, tradeModeToTimeUnitAtom, tradeModeToTokenAtoms, useWidgetTokens };
174
129
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport {\n twapTokenFromAtom,\n twapTokenToAtom,\n} from \"@/core/twap/state/twapTokenAtoms\";\nimport { syncTwapTokensAfterChainSwitch } from \"@/core/twap/state/selectedTokenActionsAtom\";\nimport { isTwapCrossChainAtom } from \"@/core/twap/state/isCrosschainAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport {\n twapPayInputAmountAtom,\n twapPayInputAmountWeiAtom,\n twapReceiveInputAmountAtom,\n twapReceiveInputAmountWeiAtom,\n} from \"@/core/twap/state/twapInputAmountAtom\";\nimport { atom, type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n selectTwapTokenFromAtom,\n selectTwapTokenToAtom,\n} from \"@/core/twap/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\nimport { swapSideAtom } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { twapSideAtom } from \"@/core/twap/state/twapSideAtom\";\nimport { currentTwapInputAtom } from \"@/core/twap/state/currentTwapInputAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n syncTwapTokensAfterChainSwitch(chainId);\n}\n\nconst placeholderAtoms = {\n sellAtom: atom(() => \"SELL\" as const satisfies SwapSideUnion),\n falseAtom: atom(() => false),\n currentInputAtom: atom(() => \"from\") as typeof currentSwapInputAtom,\n};\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n twap: { read: twapPayInputAmountAtom, write: twapPayInputAmountAtom },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n twap: {\n read: twapReceiveInputAmountAtom,\n write: twapReceiveInputAmountAtom,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n twap: twapPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n twap: twapReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n // unused const atom to appease TS\n isCrossChainAtom: placeholderAtoms.falseAtom, // always false\n },\n twap: {\n tokenFromAtom: twapTokenFromAtom,\n tokenToAtom: twapTokenToAtom,\n isCrossChainAtom: isTwapCrossChainAtom,\n },\n};\n\nexport const tradeModeToSetTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof selectSwapTokenFromAtom;\n tokenToAtom: typeof selectSwapTokenToAtom;\n }\n> = {\n swap: {\n tokenFromAtom: selectSwapTokenFromAtom,\n tokenToAtom: selectSwapTokenToAtom,\n },\n limit: {\n tokenFromAtom: selectLimitTokenFromAtom,\n tokenToAtom: selectLimitTokenToAtom,\n },\n otc: {\n tokenFromAtom: selectOtcTokenFromAtom,\n tokenToAtom: selectOtcTokenToAtom,\n },\n twap: {\n tokenFromAtom: selectTwapTokenFromAtom,\n tokenToAtom: selectTwapTokenToAtom,\n },\n};\n\nexport const tradeModeToSideAtom: Record<TradeMode, typeof swapSideAtom> = {\n swap: swapSideAtom,\n twap: twapSideAtom,\n limit: placeholderAtoms.sellAtom,\n otc: placeholderAtoms.sellAtom,\n};\n\nexport const tradeModeToCurrentInputAtom: Record<\n TradeMode,\n typeof currentSwapInputAtom\n> = {\n swap: currentSwapInputAtom,\n twap: currentTwapInputAtom,\n limit: placeholderAtoms.currentInputAtom,\n otc: placeholderAtoms.currentInputAtom,\n};\n\nexport const sideToInputType = {\n SELL: \"from\",\n BUY: \"to\",\n} as const satisfies Record<SwapSideUnion, \"from\" | \"to\">;\n\nexport const useWidgetTokens = (tradeMode: TradeMode) => {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const tokenFrom = useAtomValue(tokenFromAtom);\n const tokenTo = useAtomValue(tokenToAtom);\n return { tokenFrom, tokenTo };\n};\n"],"names":["syncTokensAfterChainSwitch","chainId","syncSwapTokensAfterChainSwitch","syncLimitTokensAfterChainSwitch","syncOtcTokensAfterChainSwitch","syncTwapTokensAfterChainSwitch","placeholderAtoms","sellAtom","atom","falseAtom","currentInputAtom","tradeModeToPayAmountUnitAtom","swap","read","payInputAmountAtom","write","limit","limitPayInputAmountAtom","setLimitPayAmountAtomFromProps","otc","otcPayInputAmountAtom","setOtcPayAmountAtomFromProps","twap","twapPayInputAmountAtom","tradeModeToReceiveAmountUnitAtom","receiveInputAmountAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtomFromProps","otcReceiveInputAmountAtom","setOtcReceiveAmountAtomFromProps","twapReceiveInputAmountAtom","tradeModeToTimeUnitAtom","limitDeadline","timeUnitAtom","otcDeadline","tradeModeToPayAmountWeiAtom","payInputAmountWeiAtom","limitPayInputAmountWeiAtom","otcPayInputAmountWeiAtom","twapPayInputAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","receiveInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","twapReceiveInputAmountWeiAtom","tradeModeToTokenAtoms","tokenFromAtom","swapTokenFromAtom","tokenToAtom","swapTokenToAtom","isCrossChainAtom","isSwapCrossChainAtom","limitTokenFromAtom","limitTokenToAtom","isLimitCrossChainAtom","otcTokenFromAtom","otcTokenToAtom","twapTokenFromAtom","twapTokenToAtom","isTwapCrossChainAtom","tradeModeToSetTokenAtoms","selectSwapTokenFromAtom","selectSwapTokenToAtom","selectLimitTokenFromAtom","selectLimitTokenToAtom","selectOtcTokenFromAtom","selectOtcTokenToAtom","selectTwapTokenFromAtom","selectTwapTokenToAtom","tradeModeToSideAtom","swapSideAtom","twapSideAtom","tradeModeToCurrentInputAtom","currentSwapInputAtom","currentTwapInputAtom","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgFO,SAASA,2BAA2BC,OAAAA,EAA2B;AACpEC,EAAAA,8BAAAA,CAA+BD,OAAO,CAAA;AACtCE,EAAAA,+BAAAA,CAAgCF,OAAO,CAAA;AACvCG,EAAAA,6BAAAA,CAA8BH,OAAO,CAAA;AACrCI,EAAAA,8BAAAA,CAA+BJ,OAAO,CAAA;AACxC;AAEA,MAAMK,gBAAAA,GAAmB;AAAA,EACvBC,QAAAA,EAAUC,IAAAA,CAAK,MAAM,MAAuC,CAAA;AAAA,EAC5DC,SAAAA,EAAWD,IAAAA,CAAK,MAAM,KAAK,CAAA;AAAA,EAC3BE,gBAAAA,EAAkBF,IAAAA,CAAK,MAAM,MAAM;AACrC,CAAA;AAEO,MAAMG,4BAAAA,GAOT;AAAA,EACFC,IAAAA,EAAM;AAAA,IAAEC,IAAAA,EAAMC,kBAAAA;AAAAA,IAAoBC,KAAAA,EAAOD;AAAAA,GAAmB;AAAA,EAC5DE,KAAAA,EAAO;AAAA,IACLH,IAAAA,EAAMI,uBAAAA;AAAAA,IACNF,KAAAA,EAAOG;AAAAA,GACT;AAAA,EACAC,GAAAA,EAAK;AAAA,IAAEN,IAAAA,EAAMO,qBAAAA;AAAAA,IAAuBL,KAAAA,EAAOM;AAAAA,GAA6B;AAAA,EACxEC,IAAAA,EAAM;AAAA,IAAET,IAAAA,EAAMU,sBAAAA;AAAAA,IAAwBR,KAAAA,EAAOQ;AAAAA;AAC/C;AAEO,MAAMC,gCAAAA,GAOT;AAAA,EACFZ,IAAAA,EAAM;AAAA,IAAEC,IAAAA,EAAMY,sBAAAA;AAAAA,IAAwBV,KAAAA,EAAOU;AAAAA,GAAuB;AAAA,EACpET,KAAAA,EAAO;AAAA,IACLH,IAAAA,EAAMa,2BAAAA;AAAAA,IACNX,KAAAA,EAAOY;AAAAA,GACT;AAAA,EACAR,GAAAA,EAAK;AAAA,IACHN,IAAAA,EAAMe,yBAAAA;AAAAA,IACNb,KAAAA,EAAOc;AAAAA,GACT;AAAA,EACAP,IAAAA,EAAM;AAAA,IACJT,IAAAA,EAAMiB,0BAAAA;AAAAA,IACNf,KAAAA,EAAOe;AAAAA;AAEX;AAEO,MAAMC,uBAAAA,GAGT;AAAA,EACFf,OAAOgB,cAAcC;AAAAA,EACrBd,KAAKe;AACP;AAEO,MAAMC,2BAAAA,GAGT;AAAA,EACFvB,IAAAA,EAAMwB,qBAAAA;AAAAA,EACNpB,KAAAA,EAAOqB,0BAAAA;AAAAA,EACPlB,GAAAA,EAAKmB,wBAAAA;AAAAA,EACLhB,IAAAA,EAAMiB;AACR;AAEO,MAAMC,+BAAAA,GAGT;AAAA,EACF5B,IAAAA,EAAM6B,yBAAAA;AAAAA,EACNzB,KAAAA,EAAO0B,8BAAAA;AAAAA,EACPvB,GAAAA,EAAKwB,4BAAAA;AAAAA,EACLrB,IAAAA,EAAMsB;AACR;AAEO,MAAMC,qBAAAA,GAOT;AAAA,EACFjC,IAAAA,EAAM;AAAA,IACJkC,aAAAA,EAAeC,iBAAAA;AAAAA,IACfC,WAAAA,EAAaC,eAAAA;AAAAA,IACbC,gBAAAA,EAAkBC;AAAAA,GACpB;AAAA,EACAnC,KAAAA,EAAO;AAAA,IACL8B,aAAAA,EAAeM,kBAAAA;AAAAA,IACfJ,WAAAA,EAAaK,gBAAAA;AAAAA,IACbH,gBAAAA,EAAkBI;AAAAA,GACpB;AAAA,EACAnC,GAAAA,EAAK;AAAA,IACH2B,aAAAA,EAAeS,gBAAAA;AAAAA,IACfP,WAAAA,EAAaQ,cAAAA;AAAAA;AAAAA,IAEbN,kBAAkB5C,gBAAAA,CAAiBG;AAAAA;AAAAA,GACrC;AAAA,EACAa,IAAAA,EAAM;AAAA,IACJwB,aAAAA,EAAeW,iBAAAA;AAAAA,IACfT,WAAAA,EAAaU,eAAAA;AAAAA,IACbR,gBAAAA,EAAkBS;AAAAA;AAEtB;AAEO,MAAMC,wBAAAA,GAMT;AAAA,EACFhD,IAAAA,EAAM;AAAA,IACJkC,aAAAA,EAAee,uBAAAA;AAAAA,IACfb,WAAAA,EAAac;AAAAA,GACf;AAAA,EACA9C,KAAAA,EAAO;AAAA,IACL8B,aAAAA,EAAeiB,wBAAAA;AAAAA,IACff,WAAAA,EAAagB;AAAAA,GACf;AAAA,EACA7C,GAAAA,EAAK;AAAA,IACH2B,aAAAA,EAAemB,sBAAAA;AAAAA,IACfjB,WAAAA,EAAakB;AAAAA,GACf;AAAA,EACA5C,IAAAA,EAAM;AAAA,IACJwB,aAAAA,EAAeqB,uBAAAA;AAAAA,IACfnB,WAAAA,EAAaoB;AAAAA;AAEjB;AAEO,MAAMC,mBAAAA,GAA8D;AAAA,EACzEzD,IAAAA,EAAM0D,YAAAA;AAAAA,EACNhD,IAAAA,EAAMiD,YAAAA;AAAAA,EACNvD,OAAOV,gBAAAA,CAAiBC,QAAAA;AAAAA,EACxBY,KAAKb,gBAAAA,CAAiBC;AACxB;AAEO,MAAMiE,2BAAAA,GAGT;AAAA,EACF5D,IAAAA,EAAM6D,oBAAAA;AAAAA,EACNnD,IAAAA,EAAMoD,oBAAAA;AAAAA,EACN1D,OAAOV,gBAAAA,CAAiBI,gBAAAA;AAAAA,EACxBS,KAAKb,gBAAAA,CAAiBI;AACxB;AAEO,MAAMiE,eAAAA,GAAkB;AAAA,EAC7BC,IAAAA,EAAM,MAAA;AAAA,EACNC,GAAAA,EAAK;AACP;AAEO,MAAMC,kBAAkBC,CAAAA,SAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC7B,EAAA,MAAA;AAAA,IAAAnC,aAAAA;AAAAA,IAAAE;AAAAA,GAAA,GAAuCH,sBAAsBkC,SAAS,CAAA;AACtE,EAAA,MAAAG,SAAAA,GAAkBC,aAAarC,aAAa,CAAA;AAC5C,EAAA,MAAAsC,OAAAA,GAAgBD,aAAanC,WAAW,CAAA;AAAE,EAAA,IAAAqC,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAE,aAAAF,CAAAA,QAAAI,OAAAA,EAAA;AACnCC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,SAAAA;AAAAA,MAAAE;AAAAA,KAAqB;AAACJ,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAtBK,EAAAA;AAAsB;;;;"}
1
+ {"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { atom, type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n}\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n // unused const atom to appease TS\n isCrossChainAtom: atom(() => false), // always false\n },\n};\n\nexport const tradeModeToSetTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof selectSwapTokenFromAtom;\n tokenToAtom: typeof selectSwapTokenToAtom;\n }\n> = {\n swap: {\n tokenFromAtom: selectSwapTokenFromAtom,\n tokenToAtom: selectSwapTokenToAtom,\n },\n limit: {\n tokenFromAtom: selectLimitTokenFromAtom,\n tokenToAtom: selectLimitTokenToAtom,\n },\n otc: {\n tokenFromAtom: selectOtcTokenFromAtom,\n tokenToAtom: selectOtcTokenToAtom,\n },\n};\n\nexport const sideToInputType = {\n SELL: \"from\",\n BUY: \"to\",\n} as const satisfies Record<SwapSideUnion, \"from\" | \"to\">;\n\nexport const useWidgetTokens = (tradeMode: TradeMode) => {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const tokenFrom = useAtomValue(tokenFromAtom);\n const tokenTo = useAtomValue(tokenToAtom);\n return { tokenFrom, tokenTo };\n};\n"],"names":["syncTokensAfterChainSwitch","chainId","syncSwapTokensAfterChainSwitch","syncLimitTokensAfterChainSwitch","syncOtcTokensAfterChainSwitch","tradeModeToPayAmountUnitAtom","swap","read","payInputAmountAtom","write","limit","limitPayInputAmountAtom","setLimitPayAmountAtomFromProps","otc","otcPayInputAmountAtom","setOtcPayAmountAtomFromProps","tradeModeToReceiveAmountUnitAtom","receiveInputAmountAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtomFromProps","otcReceiveInputAmountAtom","setOtcReceiveAmountAtomFromProps","tradeModeToTimeUnitAtom","limitDeadline","timeUnitAtom","otcDeadline","tradeModeToPayAmountWeiAtom","payInputAmountWeiAtom","limitPayInputAmountWeiAtom","otcPayInputAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","receiveInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","tradeModeToTokenAtoms","tokenFromAtom","swapTokenFromAtom","tokenToAtom","swapTokenToAtom","isCrossChainAtom","isSwapCrossChainAtom","limitTokenFromAtom","limitTokenToAtom","isLimitCrossChainAtom","otcTokenFromAtom","otcTokenToAtom","atom","tradeModeToSetTokenAtoms","selectSwapTokenFromAtom","selectSwapTokenToAtom","selectLimitTokenFromAtom","selectLimitTokenToAtom","selectOtcTokenFromAtom","selectOtcTokenToAtom","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4DO,SAASA,2BAA2BC,OAAAA,EAA2B;AACpEC,EAAAA,8BAAAA,CAA+BD,OAAO,CAAA;AACtCE,EAAAA,+BAAAA,CAAgCF,OAAO,CAAA;AACvCG,EAAAA,6BAAAA,CAA8BH,OAAO,CAAA;AACvC;AAEO,MAAMI,4BAAAA,GAOT;AAAA,EACFC,IAAAA,EAAM;AAAA,IAAEC,IAAAA,EAAMC,kBAAAA;AAAAA,IAAoBC,KAAAA,EAAOD;AAAAA,GAAmB;AAAA,EAC5DE,KAAAA,EAAO;AAAA,IACLH,IAAAA,EAAMI,uBAAAA;AAAAA,IACNF,KAAAA,EAAOG;AAAAA,GACT;AAAA,EACAC,GAAAA,EAAK;AAAA,IAAEN,IAAAA,EAAMO,qBAAAA;AAAAA,IAAuBL,KAAAA,EAAOM;AAAAA;AAC7C;AAEO,MAAMC,gCAAAA,GAOT;AAAA,EACFV,IAAAA,EAAM;AAAA,IAAEC,IAAAA,EAAMU,sBAAAA;AAAAA,IAAwBR,KAAAA,EAAOQ;AAAAA,GAAuB;AAAA,EACpEP,KAAAA,EAAO;AAAA,IACLH,IAAAA,EAAMW,2BAAAA;AAAAA,IACNT,KAAAA,EAAOU;AAAAA,GACT;AAAA,EACAN,GAAAA,EAAK;AAAA,IACHN,IAAAA,EAAMa,yBAAAA;AAAAA,IACNX,KAAAA,EAAOY;AAAAA;AAEX;AAEO,MAAMC,uBAAAA,GAGT;AAAA,EACFZ,OAAOa,cAAcC;AAAAA,EACrBX,KAAKY;AACP;AAEO,MAAMC,2BAAAA,GAGT;AAAA,EACFpB,IAAAA,EAAMqB,qBAAAA;AAAAA,EACNjB,KAAAA,EAAOkB,0BAAAA;AAAAA,EACPf,GAAAA,EAAKgB;AACP;AAEO,MAAMC,+BAAAA,GAGT;AAAA,EACFxB,IAAAA,EAAMyB,yBAAAA;AAAAA,EACNrB,KAAAA,EAAOsB,8BAAAA;AAAAA,EACPnB,GAAAA,EAAKoB;AACP;AAEO,MAAMC,qBAAAA,GAOT;AAAA,EACF5B,IAAAA,EAAM;AAAA,IACJ6B,aAAAA,EAAeC,iBAAAA;AAAAA,IACfC,WAAAA,EAAaC,eAAAA;AAAAA,IACbC,gBAAAA,EAAkBC;AAAAA,GACpB;AAAA,EACA9B,KAAAA,EAAO;AAAA,IACLyB,aAAAA,EAAeM,kBAAAA;AAAAA,IACfJ,WAAAA,EAAaK,gBAAAA;AAAAA,IACbH,gBAAAA,EAAkBI;AAAAA,GACpB;AAAA,EACA9B,GAAAA,EAAK;AAAA,IACHsB,aAAAA,EAAeS,gBAAAA;AAAAA,IACfP,WAAAA,EAAaQ,cAAAA;AAAAA;AAAAA,IAEbN,gBAAAA,EAAkBO,IAAAA,CAAK,MAAM,KAAK;AAAA;AAAA;AAEtC;AAEO,MAAMC,wBAAAA,GAMT;AAAA,EACFzC,IAAAA,EAAM;AAAA,IACJ6B,aAAAA,EAAea,uBAAAA;AAAAA,IACfX,WAAAA,EAAaY;AAAAA,GACf;AAAA,EACAvC,KAAAA,EAAO;AAAA,IACLyB,aAAAA,EAAee,wBAAAA;AAAAA,IACfb,WAAAA,EAAac;AAAAA,GACf;AAAA,EACAtC,GAAAA,EAAK;AAAA,IACHsB,aAAAA,EAAeiB,sBAAAA;AAAAA,IACff,WAAAA,EAAagB;AAAAA;AAEjB;AAEO,MAAMC,eAAAA,GAAkB;AAAA,EAC7BC,IAAAA,EAAM,MAAA;AAAA,EACNC,GAAAA,EAAK;AACP;AAEO,MAAMC,kBAAkBC,CAAAA,SAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC7B,EAAA,MAAA;AAAA,IAAAzB,aAAAA;AAAAA,IAAAE;AAAAA,GAAA,GAAuCH,sBAAsBwB,SAAS,CAAA;AACtE,EAAA,MAAAG,SAAAA,GAAkBC,aAAa3B,aAAa,CAAA;AAC5C,EAAA,MAAA4B,OAAAA,GAAgBD,aAAazB,WAAW,CAAA;AAAE,EAAA,IAAA2B,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAE,aAAAF,CAAAA,QAAAI,OAAAA,EAAA;AACnCC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,SAAAA;AAAAA,MAAAE;AAAAA,KAAqB;AAACJ,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAtBK,EAAAA;AAAsB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"setTokenByAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,eAAO,MAAM,kBAAkB;;CAA2B,CAAC;AA8W3D,wBAAgB,2BAA2B,SAE1C;AAED,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,aAAa,EACb,IAAI,EACJ,aAAa,GACd,GAAE,cAAmB,QA6BrB"}
1
+ {"version":3,"file":"setTokenByAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM9C,eAAO,MAAM,kBAAkB;;CAA2B,CAAC;AAyW3D,wBAAgB,2BAA2B,SAE1C;AAED,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,aAAa,EACb,IAAI,EACJ,aAAa,GACd,GAAE,cAAmB,QA6BrB"}
@@ -12,14 +12,16 @@ import { isSupportedChainId } from '../../../lib/web3/wagmi/utils.js';
12
12
  import { areTokensSame } from '../../../tokens/utils/areTokensSame.js';
13
13
  import { pickDefaultTokenPair } from '../../../tokens/defaultTokens.js';
14
14
  import { tradeModeAtom, userTradeModeAtom } from '../../state/tradeModeAtom.js';
15
- import { tradeModeToTokenAtoms, tradeModeToSetTokenAtoms, tradeModeToCurrentInputAtom, sideToInputType, tradeModeToSideAtom, tradeModeToPayAmountUnitAtom, tradeModeToReceiveAmountUnitAtom, tradeModeToTimeUnitAtom } from './common.js';
15
+ import { tradeModeToTokenAtoms, tradeModeToSetTokenAtoms, sideToInputType, tradeModeToPayAmountUnitAtom, tradeModeToReceiveAmountUnitAtom, tradeModeToTimeUnitAtom } from './common.js';
16
16
  import { wrappedNativeCurrency } from '../../../lib/constants/weth.js';
17
17
  import { autoAddImportedTokenAtom } from '../../../tokens/state/addImportedTokenAtom.js';
18
18
  import { getLogger } from '../../logger.js';
19
19
  import { assert } from 'ts-essentials';
20
20
  import { bridgeInfosLoadedAtom } from '../../../hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js';
21
- import { isTradeMode, tradeModesWithCrosschain, tradeModesWithSide } from '../../../lib/tradeMode.js';
21
+ import { isTradeMode } from '../../../lib/tradeMode.js';
22
22
  import { enabledTradeModesFromConfigAtom, enabledTradeModesAtom } from '../../state/enabledTradeModesAtom.js';
23
+ import { swapSideAtom } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
24
+ import { currentSwapInputAtom } from '../../state/currentSwapInputAtom.js';
23
25
  import { getClosestTimeUnit } from '../../limit/state/utils.js';
24
26
 
25
27
  const formInputPropsAtom = atom({});
@@ -76,9 +78,8 @@ const formInputPropsEffectAtom = atomEffect((get, set) => {
76
78
  const srcChainId = formInputProps.srcChainId !== void 0 ? Number(formInputProps.srcChainId) : void 0;
77
79
  logger.log("using external props to set Widget form input", formInputProps);
78
80
  let destChainId = formInputProps.destChainId !== void 0 ? Number(formInputProps.destChainId) : void 0;
79
- const currentTradeMode = get.peek(tradeModeAtom);
80
81
  let tokenToAddress = formInputProps.tokenToAddress;
81
- let selectedForm = formInputProps.selectedForm || currentTradeMode;
82
+ let selectedForm = formInputProps.selectedForm || "swap";
82
83
  if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {
83
84
  logger.warn("invalid, disabled or unavailable selectedForm provided", {
84
85
  selectedForm
@@ -89,13 +90,14 @@ const formInputPropsEffectAtom = atomEffect((get, set) => {
89
90
  const formAtoms = tradeModeToTokenAtoms[selectedForm];
90
91
  const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);
91
92
  const currentTokenTo = get.peek(formAtoms.tokenToAtom);
93
+ const currentTradeMode = get.peek(tradeModeAtom);
92
94
  if (currentTradeMode !== selectedForm) {
93
95
  set(userTradeModeAtom, selectedForm);
94
96
  }
95
97
  let newTokenFrom;
96
98
  let newTokenTo;
97
99
  const defaultChainId = currentTokenFrom.network;
98
- if (!tradeModesWithCrosschain.has(selectedForm)) {
100
+ if (selectedForm !== "swap" && selectedForm !== "limit") {
99
101
  destChainId = srcChainId;
100
102
  }
101
103
  if (selectedForm === "otc" && tokenToAddress && isETHaddress(tokenToAddress)) {
@@ -155,38 +157,36 @@ const formInputPropsEffectAtom = atomEffect((get, set) => {
155
157
  const selectTokenToAtom = tradeModeToSetTokenAtoms[selectedForm].tokenToAtom;
156
158
  set(selectTokenToAtom, newTokenTo);
157
159
  }
158
- const currentSideAtom = tradeModeToSideAtom[selectedForm];
159
- const currentInputAtom = tradeModeToCurrentInputAtom[selectedForm];
160
160
  let side = formInputProps.side;
161
- if (tradeModesWithSide.has(selectedForm)) {
162
- if (isValidSide(side)) {
163
- set(currentInputAtom, sideToInputType[side]);
164
- } else {
165
- if (side) {
166
- logger.warn("invalid side provided, must be BUY or SELL", {
167
- side
168
- });
169
- }
161
+ if (isValidSide(side)) {
162
+ set(currentSwapInputAtom, sideToInputType[side]);
163
+ } else {
164
+ if (side) {
165
+ logger.warn("invalid side provided, must be BUY or SELL", {
166
+ side
167
+ });
168
+ }
169
+ if (selectedForm === "swap") {
170
170
  if (sendAmount && !receiveAmount) {
171
171
  side = "SELL";
172
172
  } else if (receiveAmount && !sendAmount) {
173
173
  side = "BUY";
174
174
  } else {
175
- side = get.peek(currentSideAtom);
175
+ side = get.peek(swapSideAtom);
176
176
  }
177
+ } else {
178
+ side = get.peek(swapSideAtom);
177
179
  }
178
- } else {
179
- side = get.peek(currentSideAtom);
180
180
  }
181
181
  assert(isValidSide(side), "side must be BUY or SELL");
182
- const isTradeModeWithSide = tradeModesWithSide.has(selectedForm);
183
- const isTradeModeWithoutSide = !isTradeModeWithSide;
184
- const isSell = isTradeModeWithSide && side === "SELL";
185
- const isBuy = isTradeModeWithSide && side === "BUY";
182
+ const isSwap = selectedForm === "swap";
183
+ const isLimitOrOtc = selectedForm === "limit" || selectedForm === "otc";
184
+ const isSwapWithSell = isSwap && side === "SELL";
185
+ const isSwapWithBuy = isSwap && side === "BUY";
186
186
  if (
187
187
  // given a valid sendAmount
188
- sendAmount && Number(sendAmount) >= 0 && // and the form with side=sell or without side
189
- (isSell || isTradeModeWithoutSide)
188
+ sendAmount && Number(sendAmount) >= 0 && // and the form is a swap with side=sell or limit or otc
189
+ (isSwapWithSell || isLimitOrOtc)
190
190
  ) {
191
191
  const formPayAmountAtom = tradeModeToPayAmountUnitAtom[selectedForm];
192
192
  const currentSendAmount = get.peek(formPayAmountAtom.read);
@@ -196,8 +196,8 @@ const formInputPropsEffectAtom = atomEffect((get, set) => {
196
196
  }
197
197
  if (
198
198
  // given a valid receiveAmount
199
- receiveAmount && Number(receiveAmount) >= 0 && // and the form with side=buy or without side
200
- (isBuy || isTradeModeWithoutSide)
199
+ receiveAmount && Number(receiveAmount) >= 0 && // and the form is a swap with side=buy or limit or otc
200
+ (isSwapWithBuy || isLimitOrOtc)
201
201
  ) {
202
202
  const formReceiveAmountAtom = tradeModeToReceiveAmountUnitAtom[selectedForm];
203
203
  const currentReceiveAmount = get.peek(formReceiveAmountAtom.read);
@@ -1 +1 @@
1
- {"version":3,"file":"setTokenByAddressAtom.js","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"sourcesContent":["import { atom, type Setter } from \"jotai\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { atomEffect, type Effect } from \"jotai-effect\";\nimport { isAddress, type Address } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { nativeTokensByChainId } from \"@/tokens/constructor\";\nimport { fromListsAtom } from \"@/tokens/state/fromListsAtom\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"@/tokens/state/importedTokensAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useLayoutEffect } from \"react\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { tradeModeAtom, userTradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport {\n sideToInputType,\n tradeModeToCurrentInputAtom,\n tradeModeToPayAmountUnitAtom,\n tradeModeToReceiveAmountUnitAtom,\n tradeModeToSetTokenAtoms,\n tradeModeToSideAtom,\n tradeModeToTimeUnitAtom,\n tradeModeToTokenAtoms,\n} from \"./common\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { autoAddImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { getLogger } from \"@/core/logger\";\nimport { assert } from \"ts-essentials\";\nimport { bridgeInfosLoadedAtom } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom\";\nimport {\n isTradeMode,\n tradeModesWithCrosschain,\n tradeModesWithSide,\n} from \"@/lib/tradeMode\";\nimport {\n enabledTradeModesAtom,\n enabledTradeModesFromConfigAtom,\n} from \"@/core/state/enabledTradeModesAtom\";\nimport type { FormInputProps } from \"./types\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { getClosestTimeUnit } from \"@/core/limit/state/utils\";\n\nexport const formInputPropsAtom = atom<FormInputProps>({});\n\n// in case formInputPros passed to Widget are not exactly expected types\ntype RelaxedFormInputProps = {\n [K in keyof FormInputProps]?: NonNullable<FormInputProps[K]> extends string\n ? string\n : NonNullable<FormInputProps[K]> extends number\n ? number\n : FormInputProps[K];\n};\n\nconst logger = getLogger(\"FormInputProps\");\n\ntype GetterWithPeek = Parameters<Effect>[0];\n\ntype FindTokenAtomsInput = {\n tokenToFind: { address: Address; network: SupportedChainId };\n get: GetterWithPeek;\n set: Setter;\n};\n\nfunction findTokenInAtoms({\n get,\n set,\n tokenToFind,\n}: FindTokenAtomsInput): Token | undefined {\n const tokenFromAddress = tokenToFind.address;\n const chainId = tokenToFind.network;\n\n if (isETHaddress(tokenFromAddress)) {\n // if tokenFrom is ETH, set the native token for tokenFrom Input\n const nativeToken = nativeTokensByChainId[chainId];\n return nativeToken;\n }\n\n const tokenFromLowercase = tokenFromAddress.toLowerCase();\n\n // find the token from the token Lists for the srcChainId,\n // and retry to find the token when allTokens are updated (token lists loaded)\n const tokensMap = get(fromListsAtom).listByChainId[chainId]?.addressMap;\n const tokenFromLists = tokensMap?.[tokenFromLowercase];\n if (tokenFromLists) {\n return tokenFromLists;\n }\n\n // find the token from the imported tokens,\n // don't retry if user imports more tokens during the session\n const importedTokens = get.peek(importedTokensAtom);\n const importedToken = importedTokens[chainId]?.find(\n (token) => token.address.toLowerCase() === tokenFromLowercase\n );\n if (importedToken) {\n return importedToken;\n }\n\n // subscribe to auto-imported tokens, which will be added to only when tokenAddress prop is supplied from outside the widget\n const autoImportedTokens = get(autoImportedTokensAtom);\n // looking through auto-imported tokens isn't strictly necessary because importedTokens atom is updated together with autoImportedTokens atom,\n // except for consistency, and so that we don't have to subscribe to importedTokens atom that would retrigger formProps matching on manual token import\n const autoImportedToken = autoImportedTokens.find(\n (token) =>\n token.address.toLowerCase() === tokenFromLowercase &&\n token.network === chainId\n );\n if (autoImportedToken) {\n return autoImportedToken;\n }\n\n logger.info(\n \"token not available in widget. Will attempt to import from chain\",\n {\n address: tokenFromAddress,\n chainId,\n }\n );\n\n // trigger Token fetch and eventual import when tokenFromAddress is not found in available token lists and atoms\n set(autoAddImportedTokenAtom, { address: tokenFromAddress, chainId });\n}\n\nfunction isValidSide(side: string | undefined): side is SwapSideUnion {\n return side === \"BUY\" || side === \"SELL\";\n}\n\nconst formInputPropsEffectAtom = atomEffect((get, set) => {\n // subscribe to bridgeInfosLoadedAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfosLoadedAtom);\n\n // subscribe to enabledTradeModesAtom to react to changes in enabled trade modes\n get(enabledTradeModesFromConfigAtom);\n // and use enabledTradeModesAtom as final source of truth (it derrives from enabledTradeModesFromConfigAtom)\n const enabledTradeModes = get.peek(enabledTradeModesAtom);\n\n const formInputProps: RelaxedFormInputProps = get(formInputPropsAtom);\n const { tokenFromAddress } = formInputProps;\n\n // guard against amounts passed as numbers when props are supplied from outside the Widget and types are ignored\n const sendAmount =\n formInputProps.sendAmount !== undefined\n ? String(formInputProps.sendAmount)\n : undefined;\n const receiveAmount =\n formInputProps.receiveAmount !== undefined\n ? String(formInputProps.receiveAmount)\n : undefined;\n\n // guard against chainId passed as string when props are supplied from outside the Widget and types are ignored\n const srcChainId =\n formInputProps.srcChainId !== undefined\n ? Number(formInputProps.srcChainId)\n : undefined;\n\n logger.log(\"using external props to set Widget form input\", formInputProps);\n\n let destChainId =\n formInputProps.destChainId !== undefined\n ? Number(formInputProps.destChainId)\n : undefined;\n\n const currentTradeMode = get.peek(tradeModeAtom);\n\n let tokenToAddress = formInputProps.tokenToAddress;\n let selectedForm = formInputProps.selectedForm || currentTradeMode;\n if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid, disabled or unavailable selectedForm provided\", {\n selectedForm,\n });\n // fallback to first enabled trade mode from the config\n selectedForm = enabledTradeModes[0];\n }\n\n // necessary for type safety\n assert(isTradeMode(selectedForm), \"selectedForm must be a valid trade mode\");\n\n const formAtoms = tradeModeToTokenAtoms[selectedForm];\n const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);\n const currentTokenTo = get.peek(formAtoms.tokenToAtom);\n\n if (currentTradeMode !== selectedForm) {\n set(userTradeModeAtom, selectedForm);\n }\n\n let newTokenFrom: Token | undefined;\n let newTokenTo: Token | undefined;\n\n // if chain isn't given in props, match current srcChainId\n const defaultChainId = currentTokenFrom.network;\n\n if (!tradeModesWithCrosschain.has(selectedForm)) {\n // force destChainId = srcChainId for trade modes that don't support crosschain\n destChainId = srcChainId;\n }\n\n if (\n selectedForm === \"otc\" &&\n tokenToAddress &&\n isETHaddress(tokenToAddress)\n ) {\n const wethMapping: Record<number, Address> = wrappedNativeCurrency;\n // OTC Orders don't support ETH as tokenTo=takerAsset,\n // more logical to use WETH instead of no token at all\n tokenToAddress = wethMapping[destChainId || defaultChainId];\n }\n\n {\n // match tokenFromAddress and srcChainId to a new tokenFrom to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenFromAddress, network: srcChainId },\n currentToken: currentTokenFrom,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenFrom = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n {\n // match tokenToAddress and destChainId to a new tokenTo to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenToAddress, network: destChainId },\n currentToken: currentTokenTo,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenTo = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n if (newTokenFrom && newTokenTo && areTokensSame(newTokenFrom, newTokenTo)) {\n // if tokens are the same, skip tokenTo\n newTokenTo = undefined;\n }\n\n if (\n !newTokenFrom &&\n !tokenFromAddress &&\n srcChainId &&\n isSupportedChainId(srcChainId) &&\n srcChainId !== currentTokenFrom.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [defaultTokenFrom] = pickDefaultTokenPair(srcChainId, selectedForm);\n // set default token for the chain\n newTokenFrom = defaultTokenFrom;\n }\n\n if (\n !newTokenTo &&\n !tokenToAddress &&\n destChainId &&\n isSupportedChainId(destChainId) &&\n destChainId !== currentTokenTo?.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [, defaultTokenTo] = pickDefaultTokenPair(destChainId, selectedForm);\n // set default token for the chain\n newTokenTo = defaultTokenTo;\n }\n\n if (newTokenFrom) {\n const selectTokenFromAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenFromAtom;\n set(selectTokenFromAtom, newTokenFrom);\n }\n if (newTokenTo) {\n const selectTokenToAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenToAtom;\n set(selectTokenToAtom, newTokenTo);\n }\n\n const currentSideAtom = tradeModeToSideAtom[selectedForm];\n const currentInputAtom = tradeModeToCurrentInputAtom[selectedForm];\n\n let side = formInputProps.side;\n\n if (tradeModesWithSide.has(selectedForm)) {\n if (isValidSide(side)) {\n set(currentInputAtom, sideToInputType[side]);\n } else {\n if (side) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid side provided, must be BUY or SELL\", { side });\n }\n\n if (sendAmount && !receiveAmount) {\n side = \"SELL\"; // sendAmount is given and receiveAmount isn't -> SELL\n } else if (receiveAmount && !sendAmount) {\n side = \"BUY\"; // receiveAmount is given and sendAmount isn't -> BUY\n } else {\n // fallback to current side if both or none amounts are given\n side = get.peek(currentSideAtom);\n }\n }\n } else {\n side = get.peek(currentSideAtom);\n }\n\n // necessary for type safety\n assert(isValidSide(side), \"side must be BUY or SELL\");\n\n const isTradeModeWithSide = tradeModesWithSide.has(selectedForm);\n const isTradeModeWithoutSide = !isTradeModeWithSide;\n\n const isSell = isTradeModeWithSide && side === \"SELL\";\n const isBuy = isTradeModeWithSide && side === \"BUY\";\n\n if (\n // given a valid sendAmount\n sendAmount &&\n Number(sendAmount) >= 0 &&\n // and the form with side=sell or without side\n (isSell || isTradeModeWithoutSide)\n ) {\n // update the send amount\n const formPayAmountAtom = tradeModeToPayAmountUnitAtom[selectedForm];\n const currentSendAmount = get.peek(formPayAmountAtom.read);\n if (currentSendAmount !== sendAmount) {\n set(formPayAmountAtom.write, sendAmount);\n }\n }\n\n if (\n // given a valid receiveAmount\n receiveAmount &&\n Number(receiveAmount) >= 0 &&\n // and the form with side=buy or without side\n (isBuy || isTradeModeWithoutSide)\n ) {\n // update the receive amount\n const formReceiveAmountAtom =\n tradeModeToReceiveAmountUnitAtom[selectedForm];\n const currentReceiveAmount = get.peek(formReceiveAmountAtom.read);\n if (currentReceiveAmount !== receiveAmount) {\n set(formReceiveAmountAtom.write, receiveAmount);\n }\n }\n\n if (selectedForm === \"limit\" || selectedForm === \"otc\") {\n // OTC and Limit forms support order deadline param\n const orderDeadline = Number(formInputProps.orderDeadline);\n if (orderDeadline !== undefined && !isNaN(orderDeadline)) {\n const timeUnitAtom = tradeModeToTimeUnitAtom[selectedForm];\n const currentTimeUnit = get.peek(timeUnitAtom);\n\n if (currentTimeUnit.timestamp !== orderDeadline) {\n set(timeUnitAtom, {\n // set closest time unit for better UX\n ...getClosestTimeUnit(orderDeadline),\n // set exact timestamp\n timestamp: orderDeadline,\n });\n }\n }\n }\n});\n\nfunction getTokenToFind({\n tokenFromProps,\n currentToken,\n defaultChainId,\n}: {\n tokenFromProps: { address?: string; network?: number };\n currentToken?: Token;\n defaultChainId: SupportedChainId;\n}): { address: Address; network: SupportedChainId } | undefined {\n if (!tokenFromProps.address) return;\n // guard against malformed addresses passed through props\n if (!isAddress(tokenFromProps.address)) {\n logger.warn(\"malformed token address provided\", {\n address: tokenFromProps.address,\n });\n return;\n }\n\n const network = tokenFromProps.network || defaultChainId;\n\n // unsupported chainId provided, can't select this Token\n if (!isSupportedChainId(network)) {\n logger.warn(\"unsupported chainId provided\", { network });\n return;\n }\n\n if (\n currentToken &&\n areTokensSame(currentToken, {\n address: tokenFromProps.address,\n network,\n })\n ) {\n // same token already there\n return;\n }\n\n return { address: tokenFromProps.address, network };\n}\n\nexport function useActivateFormInputEffects() {\n useAtom(formInputPropsEffectAtom);\n}\n\nexport function useSetFormInputFromProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n receiveAmount,\n side,\n orderDeadline,\n}: FormInputProps = {}) {\n const setFormInputProps = useSetAtom(formInputPropsAtom);\n\n // match props together as they are supplied together from outside the Widget,\n // on any one prop change, the whole form input props are updated as long as they are passed together to the Widget\n useLayoutEffect(() => {\n setFormInputProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n receiveAmount,\n side,\n orderDeadline,\n });\n }, [\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n setFormInputProps,\n receiveAmount,\n side,\n orderDeadline,\n ]);\n}\n"],"names":["formInputPropsAtom","atom","logger","getLogger","findTokenInAtoms","get","set","tokenToFind","tokenFromAddress","address","chainId","network","isETHaddress","nativeToken","nativeTokensByChainId","tokenFromLowercase","toLowerCase","tokensMap","fromListsAtom","listByChainId","addressMap","tokenFromLists","importedTokens","peek","importedTokensAtom","importedToken","find","token","autoImportedTokens","autoImportedTokensAtom","autoImportedToken","info","autoAddImportedTokenAtom","isValidSide","side","formInputPropsEffectAtom","atomEffect","bridgeInfosLoadedAtom","enabledTradeModesFromConfigAtom","enabledTradeModes","enabledTradeModesAtom","formInputProps","sendAmount","undefined","String","receiveAmount","srcChainId","Number","log","destChainId","currentTradeMode","tradeModeAtom","tokenToAddress","selectedForm","isTradeMode","includes","warn","assert","formAtoms","tradeModeToTokenAtoms","currentTokenFrom","tokenFromAtom","currentTokenTo","tokenToAtom","userTradeModeAtom","newTokenFrom","newTokenTo","defaultChainId","tradeModesWithCrosschain","has","wethMapping","wrappedNativeCurrency","getTokenToFind","tokenFromProps","currentToken","areTokensSame","isSupportedChainId","defaultTokenFrom","pickDefaultTokenPair","defaultTokenTo","selectTokenFromAtom","tradeModeToSetTokenAtoms","selectTokenToAtom","currentSideAtom","tradeModeToSideAtom","currentInputAtom","tradeModeToCurrentInputAtom","tradeModesWithSide","sideToInputType","isTradeModeWithSide","isTradeModeWithoutSide","isSell","isBuy","formPayAmountAtom","tradeModeToPayAmountUnitAtom","currentSendAmount","read","write","formReceiveAmountAtom","tradeModeToReceiveAmountUnitAtom","currentReceiveAmount","orderDeadline","isNaN","timeUnitAtom","tradeModeToTimeUnitAtom","currentTimeUnit","timestamp","getClosestTimeUnit","isAddress","useActivateFormInputEffects","useAtom","useSetFormInputFromProps","t0","$","_c","t1","setFormInputProps","useSetAtom","t2","t3","useLayoutEffect"],"mappings":"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"}
1
+ {"version":3,"file":"setTokenByAddressAtom.js","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"sourcesContent":["import { atom, type Setter } from \"jotai\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { atomEffect, type Effect } from \"jotai-effect\";\nimport { isAddress, type Address } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { nativeTokensByChainId } from \"@/tokens/constructor\";\nimport { fromListsAtom } from \"@/tokens/state/fromListsAtom\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"@/tokens/state/importedTokensAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useLayoutEffect } from \"react\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { tradeModeAtom, userTradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport {\n sideToInputType,\n tradeModeToPayAmountUnitAtom,\n tradeModeToReceiveAmountUnitAtom,\n tradeModeToSetTokenAtoms,\n tradeModeToTimeUnitAtom,\n tradeModeToTokenAtoms,\n} from \"./common\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { autoAddImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { getLogger } from \"@/core/logger\";\nimport { assert } from \"ts-essentials\";\nimport { bridgeInfosLoadedAtom } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom\";\nimport { isTradeMode } from \"@/lib/tradeMode\";\nimport {\n enabledTradeModesAtom,\n enabledTradeModesFromConfigAtom,\n} from \"@/core/state/enabledTradeModesAtom\";\nimport type { FormInputProps } from \"./types\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { swapSideAtom } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { getClosestTimeUnit } from \"@/core/limit/state/utils\";\n\nexport const formInputPropsAtom = atom<FormInputProps>({});\n\n// in case formInputPros passed to Widget are not exactly expected types\ntype RelaxedFormInputProps = {\n [K in keyof FormInputProps]?: NonNullable<FormInputProps[K]> extends string\n ? string\n : NonNullable<FormInputProps[K]> extends number\n ? number\n : FormInputProps[K];\n};\n\nconst logger = getLogger(\"FormInputProps\");\n\ntype GetterWithPeek = Parameters<Effect>[0];\n\ntype FindTokenAtomsInput = {\n tokenToFind: { address: Address; network: SupportedChainId };\n get: GetterWithPeek;\n set: Setter;\n};\n\nfunction findTokenInAtoms({\n get,\n set,\n tokenToFind,\n}: FindTokenAtomsInput): Token | undefined {\n const tokenFromAddress = tokenToFind.address;\n const chainId = tokenToFind.network;\n\n if (isETHaddress(tokenFromAddress)) {\n // if tokenFrom is ETH, set the native token for tokenFrom Input\n const nativeToken = nativeTokensByChainId[chainId];\n return nativeToken;\n }\n\n const tokenFromLowercase = tokenFromAddress.toLowerCase();\n\n // find the token from the token Lists for the srcChainId,\n // and retry to find the token when allTokens are updated (token lists loaded)\n const tokensMap = get(fromListsAtom).listByChainId[chainId]?.addressMap;\n const tokenFromLists = tokensMap?.[tokenFromLowercase];\n if (tokenFromLists) {\n return tokenFromLists;\n }\n\n // find the token from the imported tokens,\n // don't retry if user imports more tokens during the session\n const importedTokens = get.peek(importedTokensAtom);\n const importedToken = importedTokens[chainId]?.find(\n (token) => token.address.toLowerCase() === tokenFromLowercase\n );\n if (importedToken) {\n return importedToken;\n }\n\n // subscribe to auto-imported tokens, which will be added to only when tokenAddress prop is supplied from outside the widget\n const autoImportedTokens = get(autoImportedTokensAtom);\n // looking through auto-imported tokens isn't strictly necessary because importedTokens atom is updated together with autoImportedTokens atom,\n // except for consistency, and so that we don't have to subscribe to importedTokens atom that would retrigger formProps matching on manual token import\n const autoImportedToken = autoImportedTokens.find(\n (token) =>\n token.address.toLowerCase() === tokenFromLowercase &&\n token.network === chainId\n );\n if (autoImportedToken) {\n return autoImportedToken;\n }\n\n logger.info(\n \"token not available in widget. Will attempt to import from chain\",\n {\n address: tokenFromAddress,\n chainId,\n }\n );\n\n // trigger Token fetch and eventual import when tokenFromAddress is not found in available token lists and atoms\n set(autoAddImportedTokenAtom, { address: tokenFromAddress, chainId });\n}\n\nfunction isValidSide(side: string | undefined): side is SwapSideUnion {\n return side === \"BUY\" || side === \"SELL\";\n}\n\nconst formInputPropsEffectAtom = atomEffect((get, set) => {\n // subscribe to bridgeInfosLoadedAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfosLoadedAtom);\n\n // subscribe to enabledTradeModesAtom to react to changes in enabled trade modes\n get(enabledTradeModesFromConfigAtom);\n // and use enabledTradeModesAtom as final source of truth (it derrives from enabledTradeModesFromConfigAtom)\n const enabledTradeModes = get.peek(enabledTradeModesAtom);\n\n const formInputProps: RelaxedFormInputProps = get(formInputPropsAtom);\n const { tokenFromAddress } = formInputProps;\n\n // guard against amounts passed as numbers when props are supplied from outside the Widget and types are ignored\n const sendAmount =\n formInputProps.sendAmount !== undefined\n ? String(formInputProps.sendAmount)\n : undefined;\n const receiveAmount =\n formInputProps.receiveAmount !== undefined\n ? String(formInputProps.receiveAmount)\n : undefined;\n\n // guard against chainId passed as string when props are supplied from outside the Widget and types are ignored\n const srcChainId =\n formInputProps.srcChainId !== undefined\n ? Number(formInputProps.srcChainId)\n : undefined;\n\n logger.log(\"using external props to set Widget form input\", formInputProps);\n\n let destChainId =\n formInputProps.destChainId !== undefined\n ? Number(formInputProps.destChainId)\n : undefined;\n\n let tokenToAddress = formInputProps.tokenToAddress;\n let selectedForm = formInputProps.selectedForm || \"swap\";\n if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid, disabled or unavailable selectedForm provided\", { selectedForm });\n // fallback to first enabled trade mode from the config\n selectedForm = enabledTradeModes[0];\n }\n\n // necessary for type safety\n assert(isTradeMode(selectedForm), \"selectedForm must be a valid trade mode\");\n\n const formAtoms = tradeModeToTokenAtoms[selectedForm];\n const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);\n const currentTokenTo = get.peek(formAtoms.tokenToAtom);\n\n const currentTradeMode = get.peek(tradeModeAtom);\n\n if (currentTradeMode !== selectedForm) {\n set(userTradeModeAtom, selectedForm);\n }\n\n let newTokenFrom: Token | undefined;\n let newTokenTo: Token | undefined;\n\n // if chain isn't given in props, match current srcChainId\n const defaultChainId = currentTokenFrom.network;\n\n if (selectedForm !== \"swap\" && selectedForm !== \"limit\") {\n // swap and limit forms support crosschain,\n // force destChainId = srcChainId for any other form\n destChainId = srcChainId;\n }\n\n if (\n selectedForm === \"otc\" &&\n tokenToAddress &&\n isETHaddress(tokenToAddress)\n ) {\n const wethMapping: Record<number, Address> = wrappedNativeCurrency;\n // OTC Orders don't support ETH as tokenTo=takerAsset,\n // more logical to use WETH instead of no token at all\n tokenToAddress = wethMapping[destChainId || defaultChainId];\n }\n\n {\n // match tokenFromAddress and srcChainId to a new tokenFrom to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenFromAddress, network: srcChainId },\n currentToken: currentTokenFrom,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenFrom = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n {\n // match tokenToAddress and destChainId to a new tokenTo to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenToAddress, network: destChainId },\n currentToken: currentTokenTo,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenTo = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n if (newTokenFrom && newTokenTo && areTokensSame(newTokenFrom, newTokenTo)) {\n // if tokens are the same, skip tokenTo\n newTokenTo = undefined;\n }\n\n if (\n !newTokenFrom &&\n !tokenFromAddress &&\n srcChainId &&\n isSupportedChainId(srcChainId) &&\n srcChainId !== currentTokenFrom.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [defaultTokenFrom] = pickDefaultTokenPair(srcChainId, selectedForm);\n // set default token for the chain\n newTokenFrom = defaultTokenFrom;\n }\n\n if (\n !newTokenTo &&\n !tokenToAddress &&\n destChainId &&\n isSupportedChainId(destChainId) &&\n destChainId !== currentTokenTo?.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [, defaultTokenTo] = pickDefaultTokenPair(destChainId, selectedForm);\n // set default token for the chain\n newTokenTo = defaultTokenTo;\n }\n\n if (newTokenFrom) {\n const selectTokenFromAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenFromAtom;\n set(selectTokenFromAtom, newTokenFrom);\n }\n if (newTokenTo) {\n const selectTokenToAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenToAtom;\n set(selectTokenToAtom, newTokenTo);\n }\n\n let side = formInputProps.side;\n if (isValidSide(side)) {\n set(currentSwapInputAtom, sideToInputType[side]);\n } else {\n if (side) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid side provided, must be BUY or SELL\", { side });\n }\n if (selectedForm === \"swap\") {\n if (sendAmount && !receiveAmount) {\n side = \"SELL\"; // sendAmount is given and receiveAmount isn't -> SELL\n } else if (receiveAmount && !sendAmount) {\n side = \"BUY\"; // receiveAmount is given and sendAmount isn't -> BUY\n } else {\n // fallback to current swap side if both or none amounts are given\n side = get.peek(swapSideAtom);\n }\n } else {\n // fallback to current swap side for non-swap forms\n side = get.peek(swapSideAtom);\n }\n }\n\n // necessary for type safety\n assert(isValidSide(side), \"side must be BUY or SELL\");\n\n const isSwap = selectedForm === \"swap\";\n const isLimitOrOtc = selectedForm === \"limit\" || selectedForm === \"otc\";\n\n const isSwapWithSell = isSwap && side === \"SELL\";\n const isSwapWithBuy = isSwap && side === \"BUY\";\n\n if (\n // given a valid sendAmount\n sendAmount &&\n Number(sendAmount) >= 0 &&\n // and the form is a swap with side=sell or limit or otc\n (isSwapWithSell || isLimitOrOtc)\n ) {\n // update the send amount\n const formPayAmountAtom = tradeModeToPayAmountUnitAtom[selectedForm];\n const currentSendAmount = get.peek(formPayAmountAtom.read);\n if (currentSendAmount !== sendAmount) {\n set(formPayAmountAtom.write, sendAmount);\n }\n }\n\n if (\n // given a valid receiveAmount\n receiveAmount &&\n Number(receiveAmount) >= 0 &&\n // and the form is a swap with side=buy or limit or otc\n (isSwapWithBuy || isLimitOrOtc)\n ) {\n // update the receive amount\n const formReceiveAmountAtom =\n tradeModeToReceiveAmountUnitAtom[selectedForm];\n const currentReceiveAmount = get.peek(formReceiveAmountAtom.read);\n if (currentReceiveAmount !== receiveAmount) {\n set(formReceiveAmountAtom.write, receiveAmount);\n }\n }\n\n if (selectedForm === \"limit\" || selectedForm === \"otc\") {\n // OTC and Limit forms support order deadline param\n const orderDeadline = Number(formInputProps.orderDeadline);\n if (orderDeadline !== undefined && !isNaN(orderDeadline)) {\n const timeUnitAtom = tradeModeToTimeUnitAtom[selectedForm];\n const currentTimeUnit = get.peek(timeUnitAtom);\n\n if (currentTimeUnit.timestamp !== orderDeadline) {\n set(timeUnitAtom, {\n // set closest time unit for better UX\n ...getClosestTimeUnit(orderDeadline),\n // set exact timestamp\n timestamp: orderDeadline,\n });\n }\n }\n }\n});\n\nfunction getTokenToFind({\n tokenFromProps,\n currentToken,\n defaultChainId,\n}: {\n tokenFromProps: { address?: string; network?: number };\n currentToken?: Token;\n defaultChainId: SupportedChainId;\n}): { address: Address; network: SupportedChainId } | undefined {\n if (!tokenFromProps.address) return;\n // guard against malformed addresses passed through props\n if (!isAddress(tokenFromProps.address)) {\n logger.warn(\"malformed token address provided\", {\n address: tokenFromProps.address,\n });\n return;\n }\n\n const network = tokenFromProps.network || defaultChainId;\n\n // unsupported chainId provided, can't select this Token\n if (!isSupportedChainId(network)) {\n logger.warn(\"unsupported chainId provided\", { network });\n return;\n }\n\n if (\n currentToken &&\n areTokensSame(currentToken, {\n address: tokenFromProps.address,\n network,\n })\n ) {\n // same token already there\n return;\n }\n\n return { address: tokenFromProps.address, network };\n}\n\nexport function useActivateFormInputEffects() {\n useAtom(formInputPropsEffectAtom);\n}\n\nexport function useSetFormInputFromProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n receiveAmount,\n side,\n orderDeadline,\n}: FormInputProps = {}) {\n const setFormInputProps = useSetAtom(formInputPropsAtom);\n\n // match props together as they are supplied together from outside the Widget,\n // on any one prop change, the whole form input props are updated as long as they are passed together to the Widget\n useLayoutEffect(() => {\n setFormInputProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n receiveAmount,\n side,\n orderDeadline,\n });\n }, [\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n setFormInputProps,\n receiveAmount,\n side,\n orderDeadline,\n ]);\n}\n"],"names":["formInputPropsAtom","atom","logger","getLogger","findTokenInAtoms","get","set","tokenToFind","tokenFromAddress","address","chainId","network","isETHaddress","nativeToken","nativeTokensByChainId","tokenFromLowercase","toLowerCase","tokensMap","fromListsAtom","listByChainId","addressMap","tokenFromLists","importedTokens","peek","importedTokensAtom","importedToken","find","token","autoImportedTokens","autoImportedTokensAtom","autoImportedToken","info","autoAddImportedTokenAtom","isValidSide","side","formInputPropsEffectAtom","atomEffect","bridgeInfosLoadedAtom","enabledTradeModesFromConfigAtom","enabledTradeModes","enabledTradeModesAtom","formInputProps","sendAmount","undefined","String","receiveAmount","srcChainId","Number","log","destChainId","tokenToAddress","selectedForm","isTradeMode","includes","warn","assert","formAtoms","tradeModeToTokenAtoms","currentTokenFrom","tokenFromAtom","currentTokenTo","tokenToAtom","currentTradeMode","tradeModeAtom","userTradeModeAtom","newTokenFrom","newTokenTo","defaultChainId","wethMapping","wrappedNativeCurrency","getTokenToFind","tokenFromProps","currentToken","areTokensSame","isSupportedChainId","defaultTokenFrom","pickDefaultTokenPair","defaultTokenTo","selectTokenFromAtom","tradeModeToSetTokenAtoms","selectTokenToAtom","currentSwapInputAtom","sideToInputType","swapSideAtom","isSwap","isLimitOrOtc","isSwapWithSell","isSwapWithBuy","formPayAmountAtom","tradeModeToPayAmountUnitAtom","currentSendAmount","read","write","formReceiveAmountAtom","tradeModeToReceiveAmountUnitAtom","currentReceiveAmount","orderDeadline","isNaN","timeUnitAtom","tradeModeToTimeUnitAtom","currentTimeUnit","timestamp","getClosestTimeUnit","isAddress","useActivateFormInputEffects","useAtom","useSetFormInputFromProps","t0","$","_c","t1","setFormInputProps","useSetAtom","t2","t3","useLayoutEffect"],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare function getClosestTimeUnit(timestampS: number): {
6
6
  readonly label: "never";
7
7
  readonly value: 0;
8
8
  } | {
9
- label: "minutes" | "hours" | "days" | "months";
9
+ label: "minutes" | "days" | "hours" | "months";
10
10
  value: number;
11
11
  };
12
12
  export declare function calculateReceiveAmount(payAmount: string, priceRates: PriceRates, isReversed: boolean): string;
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitRate.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitRate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAkDlD,eAAO,MAAM,yBAAyB,GAAI,0CAIvC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,GAAG,KAAK,CAAC;CAC5B;;;;CAwCA,CAAC;AAGF,eAAO,MAAM,YAAY,GACvB,WAAW,OAAO,GAAG,KAAK,KACzB,kBAoHF,CAAC"}
1
+ {"version":3,"file":"useLimitRate.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitRate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAmDlD,eAAO,MAAM,yBAAyB,GAAI,0CAIvC;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,GAAG,KAAK,CAAC;CAC5B;;;;CAyCA,CAAC;AAGF,eAAO,MAAM,YAAY,GACvB,WAAW,OAAO,GAAG,KAAK,KACzB,kBAoHF,CAAC"}
@@ -67,6 +67,7 @@ const useSwapPriceForLimit = (t0) => {
67
67
  t6 = {
68
68
  priceParams: priceParamsWithAmount,
69
69
  chainId,
70
+ timeout: 5e3,
70
71
  query: t5
71
72
  };
72
73
  $[8] = chainId;
@@ -157,6 +158,7 @@ const useDeltaSwapPriceForLimit = (t0) => {
157
158
  priceParams: t4,
158
159
  chainId,
159
160
  destChainId,
161
+ timeout: 5e3,
160
162
  query: t5
161
163
  };
162
164
  $[8] = chainId;
@@ -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 \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\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 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\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\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, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({\n enabled: fetchSwapPrice,\n tradeMode,\n });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainLOrder,\n tradeMode,\n });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\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: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\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","query","result","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","deltaPriceQuery","useDeltaPriceQuery","error","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","useMemo","rate","rateReversed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","receivedDestAmount","Big","div","toFixed","rates","destAmount"],"mappings":"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"}
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\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\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\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\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, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({\n enabled: fetchSwapPrice,\n tradeMode,\n });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainLOrder,\n tradeMode,\n });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\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: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\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","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","deltaPriceQuery","useDeltaPriceQuery","error","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","useMemo","rate","rateReversed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","receivedDestAmount","Big","div","toFixed","rates","destAmount"],"mappings":"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"}
@@ -2,6 +2,4 @@ export declare const swapChainToAtom: import('jotai').WritableAtom<1 | 10 | 137
2
2
  export declare const useSwapChainTo: () => 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130 | undefined;
3
3
  export declare const limitChainToAtom: import('jotai').WritableAtom<1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130 | undefined, [newChainTo: 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130], void>;
4
4
  export declare const useLimitChainTo: () => 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130 | undefined;
5
- export declare const twapChainToAtom: import('jotai').WritableAtom<1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130 | undefined, [newChainTo: 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130], void>;
6
- export declare const useTwapChainTo: () => 1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 130 | undefined;
7
5
  //# sourceMappingURL=chainToAtom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chainToAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/chainToAtom.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,eAAe,0KAkC3B,CAAC;AAEF,eAAO,MAAM,cAAc,wEAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0KAmC5B,CAAC;AAEF,eAAO,MAAM,eAAe,wEAE3B,CAAC;AAEF,eAAO,MAAM,eAAe,0KA4B3B,CAAC;AAEF,eAAO,MAAM,cAAc,wEAE1B,CAAC"}
1
+ {"version":3,"file":"chainToAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/chainToAtom.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,eAAe,0KAmC3B,CAAC;AAEF,eAAO,MAAM,cAAc,wEAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0KAmC5B,CAAC;AAEF,eAAO,MAAM,eAAe,wEAE3B,CAAC"}