@velora-dex/widget 0.8.4-dev.0 → 0.8.4

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 (366) hide show
  1. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  2. package/dist/components/widget/AppHeader/Activities/hooks.js +51 -51
  3. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  4. package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
  5. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/Activities/utils.js +26 -25
  7. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  8. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  9. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  10. package/dist/components/widget/BridgeList/hooks.js +72 -78
  11. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  12. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  13. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  14. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  16. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +2 -2
  17. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  19. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
  20. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +22 -18
  21. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
  23. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  24. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +3 -6
  25. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  26. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +54 -58
  27. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/constants.d.ts +1 -1
  29. package/dist/components/widget/LimitOrderItem/constants.js +1 -1
  30. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  31. package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
  32. package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
  33. package/dist/components/widget/LimitOrderItem/utils.d.ts +4 -2
  34. package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
  35. package/dist/components/widget/LimitOrderItem/utils.js +4 -1
  36. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  37. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +9 -9
  38. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +10 -15
  39. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  40. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  41. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  42. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +86 -86
  43. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  44. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +1 -1
  45. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +1 -1
  47. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  48. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  49. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  50. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +83 -83
  51. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  52. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -4
  53. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  54. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  55. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  56. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  57. package/dist/core/LimitOrderButton.js +53 -47
  58. package/dist/core/LimitOrderButton.js.map +1 -1
  59. package/dist/core/TradeFlowScreenButton.d.ts +4 -3
  60. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  61. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  62. package/dist/core/Updaters.js +1 -1
  63. package/dist/core/Updaters.js.map +1 -1
  64. package/dist/core/across/isCrosschainPossible.d.ts +2 -2
  65. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  66. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  67. package/dist/core/across/utils.d.ts +4 -4
  68. package/dist/core/across/utils.d.ts.map +1 -1
  69. package/dist/core/across/utils.js +15 -25
  70. package/dist/core/across/utils.js.map +1 -1
  71. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  72. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +4 -1
  73. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  74. package/dist/core/index.js.map +1 -1
  75. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  76. package/dist/core/inputs/hooks/useTokenFromInputProps.js +3 -3
  77. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  78. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  79. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  80. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  81. package/dist/core/inputs/hooks/useWarningMessage.d.ts +2 -2
  82. package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -1
  83. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  84. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  85. package/dist/core/inputs/hooks/utils.js +5 -7
  86. package/dist/core/inputs/hooks/utils.js.map +1 -1
  87. package/dist/core/inputs/state/guards.d.ts +3 -0
  88. package/dist/core/inputs/state/guards.d.ts.map +1 -0
  89. package/dist/core/inputs/state/guards.js +12 -0
  90. package/dist/core/inputs/state/guards.js.map +1 -0
  91. package/dist/core/inputs/state/inputAmountAtom.d.ts +2 -2
  92. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
  93. package/dist/core/inputs/state/inputAmountAtom.js +8 -7
  94. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  95. package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
  96. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  97. package/dist/core/limit/state/limitInputAmountAtom.d.ts +2 -2
  98. package/dist/core/limit/state/limitInputAmountAtom.d.ts.map +1 -1
  99. package/dist/core/limit/state/limitInputAmountAtom.js +14 -13
  100. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  101. package/dist/core/limit/state/utils.d.ts +1 -1
  102. package/dist/core/limit/useLimitRate.d.ts +3 -2
  103. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  104. package/dist/core/limit/useLimitRate.js +110 -54
  105. package/dist/core/limit/useLimitRate.js.map +1 -1
  106. package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
  107. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  108. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  109. package/dist/core/limit/useLimitTokenToInputProps.js +4 -1
  110. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  111. package/dist/core/otc/state/otcInputAmountAtom.d.ts +2 -2
  112. package/dist/core/otc/state/otcInputAmountAtom.d.ts.map +1 -1
  113. package/dist/core/otc/state/otcInputAmountAtom.js +14 -13
  114. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  115. package/dist/core/state/configAtom.js +2 -2
  116. package/dist/core/state/configAtom.js.map +1 -1
  117. package/dist/core/state/configEffectAtom.js +1 -1
  118. package/dist/core/state/configEffectAtom.js.map +1 -1
  119. package/dist/core/state/getSelectableDestChains.d.ts +2 -2
  120. package/dist/core/state/getSelectableDestChains.d.ts.map +1 -1
  121. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  122. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  123. package/dist/core/swapDetails/fees.js +11 -16
  124. package/dist/core/swapDetails/fees.js.map +1 -1
  125. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  126. package/dist/core/swapDetails/maxToPay.js +17 -18
  127. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  128. package/dist/core/twap/state/twapInputAmountAtom.d.ts +2 -2
  129. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -1
  130. package/dist/core/twap/state/twapInputAmountAtom.js +10 -9
  131. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  132. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  133. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  134. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  135. package/dist/core/twap/useTwapTokenFromInputProps.js +3 -3
  136. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  137. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  138. package/dist/events/types/cancelOrder.d.ts +2 -2
  139. package/dist/events/types/cancelOrder.d.ts.map +1 -1
  140. package/dist/events/types/priceChange.d.ts +2 -2
  141. package/dist/events/types/priceChange.d.ts.map +1 -1
  142. package/dist/events/types/swap.d.ts +3 -3
  143. package/dist/events/types/swap.d.ts.map +1 -1
  144. package/dist/events/types/twap.d.ts +2 -2
  145. package/dist/events/types/twap.d.ts.map +1 -1
  146. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +8 -0
  147. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +1 -0
  148. package/dist/hooks/swap/prices/delta/bridge/const.js +13 -0
  149. package/dist/hooks/swap/prices/delta/bridge/const.js.map +1 -0
  150. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +4 -3
  151. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  152. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  153. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +3 -6
  154. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  155. package/dist/hooks/swap/prices/delta/bridge/utils.js +17 -20
  156. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  157. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  158. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  159. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +6 -6
  160. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  161. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +1 -1
  162. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  163. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  164. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  165. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +1 -1
  166. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  167. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +1 -1
  168. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  169. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  170. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +28 -27
  171. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  172. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  173. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  174. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +3 -3
  175. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  176. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +2 -2
  177. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -1
  178. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  179. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -2
  180. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  181. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +84 -85
  182. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  183. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  184. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  185. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +4 -4
  186. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  187. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  188. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +28 -27
  189. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  190. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +2 -2
  191. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
  192. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +2 -2
  193. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  194. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  195. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  196. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +1 -1
  197. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  198. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  199. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  200. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +2 -2
  201. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  202. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +6 -5
  203. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  204. package/dist/hooks/swap/prices/delta/mutations/utils.js +5 -5
  205. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  206. package/dist/hooks/swap/prices/delta/orders/types.d.ts +28 -8
  207. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  208. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
  209. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  210. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  211. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +42 -31
  212. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  213. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +18 -18
  214. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  215. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +49 -19
  216. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  217. package/dist/hooks/swap/prices/delta/orders/utils.js +58 -23
  218. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  219. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +2 -0
  220. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +1 -0
  221. package/dist/hooks/swap/prices/delta/queries/{bridgeRoutes/bridgeRoutesLoadedAtom.js → bridgeInfo/bridgeInfosLoadedAtom.js} +4 -4
  222. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -0
  223. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +6 -0
  224. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -0
  225. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +9 -0
  226. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -0
  227. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +4 -0
  228. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -0
  229. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +11 -0
  230. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -0
  231. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +19 -0
  232. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -0
  233. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +3 -0
  234. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -0
  235. package/dist/hooks/swap/prices/delta/queries/{bridgeRoutes/useBridgeRoutes.js → bridgeInfo/useBridgeInfo.js} +6 -6
  236. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -0
  237. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +1 -1
  238. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  239. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  240. package/dist/hooks/swap/prices/delta/queries/{useDeltaOrderRequiredBalance.d.ts → useDeltaLimitOrderRequiredBalance.d.ts} +10 -10
  241. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -0
  242. package/dist/hooks/swap/prices/delta/queries/{useDeltaOrderRequiredBalance.js → useDeltaLimitOrderRequiredBalance.js} +5 -5
  243. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -0
  244. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +6 -6
  245. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  246. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +1 -1
  247. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  248. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +36 -19
  249. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  250. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +5 -5
  251. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  252. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +1 -1
  253. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  254. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +22 -14
  255. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  256. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +62 -71
  257. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  258. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  259. package/dist/hooks/swap/prices/factory.js +1 -1
  260. package/dist/hooks/swap/prices/factory.js.map +1 -1
  261. package/dist/hooks/swap/prices/types.d.ts +3 -2
  262. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  263. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  264. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  265. package/dist/hooks/swap/prices/useSwapPrices.js +111 -108
  266. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  267. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  268. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  269. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  270. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  271. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  272. package/dist/hooks/swap/prices/useTwapPrices.d.ts +5 -4
  273. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  274. package/dist/hooks/swap/prices/useTwapPrices.js +73 -70
  275. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  276. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +19 -12
  277. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  278. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  279. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  280. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +4 -4
  281. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  282. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  283. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +1 -1
  284. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  285. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -1
  286. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  287. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +1 -1
  288. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  289. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  290. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  291. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +227 -222
  292. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  293. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  294. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +1 -1
  295. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  296. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  297. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  298. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +196 -159
  299. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  300. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  301. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  302. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +233 -221
  303. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  304. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  305. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  306. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +2 -2
  307. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  308. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  309. package/dist/hooks/tokens/useTokensFromAcross.d.ts +2 -2
  310. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  311. package/dist/hooks/tokens/useTokensFromAcross.js +10 -7
  312. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  313. package/dist/hooks/useAvailableCrosses.d.ts +3 -3
  314. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  315. package/dist/hooks/useAvailableCrosses.js +17 -18
  316. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  317. package/dist/hooks/useBridgeInfo.d.ts +7 -0
  318. package/dist/hooks/useBridgeInfo.d.ts.map +1 -0
  319. package/dist/hooks/{useBridgeRoutes.js → useBridgeInfo.js} +4 -4
  320. package/dist/hooks/useBridgeInfo.js.map +1 -0
  321. package/dist/hooks/useIsCrosschainPossible.d.ts +2 -2
  322. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  323. package/dist/hooks/useIsCrosschainPossible.js +13 -15
  324. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  325. package/dist/hooks/useSDK.d.ts +11 -11
  326. package/dist/hooks/useSDK.d.ts.map +1 -1
  327. package/dist/hooks/useSDK.js +42 -42
  328. package/dist/hooks/useSDK.js.map +1 -1
  329. package/dist/hooks/useSelectableDestChains.d.ts +2 -2
  330. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  331. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  332. package/dist/lib/queryClient.js +3 -3
  333. package/dist/lib/queryClient.js.map +1 -1
  334. package/dist/lib/utils/price.d.ts +2 -5
  335. package/dist/lib/utils/price.d.ts.map +1 -1
  336. package/dist/lib/utils/price.js +5 -8
  337. package/dist/lib/utils/price.js.map +1 -1
  338. package/dist/lib/utils/toasts.d.ts +3 -3
  339. package/dist/lib/utils/toasts.d.ts.map +1 -1
  340. package/dist/lib/utils/toasts.js.map +1 -1
  341. package/dist/lib/utils/twap.d.ts +4 -19
  342. package/dist/lib/utils/twap.d.ts.map +1 -1
  343. package/dist/lib/utils/twap.js +18 -29
  344. package/dist/lib/utils/twap.js.map +1 -1
  345. package/package.json +2 -2
  346. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts +0 -2
  347. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts.map +0 -1
  348. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.js.map +0 -1
  349. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts +0 -6
  350. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts.map +0 -1
  351. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js +0 -9
  352. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js.map +0 -1
  353. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts +0 -3
  354. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts.map +0 -1
  355. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js +0 -11
  356. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js.map +0 -1
  357. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts +0 -19
  358. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts.map +0 -1
  359. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts +0 -3
  360. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts.map +0 -1
  361. package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.js.map +0 -1
  362. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.d.ts.map +0 -1
  363. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js.map +0 -1
  364. package/dist/hooks/useBridgeRoutes.d.ts +0 -6
  365. package/dist/hooks/useBridgeRoutes.d.ts.map +0 -1
  366. package/dist/hooks/useBridgeRoutes.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenFromInputProps.js","names":["TokenInputProps","useAtomValue","useSetAtom","setLimitPayAmountAtom","MarkRequired","TokenInputAmountProps","TokenInputExtraProps","useLogger","limitPayInputAmountAtom","limitPayInputAmountWeiAtom","useChainId","currentLimitInputAtom","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useGenericTokenAllowance","useIsInsufficientBalanceToFillLimitOrder","Token","DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT","useUnsupportedLimitChain","selectLimitTokenFromAtom","useLimitTokenFrom","formatTokenAmount","getInsufficientBalanceToFillOrderMessage","useDeltaOrderRequiredAllowance","useEnabledSrcChainsWithDelta","switchChain","useMaxButtonPropsBase","useLimitTokenFromAmountProps","$","_c","logger","tokenFrom","amountValue","setAmountValue","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","UseTokenConditionalPropsInput","amountWei","useTokenConditionalProps","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","t3","t4","t5","t6","requiredBalanceToFillFormatted","undefined","t7","needsApproval","lockIcon","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","unsupportedChain","setCurrentLimitInput","setPayInputAmount","balanceUnit","onClick","gasLimit","props","showMaxButton","Symbol","for","refetchInterval","queryOptions","useExtraProps","appChainId","enabledChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","const","onFocus","label","disabledClasses","useLimitInputClasses","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","tokenConditionalProps","maxButtonProps","setTokenFrom","onTokenSelect","chainId"],"sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const unsupportedChain = useUnsupportedLimitChain();\n\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const gasLimit = DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n const props = useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n return unsupportedChain ? { showMaxButton: false } : props;\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenFromInputProps.js","names":["TokenInputProps","useAtomValue","useSetAtom","setLimitPayAmountAtom","MarkRequired","TokenInputAmountProps","TokenInputExtraProps","useLogger","limitPayInputAmountAtom","limitPayInputAmountWeiAtom","useChainId","currentLimitInputAtom","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useGenericTokenAllowance","useIsInsufficientBalanceToFillLimitOrder","Token","DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT","useUnsupportedLimitChain","selectLimitTokenFromAtom","useLimitTokenFrom","formatTokenAmount","getInsufficientBalanceToFillOrderMessage","useDeltaOrderRequiredAllowance","useEnabledSrcChainsWithDelta","switchChain","useMaxButtonPropsBase","useLimitTokenFromAmountProps","$","_c","logger","tokenFrom","amountValue","setAmountValue","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","UseTokenConditionalPropsInput","amountWei","useTokenConditionalProps","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","t3","t4","t5","t6","requiredBalanceToFillFormatted","undefined","t7","needsApproval","lockIcon","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","unsupportedChain","setCurrentLimitInput","setPayInputAmount","balanceUnit","onClick","gasLimit","props","showMaxButton","Symbol","for","refetchInterval","queryOptions","useExtraProps","appChainId","enabledChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","const","onFocus","label","disabledClasses","useLimitInputClasses","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","tokenConditionalProps","maxButtonProps","setTokenFrom","onTokenSelect","chainId"],"sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const unsupportedChain = useUnsupportedLimitChain();\n\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const gasLimit = DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n const props = useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n return unsupportedChain ? { showMaxButton: false } : props;\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAgB5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA0FlD,KAAK,4BAA4B,GAAG;IAClC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,4BAA4B,CA8BxE;AAwCD,eAAO,MAAM,yBAAyB,QAAO,eAc5C,CAAC"}
