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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/components/ui/button.d.ts +1 -1
  2. package/dist/components/ui/button.d.ts.map +1 -1
  3. package/dist/components/ui/button.js +1 -0
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  8. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/utils.js +2 -1
  10. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  11. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  12. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +2 -1
  13. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +16 -3
  16. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  17. package/dist/components/widget/Duration/Duration.d.ts +1 -1
  18. package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
  19. package/dist/components/widget/Duration/Duration.js +1 -4
  20. package/dist/components/widget/Duration/Duration.js.map +1 -1
  21. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +2 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  23. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +9 -7
  24. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  25. package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
  26. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  27. package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
  28. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  29. package/dist/components/widget/LimitOrderItem/utils.js +25 -9
  30. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  31. package/dist/components/widget/NumberInput/NumberInput.d.ts +18 -0
  32. package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
  33. package/dist/components/widget/NumberInput/NumberInput.js +255 -0
  34. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
  35. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +12 -0
  36. package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +1 -0
  37. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +12 -0
  38. package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +1 -0
  39. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -1
  40. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  41. package/dist/components/widget/SwapRate/SwapRate.js +29 -20
  42. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  43. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +77 -86
  45. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +28 -46
  47. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
  49. package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
  50. package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
  51. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  52. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +105 -72
  53. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  54. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  55. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +46 -11
  56. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  57. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
  58. package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
  59. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +19 -7
  60. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  61. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
  62. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
  63. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +241 -0
  64. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
  65. package/dist/components/widget/TradeOverview/steps.d.ts +37 -0
  66. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  67. package/dist/components/widget/TradeOverview/steps.js +10 -1
  68. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  69. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +2 -2
  70. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  71. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  72. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts +14 -0
  73. package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts.map +1 -0
  74. package/dist/components/widget/TradeOverview/utils/swapAmounts.js +43 -0
  75. package/dist/components/widget/TradeOverview/utils/swapAmounts.js.map +1 -0
  76. package/dist/components/widget/Twap/OrderDuration.d.ts +2 -0
  77. package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
  78. package/dist/components/widget/Twap/OrderDuration.js +75 -0
  79. package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
  80. package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
  81. package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
  82. package/dist/components/widget/Twap/OrderSplit.js +57 -0
  83. package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
  84. package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
  85. package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
  86. package/dist/components/widget/Twap/RateProtection.js +57 -0
  87. package/dist/components/widget/Twap/RateProtection.js.map +1 -0
  88. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
  89. package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
  90. package/dist/components/widget/Twap/TwapDetailWithTooltip.js +33 -0
  91. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
  92. package/dist/configurator/Configurator.d.ts.map +1 -1
  93. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
  94. package/dist/core/TradeFlowScreenButton.d.ts +5 -0
  95. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  96. package/dist/core/TradeFlowScreenButton.js +58 -1
  97. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  98. package/dist/core/TwapDetails.d.ts +2 -0
  99. package/dist/core/TwapDetails.d.ts.map +1 -0
  100. package/dist/core/TwapDetails.js +24 -0
  101. package/dist/core/TwapDetails.js.map +1 -0
  102. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  103. package/dist/core/across/isCrosschainPossible.js +1 -1
  104. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  105. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  106. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  107. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +71 -1
  108. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  109. package/dist/core/constants.d.ts +1 -1
  110. package/dist/core/index.d.ts.map +1 -1
  111. package/dist/core/index.js +199 -3
  112. package/dist/core/index.js.map +1 -1
  113. package/dist/core/inputs/state/common.d.ts +2 -0
  114. package/dist/core/inputs/state/common.d.ts.map +1 -1
  115. package/dist/core/inputs/state/common.js +40 -4
  116. package/dist/core/inputs/state/common.js.map +1 -1
  117. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  118. package/dist/core/inputs/state/setTokenByAddressAtom.js +2 -2
  119. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  120. package/dist/core/limit/state/utils.d.ts +1 -1
  121. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  122. package/dist/core/limit/useLimitRate.js +0 -2
  123. package/dist/core/limit/useLimitRate.js.map +1 -1
  124. package/dist/core/state/chainToAtom.d.ts +2 -0
  125. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  126. package/dist/core/state/chainToAtom.js +28 -7
  127. package/dist/core/state/chainToAtom.js.map +1 -1
  128. package/dist/core/state/configAtom.js +2 -2
  129. package/dist/core/state/configAtom.js.map +1 -1
  130. package/dist/core/state/tradeModeAtom.d.ts +1 -1
  131. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  132. package/dist/core/state/tradeModeAtom.js.map +1 -1
  133. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  134. package/dist/core/state/widgetEventsAtom.js +55 -33
  135. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  136. package/dist/core/twap/state/constants.d.ts +15 -0
  137. package/dist/core/twap/state/constants.d.ts.map +1 -0
  138. package/dist/core/twap/state/constants.js +19 -0
  139. package/dist/core/twap/state/constants.js.map +1 -0
  140. package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
  141. package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
  142. package/dist/core/twap/state/currentTwapInputAtom.js +6 -0
  143. package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
  144. package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
  145. package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
  146. package/dist/core/twap/state/isCrosschainAtom.js +16 -0
  147. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
  148. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
  149. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
  150. package/dist/core/twap/state/selectedTokenActionsAtom.js +194 -0
  151. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
  152. package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
  153. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
  154. package/dist/core/twap/state/twapInputAmountAtom.js +21 -0
  155. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
  156. package/dist/core/twap/state/twapParamsAtom.d.ts +16 -0
  157. package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
  158. package/dist/core/twap/state/twapParamsAtom.js +22 -0
  159. package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
  160. package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
  161. package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
  162. package/dist/core/twap/state/twapSideAtom.js +19 -0
  163. package/dist/core/twap/state/twapSideAtom.js.map +1 -0
  164. package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
  165. package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
  166. package/dist/core/twap/state/twapTokenAtoms.js +17 -0
  167. package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
  168. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
  169. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
  170. package/dist/core/twap/twapDetails/minimumReceiveable.js +44 -0
  171. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
  172. package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
  173. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
  174. package/dist/core/twap/useTwapDetailsListProps.js +109 -0
  175. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
  176. package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
  177. package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
  178. package/dist/core/twap/useTwapTokenFromInputProps.js +455 -0
  179. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
  180. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
  181. package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
  182. package/dist/core/twap/useTwapTokenSwitcherProps.js +37 -0
  183. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
  184. package/dist/core/twap/useTwapTokenToInputProps.d.ts +9 -0
  185. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
  186. package/dist/core/twap/useTwapTokenToInputProps.js +271 -0
  187. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
  188. package/dist/events/types/index.d.ts +4 -1
  189. package/dist/events/types/index.d.ts.map +1 -1
  190. package/dist/events/types/limit.d.ts +2 -2
  191. package/dist/events/types/limit.d.ts.map +1 -1
  192. package/dist/events/types/swap.d.ts +3 -2
  193. package/dist/events/types/swap.d.ts.map +1 -1
  194. package/dist/events/types/twap.d.ts +26 -0
  195. package/dist/events/types/twap.d.ts.map +1 -0
  196. package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
  197. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  198. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  199. package/dist/hooks/permit/utils/deadlines.d.ts +2 -2
  200. package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
  201. package/dist/hooks/permit/utils/deadlines.js +4 -4
  202. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  203. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  204. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  205. package/dist/hooks/swap/prices/constants.js +2 -1
  206. package/dist/hooks/swap/prices/constants.js.map +1 -1
  207. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
  208. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
  209. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +86 -0
  210. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
  211. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
  212. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
  213. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +164 -0
  214. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
  215. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
  216. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
  217. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +278 -0
  218. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
  219. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
  220. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
  221. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +89 -0
  222. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
  223. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
  224. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
  225. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +325 -0
  226. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
  227. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
  228. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
  229. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +87 -0
  230. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
  231. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +10 -1
  232. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  233. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
  234. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  235. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  236. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
  237. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  238. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  239. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
  240. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  241. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  242. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
  243. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  244. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +3 -15
  245. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  246. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -5
  247. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  248. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  249. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
  250. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  251. package/dist/hooks/swap/prices/delta/mutations/utils.js +34 -2
  252. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  253. package/dist/hooks/swap/prices/delta/orders/types.d.ts +11 -46
  254. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  255. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  256. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  257. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  258. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +6 -5
  259. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
  261. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  262. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +24 -6
  263. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  264. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +17 -10
  265. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  266. package/dist/hooks/swap/prices/delta/orders/utils.js +32 -4
  267. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  268. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
  269. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  270. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  271. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -7
  272. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  273. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +37 -35
  274. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  275. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -17
  276. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  277. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  278. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +1 -0
  279. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  280. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  281. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  282. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  283. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +37 -35
  284. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  285. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  286. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  287. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  288. package/dist/hooks/swap/prices/usePricesParams.js +3 -4
  289. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  290. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  291. package/dist/hooks/swap/prices/useSwapPrices.js +0 -2
  292. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  293. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
  294. package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
  295. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  296. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
  297. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
  298. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +73 -0
  299. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
  300. package/dist/hooks/swap/prices/useTwapPrices.d.ts +28 -0
  301. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
  302. package/dist/hooks/swap/prices/useTwapPrices.js +175 -0
  303. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
  304. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
  305. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
  306. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +71 -0
  307. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
  308. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
  309. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
  310. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +94 -0
  311. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
  312. package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
  313. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  314. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
  315. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  316. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +57 -55
  317. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  318. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
  319. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  320. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +263 -152
  321. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  322. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
  323. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  324. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +296 -181
  325. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  326. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
  327. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
  328. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +85 -83
  329. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  330. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  331. package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
  332. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  333. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
  334. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  335. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +4 -3
  336. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  337. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +5 -6
  338. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  339. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +5 -9
  340. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  341. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +88 -0
  342. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
  343. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +591 -0
  344. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
  345. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
  346. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
  347. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +237 -0
  348. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
  349. package/dist/hooks/useSDK.d.ts +4 -4
  350. package/dist/hooks/useSDK.d.ts.map +1 -1
  351. package/dist/hooks/useSDK.js +4 -4
  352. package/dist/hooks/useSDK.js.map +1 -1
  353. package/dist/hooks/useSlippage.d.ts.map +1 -1
  354. package/dist/hooks/useSlippage.js +2 -1
  355. package/dist/hooks/useSlippage.js.map +1 -1
  356. package/dist/index.d.ts +1 -1
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/lib/constants/delta.d.ts.map +1 -1
  359. package/dist/lib/constants/delta.js +1 -1
  360. package/dist/lib/constants/delta.js.map +1 -1
  361. package/dist/lib/constants/time.d.ts +1 -0
  362. package/dist/lib/constants/time.d.ts.map +1 -1
  363. package/dist/lib/constants/time.js +2 -1
  364. package/dist/lib/constants/time.js.map +1 -1
  365. package/dist/lib/queryClient.js +2 -2
  366. package/dist/lib/queryClient.js.map +1 -1
  367. package/dist/lib/tradeMode.d.ts +1 -1
  368. package/dist/lib/tradeMode.d.ts.map +1 -1
  369. package/dist/lib/tradeMode.js +1 -1
  370. package/dist/lib/tradeMode.js.map +1 -1
  371. package/dist/lib/utils/index.d.ts +8 -0
  372. package/dist/lib/utils/index.d.ts.map +1 -1
  373. package/dist/lib/utils/index.js +18 -1
  374. package/dist/lib/utils/index.js.map +1 -1
  375. package/dist/lib/utils/time.d.ts +2 -0
  376. package/dist/lib/utils/time.d.ts.map +1 -1
  377. package/dist/lib/utils/time.js +7 -1
  378. package/dist/lib/utils/time.js.map +1 -1
  379. package/dist/lib/utils/toasts.d.ts +4 -4
  380. package/dist/lib/utils/toasts.d.ts.map +1 -1
  381. package/dist/lib/utils/toasts.js.map +1 -1
  382. package/dist/lib/utils/twap.d.ts +17 -0
  383. package/dist/lib/utils/twap.d.ts.map +1 -0
  384. package/dist/lib/utils/twap.js +34 -0
  385. package/dist/lib/utils/twap.js.map +1 -0
  386. package/dist/lib/web3/privy/config.js +1 -1
  387. package/dist/lib/web3/privy/config.js.map +1 -1
  388. package/dist/lib/web3/wagmi/config.js +1 -1
  389. package/dist/lib/web3/wagmi/config.js.map +1 -1
  390. package/dist/styles.css +63 -2
  391. package/dist/tokens/constants.d.ts.map +1 -1
  392. package/dist/tokens/constants.js +9 -9
  393. package/dist/tokens/constants.js.map +1 -1
  394. package/dist/tokens/defaultTokens.js +17 -17
  395. package/dist/tokens/defaultTokens.js.map +1 -1
  396. package/dist/tokens/lists/constants.d.ts +1 -1
  397. package/dist/tokens/lists/constants.d.ts.map +1 -1
  398. package/dist/tokens/lists/constants.js +1 -1
  399. package/dist/tokens/lists/constants.js.map +1 -1
  400. package/dist/transactions/types.d.ts +3 -3
  401. package/dist/transactions/types.d.ts.map +1 -1
  402. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { SwapTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","tradeModeToScreen","swap","limit","otc","MainScreen","tradeMode","useTradeMode","TradeModeScreen","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","setApiConfig","apiConfigAtom","destChains","devURLs","partnerConfig","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","t6","t7","externalProviderAtom","t8","t9","widgetEventsAtom","t10","t11","formInputPropsAtom","t12","queryClientAtom","t13","t14","store","jotaiStore","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","useInitialValue","t25","t26","t27","t28","t29","import","t30","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","useResizeObserver","widgetConfig","useWidgetConfig","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","className","disabled","labelOverride","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","priceProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <WidgetWarning />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","useAccount","overrides","useTokenInputsFromTwapPrice","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","useTwapTokenFromInputProps","tokenToAmount","tokenToInputProps","useTwapTokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","useTwapButtonExtraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","swap","limit","otc","twap","MainScreen","tradeMode","useTradeMode","TradeModeScreen","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","setApiConfig","apiConfigAtom","destChains","devURLs","partnerConfig","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t5","t6","t7","externalProviderAtom","t8","t9","widgetEventsAtom","t10","t11","formInputPropsAtom","t12","queryClientAtom","t13","t14","store","jotaiStore","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","useInitialValue","t25","t26","t27","t28","t29","import","t30","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","useResizeObserver","widgetConfig","useWidgetConfig","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","useTokenInputsFromPrice","priceMode","activeSwapMode","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","TwapTokenFromInput","SwapTokenToInput","error","priceError","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","TwapTokenSwitcher","useTwapTokenSwitcherProps","SwapButton","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","priceProps"],"mappings":"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"}
@@ -7,6 +7,7 @@ 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';
10
11
  import * as limitDeadline from "@/core/limit/state/deadlineAtom";
11
12
  export declare function syncTokensAfterChainSwitch(chainId: SupportedChainId): void;
12
13
  export declare const tradeModeToPayAmountUnitAtom: Record<TradeMode, {
@@ -29,6 +30,7 @@ export declare const tradeModeToSetTokenAtoms: Record<TradeMode, {
29
30
  tokenFromAtom: typeof selectSwapTokenFromAtom;
30
31
  tokenToAtom: typeof selectSwapTokenToAtom;
31
32
  }>;
33
+ export declare const tradeModeToSideAtom: Record<TradeMode, typeof swapSideAtom>;
32
34
  export declare const sideToInputType: {
33
35
  readonly SELL: "from";
34
36
  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;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"}
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,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAKnE;AAOD,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,eAAe;;;CAG6B,CAAC;AAE1D,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
@@ -4,9 +4,13 @@ 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';
7
10
  import { payInputAmountAtom, receiveInputAmountAtom, payInputAmountWeiAtom, receiveInputAmountWeiAtom } from './inputAmountAtom.js';
8
11
  import { limitPayInputAmountAtom, limitReceiveInputAmountAtom, limitPayInputAmountWeiAtom, limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmountAtom.js';
9
12
  import { otcPayInputAmountAtom, otcReceiveInputAmountAtom, otcPayInputAmountWeiAtom, otcReceiveInputAmountWeiAtom } from '../../otc/state/otcInputAmountAtom.js';
13
+ import { twapPayInputAmountAtom, twapReceiveInputAmountAtom, twapPayInputAmountWeiAtom, twapReceiveInputAmountWeiAtom } from '../../twap/state/twapInputAmountAtom.js';
10
14
  import { atom } from 'jotai';
11
15
  import { useAtomValue } from '../../store.js';
12
16
  import { selectLimitTokenToAtom, selectLimitTokenFromAtom } from '../../limit/state/selectedTokenActionsAtom.js';
@@ -17,12 +21,19 @@ import { timeUnitAtom as timeUnitAtom$1 } from '../../limit/state/deadlineAtom.j
17
21
  import { timeUnitAtom } from '../../otc/state/deadlineAtom.js';
18
22
  import { isCrossChainAtom } from '../../state/isCrosschainAtom.js';
19
23
  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';
20
26
 
21
27
  function syncTokensAfterChainSwitch(chainId) {
22
28
  syncSwapTokensAfterChainSwitch(chainId);
23
29
  syncLimitTokensAfterChainSwitch(chainId);
24
30
  syncOtcTokensAfterChainSwitch(chainId);
31
+ syncTwapTokensAfterChainSwitch(chainId);
25
32
  }
33
+ const placeholderAtoms = {
34
+ sellAtom: atom(() => "SELL"),
35
+ falseAtom: atom(() => false)
36
+ };
26
37
  const tradeModeToPayAmountUnitAtom = {
27
38
  swap: {
28
39
  read: payInputAmountAtom,
@@ -35,6 +46,10 @@ const tradeModeToPayAmountUnitAtom = {
35
46
  otc: {
36
47
  read: otcPayInputAmountAtom,
37
48
  write: setOtcPayAmountAtomFromProps
49
+ },
50
+ twap: {
51
+ read: twapPayInputAmountAtom,
52
+ write: twapPayInputAmountAtom
38
53
  }
39
54
  };
40
55
  const tradeModeToReceiveAmountUnitAtom = {
@@ -49,6 +64,10 @@ const tradeModeToReceiveAmountUnitAtom = {
49
64
  otc: {
50
65
  read: otcReceiveInputAmountAtom,
51
66
  write: setOtcReceiveAmountAtomFromProps
67
+ },
68
+ twap: {
69
+ read: twapReceiveInputAmountAtom,
70
+ write: twapReceiveInputAmountAtom
52
71
  }
53
72
  };
54
73
  const tradeModeToTimeUnitAtom = {
@@ -58,12 +77,14 @@ const tradeModeToTimeUnitAtom = {
58
77
  const tradeModeToPayAmountWeiAtom = {
59
78
  swap: payInputAmountWeiAtom,
60
79
  limit: limitPayInputAmountWeiAtom,
61
- otc: otcPayInputAmountWeiAtom
80
+ otc: otcPayInputAmountWeiAtom,
81
+ twap: twapPayInputAmountWeiAtom
62
82
  };
63
83
  const tradeModeToReceiveAmountWeiAtom = {
64
84
  swap: receiveInputAmountWeiAtom,
65
85
  limit: limitReceiveInputAmountWeiAtom,
66
- otc: otcReceiveInputAmountWeiAtom
86
+ otc: otcReceiveInputAmountWeiAtom,
87
+ twap: twapReceiveInputAmountWeiAtom
67
88
  };
68
89
  const tradeModeToTokenAtoms = {
69
90
  swap: {
@@ -80,8 +101,13 @@ const tradeModeToTokenAtoms = {
80
101
  tokenFromAtom: otcTokenFromAtom,
81
102
  tokenToAtom: otcTokenToAtom,
82
103
  // unused const atom to appease TS
83
- isCrossChainAtom: atom(() => false)
104
+ isCrossChainAtom: placeholderAtoms.falseAtom
84
105
  // always false
106
+ },
107
+ twap: {
108
+ tokenFromAtom: twapTokenFromAtom,
109
+ tokenToAtom: twapTokenToAtom,
110
+ isCrossChainAtom: isTwapCrossChainAtom
85
111
  }
86
112
  };
87
113
  const tradeModeToSetTokenAtoms = {
@@ -96,8 +122,18 @@ const tradeModeToSetTokenAtoms = {
96
122
  otc: {
97
123
  tokenFromAtom: selectOtcTokenFromAtom,
98
124
  tokenToAtom: selectOtcTokenToAtom
125
+ },
126
+ twap: {
127
+ tokenFromAtom: selectTwapTokenFromAtom,
128
+ tokenToAtom: selectTwapTokenToAtom
99
129
  }
100
130
  };
131
+ const tradeModeToSideAtom = {
132
+ swap: swapSideAtom,
133
+ twap: twapSideAtom,
134
+ limit: placeholderAtoms.sellAtom,
135
+ otc: placeholderAtoms.sellAtom
136
+ };
101
137
  const sideToInputType = {
102
138
  SELL: "from",
103
139
  BUY: "to"
@@ -125,5 +161,5 @@ const useWidgetTokens = (tradeMode) => {
125
161
  return t0;
126
162
  };
127
163
 
128
- export { sideToInputType, syncTokensAfterChainSwitch, tradeModeToPayAmountUnitAtom, tradeModeToPayAmountWeiAtom, tradeModeToReceiveAmountUnitAtom, tradeModeToReceiveAmountWeiAtom, tradeModeToSetTokenAtoms, tradeModeToTimeUnitAtom, tradeModeToTokenAtoms, useWidgetTokens };
164
+ export { sideToInputType, syncTokensAfterChainSwitch, tradeModeToPayAmountUnitAtom, tradeModeToPayAmountWeiAtom, tradeModeToReceiveAmountUnitAtom, tradeModeToReceiveAmountWeiAtom, tradeModeToSetTokenAtoms, tradeModeToSideAtom, tradeModeToTimeUnitAtom, tradeModeToTokenAtoms, useWidgetTokens };
129
165
  //# 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 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":"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"}
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\";\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};\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 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","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","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8EO,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;AAC7B,CAAA;AAEO,MAAME,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,kBAAkB3C,gBAAAA,CAAiBG;AAAAA;AAAAA,GACrC;AAAA,EACAY,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,OAAOT,gBAAAA,CAAiBC,QAAAA;AAAAA,EACxBW,KAAKZ,gBAAAA,CAAiBC;AACxB;AAEO,MAAMgE,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,IAAAhC,aAAAA;AAAAA,IAAAE;AAAAA,GAAA,GAAuCH,sBAAsB+B,SAAS,CAAA;AACtE,EAAA,MAAAG,SAAAA,GAAkBC,aAAalC,aAAa,CAAA;AAC5C,EAAA,MAAAmC,OAAAA,GAAgBD,aAAahC,WAAW,CAAA;AAAE,EAAA,IAAAkC,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":"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"}
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;AA2W3D,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"}
@@ -78,8 +78,9 @@ const formInputPropsEffectAtom = atomEffect((get, set) => {
78
78
  const srcChainId = formInputProps.srcChainId !== void 0 ? Number(formInputProps.srcChainId) : void 0;
79
79
  logger.log("using external props to set Widget form input", formInputProps);
80
80
  let destChainId = formInputProps.destChainId !== void 0 ? Number(formInputProps.destChainId) : void 0;
81
+ const currentTradeMode = get.peek(tradeModeAtom);
81
82
  let tokenToAddress = formInputProps.tokenToAddress;
82
- let selectedForm = formInputProps.selectedForm || "swap";
83
+ let selectedForm = formInputProps.selectedForm || currentTradeMode;
83
84
  if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {
84
85
  logger.warn("invalid, disabled or unavailable selectedForm provided", {
85
86
  selectedForm
@@ -90,7 +91,6 @@ const formInputPropsEffectAtom = atomEffect((get, set) => {
90
91
  const formAtoms = tradeModeToTokenAtoms[selectedForm];
91
92
  const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);
92
93
  const currentTokenTo = get.peek(formAtoms.tokenToAtom);
93
- const currentTradeMode = get.peek(tradeModeAtom);
94
94
  if (currentTradeMode !== selectedForm) {
95
95
  set(userTradeModeAtom, selectedForm);
96
96
  }