1
+ {"version":3,"file":"useLimitTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAgB5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA0FlD,KAAK,4BAA4B,GAAG;IAClC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,4BAA4B,CA8BxE;AA0CD,eAAO,MAAM,yBAAyB,QAAO,eAc5C,CAAC"}
@@ -93,7 +93,10 @@ function A() {
93
93
  }
94
94
  function j() {
95
95
  let e = w(11), t = s(), n = o(), i = n && t && n.network !== t.network, a;
96
- e[0] === Symbol.for("react.memo_cache_sentinel") ? (a = { enabled: !1 }, e[0] = a) : a = e[0];
96
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (a = {
97
+ tradeMode: "limit",
98
+ enabled: !1
99
+ }, e[0] = a) : a = e[0];
97
100
  let { error: c } = x(a), l = i ? c : void 0, p;
98
101
  if (e[1] !== l || e[2] !== n || e[3] !== t) {
99
102
  let i = l && d(l);
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenToInputProps.js","names":["TokenInputProps","useAtom","useAtomValue","useSetAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtom","useLogger","OnValueChange","useDeltaSwapPriceForLimit","useLimitRate","currentLimitInputAtom","TokenInputExtraProps","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useLimitInputClasses","selectLimitTokenToAtom","useLimitTokenFrom","useLimitTokenTo","useIsTokenSupportedInDeltaQuery","Token","isFilledArray","useChainId","useSelectableDestChains","SupportedChainId","limitChainToAtom","BridgeRoutesMode","isUnsupportedTokenError","parseDeltaApiError","replaceUnsupportedTokenMessage","isTruthy","useTokenToBalanceUnit","$","_c","tokenTo","t0","Symbol","for","refetchInterval","t1","token","queryOptions","balanceUnit","t2","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","t3","t4","t5","tokenType","const","onFocus","label","useTokenToAmountProps","logger","receiveAmount","setReceiveAmount","isLoading","values","log","value","onAmountChange","setTokenTo","amount","onTokenSelect","UnsupportedLimitTokensResult","unsupportedTokens","useUnsupportedLimitTokens","tokenFrom","address","network","data","isDestTokenSupported","isDestTokenSupportedLoading","isSrcTokenSupported","isSrcTokenSupportedLoading","push","t6","useWarningMessage","isCrosschainLimitOrder","enabled","error","limitPriceError","priceError","deltaPriceError","description","filter","deltaErrorToShow","customUnsupportedTokenMessage","unsupportedTokensWarning","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","tokens","Pick","symbol","tokenSymbols","map","join"],"sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useDeltaSwapPriceForLimit, useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitChainToAtom } from \"../state/chainToAtom\";\nimport type { BridgeRoutesMode } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/types\";\nimport {\n isUnsupportedTokenError,\n parseDeltaApiError,\n replaceUnsupportedTokenMessage,\n} from \"@/lib/utils/delta\";\nimport { isTruthy } from \"@/lib/utils\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = ({\n acrossMode,\n}: {\n acrossMode: BridgeRoutesMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const [chainTo, setChainTo] = useAtom(limitChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const isCrosschainLimitOrder =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n enabled: false, // get result only\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n const deltaPriceError = priceError && parseDeltaApiError(priceError);\n const deltaErrorToShow = deltaPriceError\n ? isUnsupportedTokenError(deltaPriceError)\n ? replaceUnsupportedTokenMessage(\n deltaPriceError.description,\n [tokenFrom, tokenTo].filter(isTruthy)\n )\n : deltaPriceError?.description\n : null;\n\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n const unsupportedTokensWarning = unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined;\n\n const warningMessage =\n unsupportedTokensWarning || deltaErrorToShow || undefined;\n return {\n warningMessage,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps({ acrossMode: \"limit\" });\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenToInputProps.js","names":["TokenInputProps","useAtom","useAtomValue","useSetAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtom","useLogger","OnValueChange","useDeltaSwapPriceForLimit","useLimitRate","currentLimitInputAtom","TokenInputExtraProps","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useLimitInputClasses","selectLimitTokenToAtom","useLimitTokenFrom","useLimitTokenTo","useIsTokenSupportedInDeltaQuery","Token","isFilledArray","useChainId","useSelectableDestChains","SupportedChainId","limitChainToAtom","BridgeInfoMode","isUnsupportedTokenError","parseDeltaApiError","replaceUnsupportedTokenMessage","isTruthy","useTokenToBalanceUnit","$","_c","tokenTo","t0","Symbol","for","refetchInterval","t1","token","queryOptions","balanceUnit","t2","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","t3","t4","t5","tokenType","const","onFocus","label","useTokenToAmountProps","logger","receiveAmount","setReceiveAmount","isLoading","values","log","value","onAmountChange","setTokenTo","amount","onTokenSelect","UnsupportedLimitTokensResult","unsupportedTokens","useUnsupportedLimitTokens","tokenFrom","address","network","data","isDestTokenSupported","isDestTokenSupportedLoading","isSrcTokenSupported","isSrcTokenSupportedLoading","push","t6","useWarningMessage","isCrosschainLimitOrder","tradeMode","enabled","error","limitPriceError","priceError","deltaPriceError","description","filter","deltaErrorToShow","customUnsupportedTokenMessage","unsupportedTokensWarning","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","tokens","Pick","symbol","tokenSymbols","map","join"],"sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useDeltaSwapPriceForLimit, useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitChainToAtom } from \"../state/chainToAtom\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport {\n isUnsupportedTokenError,\n parseDeltaApiError,\n replaceUnsupportedTokenMessage,\n} from \"@/lib/utils/delta\";\nimport { isTruthy } from \"@/lib/utils\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = ({\n acrossMode,\n}: {\n acrossMode: BridgeInfoMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const [chainTo, setChainTo] = useAtom(limitChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const isCrosschainLimitOrder =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false, // get result only\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n const deltaPriceError = priceError && parseDeltaApiError(priceError);\n const deltaErrorToShow = deltaPriceError\n ? isUnsupportedTokenError(deltaPriceError)\n ? replaceUnsupportedTokenMessage(\n deltaPriceError.description,\n [tokenFrom, tokenTo].filter(isTruthy)\n )\n : deltaPriceError?.description\n : null;\n\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n const unsupportedTokensWarning = unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined;\n\n const warningMessage =\n unsupportedTokensWarning || deltaErrorToShow || undefined;\n return {\n warningMessage,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps({ acrossMode: \"limit\" });\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"mappings":"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"}
@@ -3,10 +3,10 @@ export declare const otcPriceRatesAtom: import('jotai').PrimitiveAtom<PriceRates
3
3
  init: PriceRates;
4
4
  };
5
5
  export declare const otcPriceAmountAtom: import('jotai').Atom<string>;
6
- export declare const otcPayInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
6
+ export declare const otcPayInputAmountAtom: import('jotai').WritableAtom<string, [newValue: string], void> & {
7
7
  init: string;
8
8
  };
9
- export declare const otcReceiveInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
9
+ export declare const otcReceiveInputAmountAtom: import('jotai').WritableAtom<string, [newValue: string], void> & {
10
10
  init: string;
11
11
  };
12
12
  export declare const otcPayInputAmountWeiAtom: import('jotai').Atom<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"otcInputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,eAAO,MAAM,iBAAiB;;CAA8B,CAAC;AAE7D,eAAO,MAAM,kBAAkB,8BAI7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;CAAY,CAAC;AAE/C,eAAO,MAAM,yBAAyB;;CAAY,CAAC;AAEnD,eAAO,MAAM,wBAAwB,8BAKnC,CAAC;AAEH,eAAO,MAAM,4BAA4B,0CAOvC,CAAC"}
1
+ {"version":3,"file":"otcInputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,eAAO,MAAM,iBAAiB;;CAA8B,CAAC;AAE7D,eAAO,MAAM,kBAAkB,8BAI7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;CAA0C,CAAC;AAE7E,eAAO,MAAM,yBAAyB;;CAA0C,CAAC;AAEjF,eAAO,MAAM,wBAAwB,8BAKnC,CAAC;AAEH,eAAO,MAAM,4BAA4B,0CAOvC,CAAC"}
@@ -1,20 +1,21 @@
1
- import { zeroRates as e } from "../../limit/state/constants.js";
2
- import { otcTokenFromAtom as t, otcTokenToAtom as n } from "./selectedTokenAtom.js";
3
- import { isOtcPriceReversedAtom as r } from "./isOtcPriceReversedAtom.js";
4
- import { atom as i } from "jotai";
5
- import { parseUnits as a } from "viem";
1
+ import { GuardAgainstLoneDecimalPoint as e } from "../../inputs/state/guards.js";
2
+ import { zeroRates as t } from "../../limit/state/constants.js";
3
+ import { otcTokenFromAtom as n, otcTokenToAtom as r } from "./selectedTokenAtom.js";
4
+ import { isOtcPriceReversedAtom as i } from "./isOtcPriceReversedAtom.js";
5
+ import { atom as a } from "jotai";
6
+ import { parseUnits as o } from "viem";
6
7
  //#region src/core/otc/state/otcInputAmountAtom.ts
7
- var o = i(e), s = i((e) => {
8
- let t = e(r), n = e(o);
8
+ var s = a(t), c = a((e) => {
9
+ let t = e(i), n = e(s);
9
10
  return t ? n.rateReversed : n.rate;
10
- }), c = i("1"), l = i("0"), u = i((e) => {
11
- let n = e(t);
12
- return a(e(c), n.decimals).toString();
13
- }), d = i((e) => {
11
+ }), l = a("1", e), u = a("0", e), d = a((e) => {
14
12
  let t = e(n);
15
- if (t) return a(e(l), t.decimals).toString();
13
+ return o(e(l), t.decimals).toString();
14
+ }), f = a((e) => {
15
+ let t = e(r);
16
+ if (t) return o(e(u), t.decimals).toString();
16
17
  });
17
18
  //#endregion
18
- export { c as otcPayInputAmountAtom, u as otcPayInputAmountWeiAtom, s as otcPriceAmountAtom, o as otcPriceRatesAtom, l as otcReceiveInputAmountAtom, d as otcReceiveInputAmountWeiAtom };
19
+ export { l as otcPayInputAmountAtom, d as otcPayInputAmountWeiAtom, c as otcPriceAmountAtom, s as otcPriceRatesAtom, u as otcReceiveInputAmountAtom, f as otcReceiveInputAmountWeiAtom };
19
20
 
20
21
  //# sourceMappingURL=otcInputAmountAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"otcInputAmountAtom.js","names":["atom","parseUnits","otcTokenFromAtom","otcTokenToAtom","zeroRates","PriceRates","isOtcPriceReversedAtom","otcPriceRatesAtom","otcPriceAmountAtom","get","isReversed","priceRates","rateReversed","rate","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPayInputAmountWeiAtom","tokenFrom","payInputAmount","decimals","toString","otcReceiveInputAmountWeiAtom","tokenTo","receiveInputAmount"],"sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\n\nexport const otcPriceRatesAtom = atom<PriceRates>(zeroRates);\n\nexport const otcPriceAmountAtom = atom((get) => {\n const isReversed = get(isOtcPriceReversedAtom);\n const priceRates = get(otcPriceRatesAtom);\n return isReversed ? priceRates.rateReversed : priceRates.rate;\n});\n\nexport const otcPayInputAmountAtom = atom(\"1\");\n\nexport const otcReceiveInputAmountAtom = atom(\"0\");\n\nexport const otcPayInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcPayInputAmountAtom\n const tokenFrom = get(otcTokenFromAtom);\n const payInputAmount = get(otcPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const otcReceiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcReceiveInputAmountAtom\n const tokenTo = get(otcTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(otcReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;;;AAOA,IAAaO,IAAoBP,EAAiBI,EAAU,EAE/CI,IAAqBR,GAAMS,MAAQ;CAC9C,IAAMC,IAAaD,EAAIH,EAAuB,EACxCK,IAAaF,EAAIF,EAAkB;CACzC,OAAOG,IAAaC,EAAWC,eAAeD,EAAWE;EACzD,EAEWC,IAAwBd,EAAK,IAAI,EAEjCe,IAA4Bf,EAAK,IAAI,EAErCgB,IAA2BhB,GAAMS,MAAQ;CAEpD,IAAMQ,IAAYR,EAAIP,EAAiB;CAEvC,OAAOD,EADgBQ,EAAIK,EACTI,EAAgBD,EAAUE,SAAS,CAACC,UAAU;EAChE,EAEWC,IAA+BrB,GAAMS,MAAQ;CAExD,IAAMa,IAAUb,EAAIN,EAAe;CACnC,IAAImB,GAEF,OAAOrB,EADoBQ,EAAIM,EACbQ,EAAoBD,EAAQH,SAAS,CAACC,UAAU;EAEpE"}
1
+ {"version":3,"file":"otcInputAmountAtom.js","names":["atom","parseUnits","otcTokenFromAtom","otcTokenToAtom","zeroRates","PriceRates","isOtcPriceReversedAtom","GuardAgainstLoneDecimalPoint","otcPriceRatesAtom","otcPriceAmountAtom","get","isReversed","priceRates","rateReversed","rate","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPayInputAmountWeiAtom","tokenFrom","payInputAmount","decimals","toString","otcReceiveInputAmountWeiAtom","tokenTo","receiveInputAmount"],"sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\nimport { GuardAgainstLoneDecimalPoint } from \"@/core/inputs/state/guards\";\n\nexport const otcPriceRatesAtom = atom<PriceRates>(zeroRates);\n\nexport const otcPriceAmountAtom = atom((get) => {\n const isReversed = get(isOtcPriceReversedAtom);\n const priceRates = get(otcPriceRatesAtom);\n return isReversed ? priceRates.rateReversed : priceRates.rate;\n});\n\nexport const otcPayInputAmountAtom = atom(\"1\", GuardAgainstLoneDecimalPoint);\n\nexport const otcReceiveInputAmountAtom = atom(\"0\", GuardAgainstLoneDecimalPoint);\n\nexport const otcPayInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcPayInputAmountAtom\n const tokenFrom = get(otcTokenFromAtom);\n const payInputAmount = get(otcPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const otcReceiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcReceiveInputAmountAtom\n const tokenTo = get(otcTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(otcReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;;;;AAQA,IAAaQ,IAAoBR,EAAiBI,EAAU,EAE/CK,IAAqBT,GAAMU,MAAQ;CAC9C,IAAMC,IAAaD,EAAIJ,EAAuB,EACxCM,IAAaF,EAAIF,EAAkB;CACzC,OAAOG,IAAaC,EAAWC,eAAeD,EAAWE;EACzD,EAEWC,IAAwBf,EAAK,KAAKO,EAA6B,EAE/DS,IAA4BhB,EAAK,KAAKO,EAA6B,EAEnEU,IAA2BjB,GAAMU,MAAQ;CAEpD,IAAMQ,IAAYR,EAAIR,EAAiB;CAEvC,OAAOD,EADgBS,EAAIK,EACTI,EAAgBD,EAAUE,SAAS,CAACC,UAAU;EAChE,EAEWC,IAA+BtB,GAAMU,MAAQ;CAExD,IAAMa,IAAUb,EAAIP,EAAe;CACnC,IAAIoB,GAEF,OAAOtB,EADoBS,EAAIM,EACbQ,EAAoBD,EAAQH,SAAS,CAACC,UAAU;EAEpE"}
@@ -9,8 +9,8 @@ var c = {
9
9
  theme: o(),
10
10
  enableDelta: !0,
11
11
  enableCrossChain: !0,
12
- privyAppId: void 0,
13
- privyClientId: void 0,
12
+ privyAppId: "cmb549ngz00omi90lifm9ifv5",
13
+ privyClientId: "client-WY6LzDz2oxeGCDsUEdenrY8z7Qf7WHMmUKVbxSXZ31RqT",
14
14
  debug: !1,
15
15
  widgetMode: "standalone",
16
16
  enableDegenMode: !0
@@ -1 +1 @@
1
- {"version":3,"file":"configAtom.js","names":["atom","useAtomValue","WidgetElements","WidgetConfig","DevURLs","PartnerConfig","ReferrerConfig","MarkRequired","SupportedChainId","emptyArray","emptyObject","atomWithCompare","constructPropertiesEqual","unorderedShallowEqual","TradeMode","getDefaultTheme","PrimitiveConfig","Pick","IterableConfig","PrimitiveConfigState","defaultWidgetConfig","theme","enableDelta","enableCrossChain","privyAppId","import","meta","env","VITE_PRIVY_APP_ID","privyClientId","VITE_PRIVY_CLIENT_ID","debug","widgetMode","enableDegenMode","const","widgetConfigAtom","useWidgetConfig","defaultSubConfig","tokenLists","srcChains","destChains","tradeModes","excludeUI","devURLs","partnerConfig","referrerConfig","tokenListsAtom","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","debugLabel","referrerConfigAtom"],"sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n ReferrerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n | \"referrerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n enableDegenMode: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n referrerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n // known properties only comparison\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n\nexport const referrerConfigAtom = atomWithCompare<ReferrerConfig>(\n defaultSubConfig.referrerConfig,\n constructPropertiesEqual([\"referrerAddress\"])\n);\n\nreferrerConfigAtom.debugLabel = \"referrerConfigAtom\";\n"],"mappings":";;;;;;;AAqDA,IAAaoB,IAAsB;CACjCC,OAAON,GAAiB;CACxBO,aAAa;CACbC,kBAAkB;CAClBC,YAAAA,KAAAA;CACAK,eAAAA,KAAAA;CACAE,OAAO;CACPC,YAAY;CACZC,iBAAiB;CAClB,EAEYE,IAAmBnC,EAA2BoB,EAAoB,EAElEgB,UACJnC,EAAakC,EAAiB,EAG1BE,IAAmB;CAC9BC,YAAY7B;CACZ8B,WAAW9B;CACX+B,YAAY/B;CACZgC,YAAYhC;CACZiC,WAAWjC;CACXkC,SAASjC;CACTkC,eAAelC;CACfmC,gBAAgBnC;CACjB,EAIYoC,IAAiBnC,EAC5B0B,EAAiBC,YACjBzB,EACD,EACYkC,IAAgBpC,EAC3B0B,EAAiBE,WACjB1B,EACD,EACYmC,IAAiBrC,EAC5B0B,EAAiBG,YACjB3B,EACD,EAEYoC,IAAiBtC,EAC5B0B,EAAiBI,YACjB5B,EACD,EAEYqC,IAAgBvC,EAC3B0B,EAAiBK,WACjB7B,EACD,EAEYsC,IAAcxC,EACzB0B,EAAiBM,SAEjB/B,EAAyB;CAAC;CAAe;CAAU;CAAc,CACnE,CAAC,EAEYwC,IAAoBzC,EAC/B0B,EAAiBO,eACjBhC,EAAyB;CACvB;CACA;CACA;CACA;CACD,CACH,CAAC;AAEDwC,EAAkBC,aAAa;AAE/B,IAAaC,IAAqB3C,EAChC0B,EAAiBQ,gBACjBjC,EAAyB,CAAC,kBAAkB,CAC9C,CAAC;AAED0C,EAAmBD,aAAa"}
1
+ {"version":3,"file":"configAtom.js","names":["atom","useAtomValue","WidgetElements","WidgetConfig","DevURLs","PartnerConfig","ReferrerConfig","MarkRequired","SupportedChainId","emptyArray","emptyObject","atomWithCompare","constructPropertiesEqual","unorderedShallowEqual","TradeMode","getDefaultTheme","PrimitiveConfig","Pick","IterableConfig","PrimitiveConfigState","defaultWidgetConfig","theme","enableDelta","enableCrossChain","privyAppId","import","meta","env","VITE_PRIVY_APP_ID","privyClientId","VITE_PRIVY_CLIENT_ID","debug","widgetMode","enableDegenMode","const","widgetConfigAtom","useWidgetConfig","defaultSubConfig","tokenLists","srcChains","destChains","tradeModes","excludeUI","devURLs","partnerConfig","referrerConfig","tokenListsAtom","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom","devURLsAtom","partnerConfigAtom","debugLabel","referrerConfigAtom"],"sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n WidgetElements,\n WidgetConfig,\n DevURLs,\n PartnerConfig,\n ReferrerConfig,\n} from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray, emptyObject } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { constructPropertiesEqual, unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n | \"srcChains\"\n | \"destChains\"\n | \"tokenLists\"\n | \"tradeModes\"\n | \"excludeUI\"\n | \"devURLs\"\n | \"partnerConfig\"\n | \"referrerConfig\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"enableDegenMode\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n enableDegenMode: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n devURLs: emptyObject,\n partnerConfig: emptyObject,\n referrerConfig: emptyObject,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n\nexport const devURLsAtom = atomWithCompare<DevURLs>(\n defaultSubConfig.devURLs,\n // known properties only comparison\n constructPropertiesEqual([\"apiProxyURL\", \"apiURL\", \"explorerURL\"])\n);\n\nexport const partnerConfigAtom = atomWithCompare<PartnerConfig>(\n defaultSubConfig.partnerConfig,\n constructPropertiesEqual([\n \"partner\",\n \"partnerAddress\",\n \"partnerFeeBps\",\n \"partnerTakesSurplus\",\n ])\n);\n\npartnerConfigAtom.debugLabel = \"partnerConfigAtom\";\n\nexport const referrerConfigAtom = atomWithCompare<ReferrerConfig>(\n defaultSubConfig.referrerConfig,\n constructPropertiesEqual([\"referrerAddress\"])\n);\n\nreferrerConfigAtom.debugLabel = \"referrerConfigAtom\";\n"],"mappings":";;;;;;;AAqDA,IAAaoB,IAAsB;CACjCC,OAAON,GAAiB;CACxBO,aAAa;CACbC,kBAAkB;CAClBC,YAAAA;CACAK,eAAAA;CACAE,OAAO;CACPC,YAAY;CACZC,iBAAiB;CAClB,EAEYE,IAAmBnC,EAA2BoB,EAAoB,EAElEgB,UACJnC,EAAakC,EAAiB,EAG1BE,IAAmB;CAC9BC,YAAY7B;CACZ8B,WAAW9B;CACX+B,YAAY/B;CACZgC,YAAYhC;CACZiC,WAAWjC;CACXkC,SAASjC;CACTkC,eAAelC;CACfmC,gBAAgBnC;CACjB,EAIYoC,IAAiBnC,EAC5B0B,EAAiBC,YACjBzB,EACD,EACYkC,IAAgBpC,EAC3B0B,EAAiBE,WACjB1B,EACD,EACYmC,IAAiBrC,EAC5B0B,EAAiBG,YACjB3B,EACD,EAEYoC,IAAiBtC,EAC5B0B,EAAiBI,YACjB5B,EACD,EAEYqC,IAAgBvC,EAC3B0B,EAAiBK,WACjB7B,EACD,EAEYsC,IAAcxC,EACzB0B,EAAiBM,SAEjB/B,EAAyB;CAAC;CAAe;CAAU;CAAc,CACnE,CAAC,EAEYwC,IAAoBzC,EAC/B0B,EAAiBO,eACjBhC,EAAyB;CACvB;CACA;CACA;CACA;CACD,CACH,CAAC;AAEDwC,EAAkBC,aAAa;AAE/B,IAAaC,IAAqB3C,EAChC0B,EAAiBQ,gBACjBjC,EAAyB,CAAC,kBAAkB,CAC9C,CAAC;AAED0C,EAAmBD,aAAa"}
@@ -4,7 +4,7 @@ import { enabledDestChainsAtom as n, enabledSrcChainsAtom as r } from "./enabled
4
4
  import { switchChain as i } from "../../lib/web3/wagmi/switchChain.js";
5
5
  import { getSelectableDestChains as a } from "./getSelectableDestChains.js";
6
6
  import { tradeModeToTokenAtoms as o } from "../inputs/state/common.js";
7
- import { bridgeRoutesLoadedAtom as s } from "../../hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.js";
7
+ import { bridgeInfosLoadedAtom as s } from "../../hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js";
8
8
  import "jotai";
9
9
  import { atomEffect as c } from "jotai-effect";
10
10
  //#region src/core/state/configEffectAtom.ts
@@ -1 +1 @@
1
- {"version":3,"file":"configEffectAtom.js","names":["Getter","Setter","useAtom","atomEffect","widgetConfigAtom","enabledSrcChainsAtom","enabledDestChainsAtom","EnabledChains","bridgeRoutesLoadedAtom","switchChain","BridgeRoutesMode","tradeModeToTokenAtoms","getSelectableDestChains","bridgeRoutesModes","const","configEffectAtom","get","set","enableCrossChain","enableDelta","enabledSrcChains","forEach","mode","reconcileChainsPair","peek","ReconcileChainsPairInput","tokenFromAtom","tokenToAtom","isCrossChainAtom","tokenFrom","tokenTo","isCrossChain","selectableDestChains","fromChainId","network","tokenFromNetworkNotEnabled","includes","tokenToNetworkNotEnabled","crossChainTurnedOffWhileActive","chainId","undefined","useActivateConfigEffect"],"sources":["../../../src/core/state/configEffectAtom.ts"],"sourcesContent":["import { type Getter, type Setter } from \"jotai\";\nimport { useAtom } from \"@/core/store\";\nimport { atomEffect } from \"jotai-effect\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport {\n enabledSrcChainsAtom,\n enabledDestChainsAtom,\n type EnabledChains,\n} from \"./enabledChainsAtom\";\nimport { bridgeRoutesLoadedAtom } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport type { BridgeRoutesMode } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/types\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { getSelectableDestChains } from \"./getSelectableDestChains\";\n\nconst bridgeRoutesModes = [\n \"swap\",\n \"limit\",\n \"twap\",\n] as const satisfies BridgeRoutesMode[];\n\nconst configEffectAtom = atomEffect((get, set) => {\n const { enableCrossChain, enableDelta } = get(widgetConfigAtom);\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n // subscribe to bridgeRoutesLoadedAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeRoutes change\n get(bridgeRoutesLoadedAtom);\n\n // separately subscribe to enabledDestChainsAtom to have up-to-date selectable dest chains\n get(enabledDestChainsAtom);\n\n bridgeRoutesModes.forEach((mode) => {\n reconcileChainsPair({\n enabledSrcChains,\n enableCrossChain,\n enableDelta,\n get: get.peek,\n set: set,\n mode,\n });\n });\n});\n\ntype ReconcileChainsPairInput = {\n enabledSrcChains: EnabledChains;\n enableCrossChain: boolean;\n enableDelta: boolean;\n get: Getter;\n set: Setter;\n mode: BridgeRoutesMode;\n};\n\nfunction reconcileChainsPair({\n get,\n set,\n enabledSrcChains,\n enableCrossChain,\n enableDelta,\n mode,\n}: ReconcileChainsPairInput) {\n const { tokenFromAtom, tokenToAtom, isCrossChainAtom } =\n tradeModeToTokenAtoms[mode];\n const tokenFrom = get(tokenFromAtom);\n const tokenTo = get(tokenToAtom);\n const isCrossChain = get(isCrossChainAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode,\n });\n\n const tokenFromNetworkNotEnabled = !enabledSrcChains.includes(\n tokenFrom.network\n );\n const tokenToNetworkNotEnabled =\n tokenTo && !selectableDestChains.includes(tokenTo.network);\n\n const crossChainTurnedOffWhileActive =\n (!enableDelta || !enableCrossChain) && isCrossChain;\n\n if (tokenFromNetworkNotEnabled)\n switchChain({\n chainId: enabledSrcChains[0],\n });\n\n if (\n crossChainTurnedOffWhileActive ||\n tokenFromNetworkNotEnabled ||\n tokenToNetworkNotEnabled\n )\n set(tokenToAtom, undefined);\n}\n\nexport function useActivateConfigEffect() {\n useAtom(configEffectAtom);\n}\n"],"mappings":";;;;;;;;;;AAeA,IAAMa,IAAoB;CACxB;CACA;CACA;CACD,EAEKE,IAAmBZ,GAAYa,GAAKC,MAAQ;CAChD,IAAM,EAAEC,qBAAkBC,mBAAgBH,EAAIZ,EAAiB,EAEzDgB,IAAmBJ,EAAIX,EAAqB;CAQlDQ,AALAG,EAAIR,EAAuB,EAG3BQ,EAAIV,EAAsB,EAE1BO,EAAkBQ,SAASC,MAAS;EAClCC,EAAoB;GAClBH;GACAF;GACAC;GACAH,KAAKA,EAAIQ;GACJP;GACLK;GACD,CAAC;GACF;EACF;AAWF,SAASC,EAAoB,EAC3BP,QACAC,QACAG,qBACAF,qBACAC,gBACAG,WAC2B;CAC3B,IAAM,EAAEI,kBAAeC,gBAAaC,wBAClCjB,EAAsBW,IAClBO,IAAYb,EAAIU,EAAc,EAC9BI,IAAUd,EAAIW,EAAY,EAC1BI,IAAef,EAAIY,EAAiB,EAEpCI,IAAuBpB,EAAwBI,GAAK;EACxDiB,aAAaJ,EAAUK;EACvBZ;EACD,CAAC,EAEIa,IAA6B,CAACf,EAAiBgB,SACnDP,EAAUK,QACX,EACKG,IACJP,KAAW,CAACE,EAAqBI,SAASN,EAAQI,QAAQ,EAEtDI,KACH,CAACnB,KAAe,CAACD,MAAqBa;CAOzC,AALII,KACF1B,EAAY,EACV8B,SAASnB,EAAiB,IAC3B,CAAC,GAGFkB,KACAH,KACAE,MAEApB,EAAIU,GAAaa,KAAAA,EAAU;;AAG/B,SAAOC,IAAA;CACLvC,EAAQa,EAAiB"}
1
+ {"version":3,"file":"configEffectAtom.js","names":["Getter","Setter","useAtom","atomEffect","widgetConfigAtom","enabledSrcChainsAtom","enabledDestChainsAtom","EnabledChains","bridgeInfosLoadedAtom","switchChain","BridgeInfoMode","tradeModeToTokenAtoms","getSelectableDestChains","bridgeInfoModes","const","configEffectAtom","get","set","enableCrossChain","enableDelta","enabledSrcChains","forEach","mode","reconcileChainsPair","peek","ReconcileChainsPairInput","tokenFromAtom","tokenToAtom","isCrossChainAtom","tokenFrom","tokenTo","isCrossChain","selectableDestChains","fromChainId","network","tokenFromNetworkNotEnabled","includes","tokenToNetworkNotEnabled","crossChainTurnedOffWhileActive","chainId","undefined","useActivateConfigEffect"],"sources":["../../../src/core/state/configEffectAtom.ts"],"sourcesContent":["import { type Getter, type Setter } from \"jotai\";\nimport { useAtom } from \"@/core/store\";\nimport { atomEffect } from \"jotai-effect\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport {\n enabledSrcChainsAtom,\n enabledDestChainsAtom,\n type EnabledChains,\n} from \"./enabledChainsAtom\";\nimport { bridgeInfosLoadedAtom } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { getSelectableDestChains } from \"./getSelectableDestChains\";\n\nconst bridgeInfoModes = [\n \"swap\",\n \"limit\",\n \"twap\",\n] as const satisfies BridgeInfoMode[];\n\nconst configEffectAtom = atomEffect((get, set) => {\n const { enableCrossChain, enableDelta } = get(widgetConfigAtom);\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n // subscribe to bridgeInfosLoadedAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfosLoadedAtom);\n\n // separately subscribe to enabledDestChainsAtom to have up-to-date selectable dest chains\n get(enabledDestChainsAtom);\n\n bridgeInfoModes.forEach((mode) => {\n reconcileChainsPair({\n enabledSrcChains,\n enableCrossChain,\n enableDelta,\n get: get.peek,\n set: set,\n mode,\n });\n });\n});\n\ntype ReconcileChainsPairInput = {\n enabledSrcChains: EnabledChains;\n enableCrossChain: boolean;\n enableDelta: boolean;\n get: Getter;\n set: Setter;\n mode: BridgeInfoMode;\n};\n\nfunction reconcileChainsPair({\n get,\n set,\n enabledSrcChains,\n enableCrossChain,\n enableDelta,\n mode,\n}: ReconcileChainsPairInput) {\n const { tokenFromAtom, tokenToAtom, isCrossChainAtom } =\n tradeModeToTokenAtoms[mode];\n const tokenFrom = get(tokenFromAtom);\n const tokenTo = get(tokenToAtom);\n const isCrossChain = get(isCrossChainAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode,\n });\n\n const tokenFromNetworkNotEnabled = !enabledSrcChains.includes(\n tokenFrom.network\n );\n const tokenToNetworkNotEnabled =\n tokenTo && !selectableDestChains.includes(tokenTo.network);\n\n const crossChainTurnedOffWhileActive =\n (!enableDelta || !enableCrossChain) && isCrossChain;\n\n if (tokenFromNetworkNotEnabled)\n switchChain({\n chainId: enabledSrcChains[0],\n });\n\n if (\n crossChainTurnedOffWhileActive ||\n tokenFromNetworkNotEnabled ||\n tokenToNetworkNotEnabled\n )\n set(tokenToAtom, undefined);\n}\n\nexport function useActivateConfigEffect() {\n useAtom(configEffectAtom);\n}\n"],"mappings":";;;;;;;;;;AAeA,IAAMa,IAAkB;CACtB;CACA;CACA;CACD,EAEKE,IAAmBZ,GAAYa,GAAKC,MAAQ;CAChD,IAAM,EAAEC,qBAAkBC,mBAAgBH,EAAIZ,EAAiB,EAEzDgB,IAAmBJ,EAAIX,EAAqB;CAQlDQ,AALAG,EAAIR,EAAsB,EAG1BQ,EAAIV,EAAsB,EAE1BO,EAAgBQ,SAASC,MAAS;EAChCC,EAAoB;GAClBH;GACAF;GACAC;GACAH,KAAKA,EAAIQ;GACJP;GACLK;GACD,CAAC;GACF;EACF;AAWF,SAASC,EAAoB,EAC3BP,QACAC,QACAG,qBACAF,qBACAC,gBACAG,WAC2B;CAC3B,IAAM,EAAEI,kBAAeC,gBAAaC,wBAClCjB,EAAsBW,IAClBO,IAAYb,EAAIU,EAAc,EAC9BI,IAAUd,EAAIW,EAAY,EAC1BI,IAAef,EAAIY,EAAiB,EAEpCI,IAAuBpB,EAAwBI,GAAK;EACxDiB,aAAaJ,EAAUK;EACvBZ;EACD,CAAC,EAEIa,IAA6B,CAACf,EAAiBgB,SACnDP,EAAUK,QACX,EACKG,IACJP,KAAW,CAACE,EAAqBI,SAASN,EAAQI,QAAQ,EAEtDI,KACH,CAACnB,KAAe,CAACD,MAAqBa;CAOzC,AALII,KACF1B,EAAY,EACV8B,SAASnB,EAAiB,IAC3B,CAAC,GAGFkB,KACAH,KACAE,MAEApB,EAAIU,GAAaa,KAAAA,EAAU;;AAG/B,SAAOC,IAAA;CACLvC,EAAQa,EAAiB"}
@@ -1,8 +1,8 @@
1
1
  import { SupportedChainId } from '../../lib/web3/wagmi/types';
2
- import { BridgeRoutesMode } from '../../hooks/swap/prices/delta/queries/bridgeRoutes/types';
2
+ import { BridgeInfoMode } from '../../hooks/swap/prices/delta/queries/bridgeInfo/types';
3
3
  import { Getter } from 'jotai';
4
4
  export declare function getSelectableDestChains(get: Getter, { fromChainId, mode }: {
5
5
  fromChainId: SupportedChainId;
6
- mode: BridgeRoutesMode;
6
+ mode: BridgeInfoMode;
7
7
  }): SupportedChainId[];
8
8
  //# sourceMappingURL=getSelectableDestChains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSelectableDestChains.d.ts","sourceRoot":"","sources":["../../../src/core/state/getSelectableDestChains.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAAE,WAAW,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC/E,gBAAgB,EAAE,CAkBpB"}
1
+ {"version":3,"file":"getSelectableDestChains.d.ts","sourceRoot":"","sources":["../../../src/core/state/getSelectableDestChains.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpC,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAAE,WAAW,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC7E,gBAAgB,EAAE,CAkBpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSelectableDestChains.js","names":["computeSelectableDestChains","deltaEnabledOnAPI","widgetConfigAtom","deltaParamAtom","SupportedChainId","getAvailableCrosses","enabledDestChainsAtom","BridgeRoutesMode","Getter","getSelectableDestChains","get","fromChainId","mode","availableCrosses","enabledDestChains","enableDelta","enableCrossChain","deltaEnabledParam","deltaEnabledOnChain","deltaEnabledGlobally"],"sources":["../../../src/core/state/getSelectableDestChains.ts"],"sourcesContent":["import { computeSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getAvailableCrosses } from \"@/hooks/useAvailableCrosses\";\nimport { enabledDestChainsAtom } from \"./enabledChainsAtom\";\nimport type { BridgeRoutesMode } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/types\";\nimport type { Getter } from \"jotai\";\n\nexport function getSelectableDestChains(\n get: Getter,\n { fromChainId, mode }: { fromChainId: SupportedChainId; mode: BridgeRoutesMode }\n): SupportedChainId[] {\n const availableCrosses = getAvailableCrosses({ fromChainId, mode });\n\n const enabledDestChains = get(enabledDestChainsAtom);\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n const deltaEnabledParam = get(deltaParamAtom);\n\n const deltaEnabledOnChain = deltaEnabledOnAPI[fromChainId];\n const deltaEnabledGlobally =\n enableDelta && deltaEnabledParam && deltaEnabledOnChain;\n\n return computeSelectableDestChains({\n fromChainId,\n availableCrosses,\n enabledDestChains,\n enableCrossChain,\n deltaEnabledGlobally,\n });\n}\n"],"mappings":";;;;;;;AAUA,SAAgBS,EACdC,GACA,EAAEC,gBAAaC,WACK;CACpB,IAAMC,IAAmBR,EAAoB;EAAEM;EAAaC;EAAM,CAAC,EAE7DE,IAAoBJ,EAAIJ,EAAsB,EAC9C,EAAES,gBAAaC,wBAAqBN,EAAIR,EAAiB,EACzDe,IAAoBP,EAAIP,EAAe,EAEvCe,IAAsBjB,EAAkBU;CAI9C,OAAOX,EAA4B;EACjCW;EACAE;EACAC;EACAE;EACAG,sBAPAJ,KAAeE,KAAqBC;EAQrC,CAAC"}
1
+ {"version":3,"file":"getSelectableDestChains.js","names":["computeSelectableDestChains","deltaEnabledOnAPI","widgetConfigAtom","deltaParamAtom","SupportedChainId","getAvailableCrosses","enabledDestChainsAtom","BridgeInfoMode","Getter","getSelectableDestChains","get","fromChainId","mode","availableCrosses","enabledDestChains","enableDelta","enableCrossChain","deltaEnabledParam","deltaEnabledOnChain","deltaEnabledGlobally"],"sources":["../../../src/core/state/getSelectableDestChains.ts"],"sourcesContent":["import { computeSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { widgetConfigAtom } from \"./configAtom\";\nimport { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getAvailableCrosses } from \"@/hooks/useAvailableCrosses\";\nimport { enabledDestChainsAtom } from \"./enabledChainsAtom\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport type { Getter } from \"jotai\";\n\nexport function getSelectableDestChains(\n get: Getter,\n { fromChainId, mode }: { fromChainId: SupportedChainId; mode: BridgeInfoMode }\n): SupportedChainId[] {\n const availableCrosses = getAvailableCrosses({ fromChainId, mode });\n\n const enabledDestChains = get(enabledDestChainsAtom);\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n const deltaEnabledParam = get(deltaParamAtom);\n\n const deltaEnabledOnChain = deltaEnabledOnAPI[fromChainId];\n const deltaEnabledGlobally =\n enableDelta && deltaEnabledParam && deltaEnabledOnChain;\n\n return computeSelectableDestChains({\n fromChainId,\n availableCrosses,\n enabledDestChains,\n enableCrossChain,\n deltaEnabledGlobally,\n });\n}\n"],"mappings":";;;;;;;AAUA,SAAgBS,EACdC,GACA,EAAEC,gBAAaC,WACK;CACpB,IAAMC,IAAmBR,EAAoB;EAAEM;EAAaC;EAAM,CAAC,EAE7DE,IAAoBJ,EAAIJ,EAAsB,EAC9C,EAAES,gBAAaC,wBAAqBN,EAAIR,EAAiB,EACzDe,IAAoBP,EAAIP,EAAe,EAEvCe,IAAsBjB,EAAkBU;CAI9C,OAAOX,EAA4B;EACjCW;EACAE;EACAC;EACAE;EACAG,sBAPAJ,KAAeE,KAAqBC;EAQrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG,SAAS,CAuB9B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CAiBlB"}
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG,SAAS,CAmB9B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CAiBlB"}
@@ -3,30 +3,25 @@ import { formatFiatPrice as t } from "../../lib/utils/formatFiatPrice.js";
3
3
  import { calculateFeeUSD as n } from "../../lib/utils/fee.js";
4
4
  import { jsx as r } from "react/jsx-runtime";
5
5
  //#region src/core/swapDetails/fees.tsx
6
- function i(t) {
7
- return e(t) ? t.partner.feePercent : t.partnerFee;
8
- }
9
- function a({ price: r, isLoading: a }) {
10
- if (!r) return;
11
- let o = i(r);
12
- if (o === 0) return;
13
- let s = e(r) ? r.route.destination.output.amountUSD : r.destUSD;
14
- if (!s) return;
15
- let c = n(o, s), l = c ? t(c.toNumber()) : null;
6
+ function i({ price: r, isLoading: i }) {
7
+ if (!r || r.partnerFee === 0) return;
8
+ let a = e(r) ? r.receivedDestUSD : r.destUSD;
9
+ if (!a) return;
10
+ let o = n(r.partnerFee, a), s = o ? t(o.toNumber()) : null;
16
11
  return {
17
12
  title: "Swap Fees",
18
- value: l === "$0.00" ? "<$0.01" : l,
19
- isLoading: a,
20
- tooltip: `Swap fees are set to ${o.toFixed(2)}% for this trade`
13
+ value: s === "$0.00" ? "<$0.01" : s,
14
+ isLoading: i,
15
+ tooltip: `Swap fees are set to ${r.partnerFee.toFixed(2)}% for this trade`
21
16
  };
22
17
  }
23
- function o({ price: e, swapMode: n, isLoading: i }) {
18
+ function a({ price: e, swapMode: n, isLoading: i }) {
24
19
  let a = null;
25
20
  if (n === "delta") a = /* @__PURE__ */ r("div", {
26
21
  className: "text-[#A5D712]",
27
22
  children: "Gasless"
28
23
  });
29
- else if (e && "gasCostUSD" in e) {
24
+ else if (e?.gasCostUSD !== void 0) {
30
25
  let n = t(Number(e.gasCostUSD));
31
26
  a = n === "$0.00" ? "<$0.01" : n;
32
27
  }
@@ -38,6 +33,6 @@ function o({ price: e, swapMode: n, isLoading: i }) {
38
33
  };
39
34
  }
40
35
  //#endregion
41
- export { o as constructNetworkFeesDetail, a as constructSwapFeesDetail };
36
+ export { a as constructNetworkFeesDetail, i as constructSwapFeesDetail };
42
37
 
43
38
  //# sourceMappingURL=fees.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fees.js","names":["DetailWithValue","SwapMode","formatFiatPrice","calculateFeeUSD","DeltaOrMarketPrice","isDeltaPrice","getPartnerFeePercent","price","partner","feePercent","partnerFee","constructSwapFeesDetail","isLoading","partnerFeePercent","destUSD","route","destination","output","amountUSD","partnerFeeUSD","formattedFee","toNumber","title","value","tooltip","toFixed","constructNetworkFeesDetail","swapMode","React","ReactNode","formattedPrice","Number","gasCostUSD"],"sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nfunction getPartnerFeePercent(price: DeltaOrMarketPrice): number {\n return isDeltaPrice(price) ? price.partner.feePercent : price.partnerFee;\n}\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price) return;\n const partnerFeePercent = getPartnerFeePercent(price);\n if (partnerFeePercent === 0) return;\n\n const destUSD = isDeltaPrice(price)\n ? price.route.destination.output.amountUSD\n : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(partnerFeePercent, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n tooltip: `Swap fees are set to ${partnerFeePercent.toFixed(2)}% for this trade`,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price && \"gasCostUSD\" in price) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return {\n title: \"Network Fees\",\n value,\n isLoading,\n tooltip:\n \"Those fees are paid to validators, Velora and its partners don't control this fee\",\n };\n}\n"],"mappings":";;;;;AAOA,SAASM,EAAqBC,GAAmC;CAC/D,OAAOF,EAAaE,EAAM,GAAGA,EAAMC,QAAQC,aAAaF,EAAMG;;AAGhE,SAAgBC,EAAwB,EACtCJ,UACAK,gBAI8B;CAG9B,IAAI,CAACL,GAAO;CACZ,IAAMM,IAAoBP,EAAqBC,EAAM;CACrD,IAAIM,MAAsB,GAAG;CAE7B,IAAMC,IAAUT,EAAaE,EAAM,GAC/BA,EAAMQ,MAAMC,YAAYC,OAAOC,YAC/BX,EAAMO;CACV,IAAI,CAACA,GAAS;CAEd,IAAMK,IAAgBhB,EAAgBU,GAAmBC,EAAQ,EAC3DM,IAAeD,IACjBjB,EAAgBiB,EAAcE,UAAU,CAAC,GACzC;CAEJ,OAAO;EACLC,OAAO;EACPC,OAAOH,MAAiB,UAAU,WAAWA;EAC7CR;EACAY,SAAS,wBAAwBX,EAAkBY,QAAQ,EAAE,CAAA;EAC9D;;AAGH,SAAgBC,EAA2B,EACzCnB,UACAoB,aACAf,gBAKkB;CAClB,IAAIW,IAAyB;CAE7B,IAAII,MAAa,SACfJ,IAAQ,kBAAC,OAAD;EAAK,WAAU;YAAiB;EAAa,CAAA;MAChD,IAAIhB,KAAS,gBAAgBA,GAAO;EACzC,IAAMuB,IAAiB5B,EAAgB6B,OAAOxB,EAAMyB,WAAW,CAAC;EAChET,IAAQO,MAAmB,UAAU,WAAWA;;CAGlD,OAAO;EACLR,OAAO;EACPC;EACAX;EACAY,SACE;EACH"}
1
+ {"version":3,"file":"fees.js","names":["DetailWithValue","SwapMode","formatFiatPrice","calculateFeeUSD","DeltaOrMarketPrice","isDeltaPrice","constructSwapFeesDetail","price","isLoading","partnerFee","destUSD","receivedDestUSD","partnerFeeUSD","formattedFee","toNumber","title","value","tooltip","toFixed","constructNetworkFeesDetail","swapMode","React","ReactNode","gasCostUSD","undefined","formattedPrice","Number"],"sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price || price.partnerFee === 0) return;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(price.partnerFee, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n tooltip: `Swap fees are set to ${price.partnerFee.toFixed(2)}% for this trade`,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price?.gasCostUSD !== undefined) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return {\n title: \"Network Fees\",\n value,\n isLoading,\n tooltip:\n \"Those fees are paid to validators, Velora and its partners don't control this fee\",\n };\n}\n"],"mappings":";;;;;AAOA,SAAgBM,EAAwB,EACtCC,UACAC,gBAI8B;CAG9B,IAAI,CAACD,KAASA,EAAME,eAAe,GAAG;CAEtC,IAAMC,IAAUL,EAAaE,EAAM,GAAGA,EAAMI,kBAAkBJ,EAAMG;CACpE,IAAI,CAACA,GAAS;CAEd,IAAME,IAAgBT,EAAgBI,EAAME,YAAYC,EAAQ,EAC1DG,IAAeD,IACjBV,EAAgBU,EAAcE,UAAU,CAAC,GACzC;CAEJ,OAAO;EACLC,OAAO;EACPC,OAAOH,MAAiB,UAAU,WAAWA;EAC7CL;EACAS,SAAS,wBAAwBV,EAAME,WAAWS,QAAQ,EAAE,CAAA;EAC7D;;AAGH,SAAgBC,EAA2B,EACzCZ,UACAa,aACAZ,gBAKkB;CAClB,IAAIQ,IAAyB;CAE7B,IAAII,MAAa,SACfJ,IAAQ,kBAAC,OAAD;EAAK,WAAU;YAAiB;EAAa,CAAA;MAChD,IAAIT,GAAOgB,eAAeC,KAAAA,GAAW;EAC1C,IAAMC,IAAiBvB,EAAgBwB,OAAOnB,EAAMgB,WAAW,CAAC;EAChEP,IAAQS,MAAmB,UAAU,WAAWA;;CAGlD,OAAO;EACLV,OAAO;EACPC;EACAR;EACAS,SACE;EACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"maxToPay.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/maxToPay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B,GAAG,eAAe,GAAG,SAAS,CAqC9B"}
1
+ {"version":3,"file":"maxToPay.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/maxToPay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B,GAAG,eAAe,GAAG,SAAS,CAkC9B"}
@@ -1,27 +1,26 @@
1
- import { isDeltaPrice as e } from "../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js";
2
- import { toDecimalTrimmed as t } from "../../lib/utils/toDecimal.js";
3
- import { amountAfterSlippage as n } from "../../lib/utils/slippage.js";
4
- import { formatUnits as r } from "viem";
1
+ import { toDecimalTrimmed as e } from "../../lib/utils/toDecimal.js";
2
+ import { amountAfterSlippage as t } from "../../lib/utils/slippage.js";
3
+ import { formatUnits as n } from "viem";
5
4
  //#region src/core/swapDetails/maxToPay.tsx
6
- var i = "Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.";
7
- function a({ price: a, slippagePercent: o, isLoading: s, tokenFrom: c, swapSide: l }) {
8
- if (l === "SELL") return;
9
- let u = "Maximum to Pay";
10
- if (!a || !c) return {
11
- title: u,
5
+ var r = "Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.";
6
+ function i({ price: i, slippagePercent: a, isLoading: o, tokenFrom: s, swapSide: c }) {
7
+ if (c === "SELL") return;
8
+ let l = "Maximum to Pay";
9
+ if (!i || !s) return {
10
+ title: l,
12
11
  value: null,
13
- isLoading: s,
14
- tooltip: i
12
+ isLoading: o,
13
+ tooltip: r
15
14
  };
16
- let d = n(e(a) ? a.route.origin.input.amount : a.srcAmount, o, "BUY").toFixed(0);
15
+ let u = t(i.srcAmount, a, "BUY").toFixed(0);
17
16
  return {
18
- title: u,
19
- value: `${t(r(BigInt(d), c.decimals))} ${c.symbol}`,
20
- isLoading: s,
21
- tooltip: i
17
+ title: l,
18
+ value: `${e(n(BigInt(u), s.decimals))} ${s.symbol}`,
19
+ isLoading: o,
20
+ tooltip: r
22
21
  };
23
22
  }
24
23
  //#endregion
25
- export { a as constructMaxToPayDetail };
24
+ export { i as constructMaxToPayDetail };
26
25
 
27
26
  //# sourceMappingURL=maxToPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maxToPay.js","names":["DetailWithValue","isDeltaPrice","DeltaOrMarketPrice","amountAfterSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructMaxToPayDetail","price","slippagePercent","isLoading","tokenFrom","swapSide","title","value","srcAmount","route","origin","input","amount","maxSrcAmount","toFixed","maxSrcAmountUnit","BigInt","decimals","formattedMaxSrcAmount","symbol"],"sources":["../../../src/core/swapDetails/maxToPay.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.\";\n\nexport function constructMaxToPayDetail({\n price,\n slippagePercent,\n isLoading,\n tokenFrom,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenFrom?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of SELL you pay exactly srcAmount\n if (swapSide === \"SELL\") return;\n\n const title = \"Maximum to Pay\";\n\n if (!price || !tokenFrom) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const srcAmount = isDeltaPrice(price)\n ? price.route.origin.input.amount\n : price.srcAmount;\n const maxSrcAmount = amountAfterSlippage(\n // amount after fee\n srcAmount,\n // +slippage=maxAmount to pay\n slippagePercent,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n tokenFrom.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n return {\n title,\n value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;;AASA,IAAMO,IACJ;AAEF,SAAgBC,EAAwB,EACtCC,UACAC,oBACAC,cACAC,cACAC,eAO8B;CAE9B,IAAIA,MAAa,QAAQ;CAEzB,IAAMC,IAAQ;CAEd,IAAI,CAACL,KAAS,CAACG,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAMH,IAAMc,IAAelB,EAHHF,EAAaQ,EAAM,GACjCA,EAAMQ,MAAMC,OAAOC,MAAMC,SACzBX,EAAMO,WAKRN,GACA,MACD,CAACY,QAAQ,EAAE;CAOZ,OAAO;EACLR;EACAC,OAAO,GAJqBX,EAJLE,EACvBkB,OAAOH,EAAa,EACpBT,EAAUa,SAEmCF,CAInCG,CAAqB,GAAId,EAAUe;EAC7ChB;EACAJ;EACD"}
1
+ {"version":3,"file":"maxToPay.js","names":["DetailWithValue","DeltaOrMarketPrice","amountAfterSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructMaxToPayDetail","price","slippagePercent","isLoading","tokenFrom","swapSide","title","value","maxSrcAmount","srcAmount","toFixed","maxSrcAmountUnit","BigInt","decimals","formattedMaxSrcAmount","symbol"],"sources":["../../../src/core/swapDetails/maxToPay.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.\";\n\nexport function constructMaxToPayDetail({\n price,\n slippagePercent,\n isLoading,\n tokenFrom,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenFrom?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of SELL you pay exactly srcAmount\n if (swapSide === \"SELL\") return;\n\n const title = \"Maximum to Pay\";\n\n if (!price || !tokenFrom) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const maxSrcAmount = amountAfterSlippage(\n // amount after fee\n price.srcAmount,\n // +slippage=maxAmount to pay\n slippagePercent,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n tokenFrom.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n return {\n title,\n value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAwB,EACtCC,UACAC,oBACAC,cACAC,cACAC,eAO8B;CAE9B,IAAIA,MAAa,QAAQ;CAEzB,IAAMC,IAAQ;CAEd,IAAI,CAACL,KAAS,CAACG,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAGH,IAAMS,IAAeb,EAEnBM,EAAMQ,WAENP,GACA,MACD,CAACQ,QAAQ,EAAE;CAOZ,OAAO;EACLJ;EACAC,OAAO,GAJqBX,EAJLE,EACvBc,OAAOJ,EAAa,EACpBJ,EAAUS,SAEmCF,CAInCG,CAAqB,GAAIV,EAAUW;EAC7CZ;EACAJ;EACD"}
@@ -1,7 +1,7 @@
1
- export declare const twapPayInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
1
+ export declare const twapPayInputAmountAtom: import('jotai').WritableAtom<string, [newValue: string], void> & {
2
2
  init: string;
3
3
  };
4
- export declare const twapReceiveInputAmountAtom: import('jotai').PrimitiveAtom<string> & {
4
+ export declare const twapReceiveInputAmountAtom: import('jotai').WritableAtom<string, [newValue: string], void> & {
5
5
  init: string;
6
6
  };
7
7
  export declare const twapPayInputAmountWeiAtom: import('jotai').Atom<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"twapInputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB;;CAAY,CAAC;AAEhD,eAAO,MAAM,0BAA0B;;CAAY,CAAC;AAEpD,eAAO,MAAM,yBAAyB,8BAIpC,CAAC;AAEH,eAAO,MAAM,6BAA6B,0CAMxC,CAAC"}
1
+ {"version":3,"file":"twapInputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB;;CAA0C,CAAC;AAE9E,eAAO,MAAM,0BAA0B;;CAA0C,CAAC;AAElF,eAAO,MAAM,yBAAyB,8BAIpC,CAAC;AAEH,eAAO,MAAM,6BAA6B,0CAMxC,CAAC"}
@@ -1,15 +1,16 @@
1
- import { twapTokenFromAtom as e, twapTokenToAtom as t } from "./twapTokenAtoms.js";
2
- import { atom as n } from "jotai";
3
- import { parseUnits as r } from "viem";
1
+ import { GuardAgainstLoneDecimalPoint as e } from "../../inputs/state/guards.js";
2
+ import { twapTokenFromAtom as t, twapTokenToAtom as n } from "./twapTokenAtoms.js";
3
+ import { atom as r } from "jotai";
4
+ import { parseUnits as i } from "viem";
4
5
  //#region src/core/twap/state/twapInputAmountAtom.ts
5
- var i = n("0"), a = n("0"), o = n((t) => {
6
- let n = t(e);
7
- return r(t(i), n.decimals).toString();
8
- }), s = n((e) => {
6
+ var a = r("0", e), o = r("0", e), s = r((e) => {
9
7
  let n = e(t);
10
- if (n) return r(e(a), n.decimals).toString();
8
+ return i(e(a), n.decimals).toString();
9
+ }), c = r((e) => {
10
+ let t = e(n);
11
+ if (t) return i(e(o), t.decimals).toString();
11
12
  });
12
13
  //#endregion
13
- export { i as twapPayInputAmountAtom, o as twapPayInputAmountWeiAtom, a as twapReceiveInputAmountAtom, s as twapReceiveInputAmountWeiAtom };
14
+ export { a as twapPayInputAmountAtom, s as twapPayInputAmountWeiAtom, o as twapReceiveInputAmountAtom, c as twapReceiveInputAmountWeiAtom };
14
15
 
15
16
  //# sourceMappingURL=twapInputAmountAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"twapInputAmountAtom.js","names":[],"sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const twapPayInputAmountAtom = atom(\"0\");\n\nexport const twapReceiveInputAmountAtom = atom(\"0\");\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;AAIA,IAAa,IAAyB,EAAK,IAAI,EAElC,IAA6B,EAAK,IAAI,EAEtC,IAA4B,GAAM,MAAQ;CACrD,IAAM,IAAY,EAAI,EAAkB;CAExC,OAAO,EADgB,EAAI,EACT,EAAgB,EAAU,SAAS,CAAC,UAAU;EAChE,EAEW,IAAgC,GAAM,MAAQ;CACzD,IAAM,IAAU,EAAI,EAAgB;CACpC,IAAI,GAEF,OAAO,EADoB,EAAI,EACb,EAAoB,EAAQ,SAAS,CAAC,UAAU;EAEpE"}
1
+ {"version":3,"file":"twapInputAmountAtom.js","names":["atom","parseUnits","twapTokenFromAtom","twapTokenToAtom","GuardAgainstLoneDecimalPoint","twapPayInputAmountAtom","twapReceiveInputAmountAtom","twapPayInputAmountWeiAtom","get","tokenFrom","payInputAmount","decimals","toString","twapReceiveInputAmountWeiAtom","tokenTo","receiveInputAmount"],"sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport { GuardAgainstLoneDecimalPoint } from \"@/core/inputs/state/guards\";\n\nexport const twapPayInputAmountAtom = atom(\"0\", GuardAgainstLoneDecimalPoint);\n\nexport const twapReceiveInputAmountAtom = atom(\"0\", GuardAgainstLoneDecimalPoint);\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;;AAKA,IAAaK,IAAyBL,EAAK,KAAKI,EAA6B,EAEhEE,IAA6BN,EAAK,KAAKI,EAA6B,EAEpEG,IAA4BP,GAAMQ,MAAQ;CACrD,IAAMC,IAAYD,EAAIN,EAAkB;CAExC,OAAOD,EADgBO,EAAIH,EACTK,EAAgBD,EAAUE,SAAS,CAACC,UAAU;EAChE,EAEWC,IAAgCb,GAAMQ,MAAQ;CACzD,IAAMM,IAAUN,EAAIL,EAAgB;CACpC,IAAIW,GAEF,OAAOb,EADoBO,EAAIF,EACbS,EAAoBD,EAAQH,SAAS,CAACC,UAAU;EAEpE"}