@velora-dex/widget 0.4.3 → 0.4.4-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  2. package/dist/components/widget/AppHeader/Activities/Drawers.js +18 -23
  3. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  4. package/dist/components/widget/Button/CancelButton/CancelButton.d.ts +7 -0
  5. package/dist/components/widget/Button/CancelButton/CancelButton.d.ts.map +1 -0
  6. package/dist/components/widget/Button/CancelButton/CancelButton.js +102 -0
  7. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -0
  8. package/dist/components/widget/Button/CancelButton/constants.d.ts +2 -0
  9. package/dist/components/widget/Button/CancelButton/constants.d.ts.map +1 -0
  10. package/dist/components/widget/Button/CancelButton/constants.js +4 -0
  11. package/dist/components/widget/Button/CancelButton/constants.js.map +1 -0
  12. package/dist/components/widget/Button/DismissButton.d.ts +4 -0
  13. package/dist/components/widget/Button/DismissButton.d.ts.map +1 -0
  14. package/dist/components/widget/Button/DismissButton.js +29 -0
  15. package/dist/components/widget/Button/DismissButton.js.map +1 -0
  16. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +2 -2
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +2 -2
  19. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  20. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts +6 -4
  21. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.d.ts.map +1 -1
  22. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +133 -147
  23. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  24. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts +2 -2
  25. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
  26. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +138 -55
  27. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts +2 -2
  29. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
  30. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js +2 -2
  31. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  32. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +1 -1
  33. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  34. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts +1 -1
  35. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.d.ts.map +1 -1
  36. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js +87 -137
  37. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  38. package/dist/components/widget/PayReceiveInfo/types.d.ts +3 -5
  39. package/dist/components/widget/PayReceiveInfo/types.d.ts.map +1 -1
  40. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  41. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +2 -2
  42. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  43. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -2
  44. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  45. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  47. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  48. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +87 -108
  49. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  50. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts +2 -2
  51. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  52. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +12 -14
  53. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  54. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +3 -3
  55. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  56. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +101 -74
  57. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  58. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
  59. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  60. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +63 -72
  61. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  62. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +2 -2
  63. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  64. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +13 -16
  65. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  66. package/dist/components/widget/TradeOverview/Step/utils.d.ts +1 -2
  67. package/dist/components/widget/TradeOverview/Step/utils.d.ts.map +1 -1
  68. package/dist/components/widget/TradeOverview/Step/utils.js +2 -4
  69. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  70. package/dist/components/widget/TradeOverview/Stepper.d.ts +1 -1
  71. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  72. package/dist/components/widget/TradeOverview/Stepper.js +62 -59
  73. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  74. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.d.ts.map +1 -1
  75. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +3 -5
  76. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  77. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  78. package/dist/components/widget/TradeOverview/TradeDetails.js +13 -181
  79. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  80. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  81. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts +2 -2
  82. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts.map +1 -1
  83. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +4 -4
  84. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  85. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  86. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +2 -18
  87. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  88. package/dist/components/widget/TradeOverview/TradeOverview.js +111 -145
  89. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  90. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts +0 -2
  91. package/dist/components/widget/TradeOverview/TradeOverviewFooter.d.ts.map +1 -1
  92. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +58 -65
  93. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  94. package/dist/components/widget/TradeOverview/steps.d.ts +0 -32
  95. package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
  96. package/dist/components/widget/TradeOverview/steps.js +2 -12
  97. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  98. package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
  99. package/dist/components/widget/TradeOverview/tradeFlowContext.js +1 -13
  100. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  101. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +1 -4
  102. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
  103. package/dist/components/widget/TradeOverview/utils/preWrap.js +1 -2
  104. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  105. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.d.ts.map +1 -1
  106. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  107. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts +0 -2
  108. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  109. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +3 -236
  110. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  111. package/dist/configurator/Configurator.d.ts.map +1 -1
  112. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  113. package/dist/core/LimitOrderButton.js +18 -40
  114. package/dist/core/LimitOrderButton.js.map +1 -1
  115. package/dist/core/index.d.ts.map +1 -1
  116. package/dist/core/index.js +24 -46
  117. package/dist/core/index.js.map +1 -1
  118. package/dist/core/inputs/hooks/useMaxButtonProps.js +2 -2
  119. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  120. package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
  121. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  122. package/dist/core/limit/useLimitTokenFromInputProps.js +2 -2
  123. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  124. package/dist/events/types/cancel.d.ts +7 -1
  125. package/dist/events/types/cancel.d.ts.map +1 -1
  126. package/dist/events/types/index.d.ts.map +1 -1
  127. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  128. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +8 -9
  129. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  130. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +7 -0
  131. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -0
  132. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +1 -7
  133. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
  134. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +13 -85
  135. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  136. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +11 -0
  137. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -0
  138. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js +87 -0
  139. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -0
  140. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +32 -0
  141. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -0
  142. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +248 -0
  143. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -0
  144. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +3 -8
  145. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  146. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +8 -11
  147. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  148. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts +14 -0
  149. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -0
  150. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +85 -0
  151. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -0
  152. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.d.ts +17 -0
  153. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.d.ts.map +1 -0
  154. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +80 -0
  155. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -0
  156. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +44 -0
  157. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -0
  158. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +262 -0
  159. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -0
  160. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +13 -0
  161. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -0
  162. package/dist/hooks/swap/prices/delta/mutations/utils.js +23 -0
  163. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -0
  164. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  165. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +1 -2
  166. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  167. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +27 -1
  168. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  169. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts +109 -0
  170. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.d.ts.map +1 -0
  171. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js +170 -0
  172. package/dist/hooks/swap/prices/delta/queries/useIsDeltaNonceUsed.js.map +1 -0
  173. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +3 -2
  174. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  175. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +8 -2
  176. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  177. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +27 -1
  178. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  179. package/dist/hooks/swap/prices/usePricesParams.d.ts +0 -9
  180. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  181. package/dist/hooks/swap/prices/usePricesParams.js +1 -32
  182. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  183. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  184. package/dist/hooks/swap/prices/useSwapPrices.js +142 -149
  185. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  186. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  187. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +35 -35
  188. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  189. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +69 -0
  190. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -0
  191. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +179 -0
  192. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -0
  193. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +3 -5
  194. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  195. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -20
  196. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  197. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -5
  198. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  199. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +68 -127
  200. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  201. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +3 -4
  202. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  203. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +98 -186
  204. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  205. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -4
  206. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  207. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +56 -72
  208. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  209. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.d.ts.map +1 -1
  210. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js +23 -33
  211. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  212. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +1 -2
  213. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  214. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +11 -37
  215. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  216. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +0 -2
  217. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  218. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +79 -161
  219. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  220. package/dist/hooks/tokens/allowance/utils.d.ts +2 -10
  221. package/dist/hooks/tokens/allowance/utils.d.ts.map +1 -1
  222. package/dist/hooks/tokens/allowance/utils.js +8 -19
  223. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  224. package/dist/hooks/useSDK.d.ts +3 -3
  225. package/dist/hooks/useSDK.d.ts.map +1 -1
  226. package/dist/hooks/useSDK.js +3 -3
  227. package/dist/hooks/useSDK.js.map +1 -1
  228. package/dist/lib/constants/index.d.ts +1 -0
  229. package/dist/lib/constants/index.d.ts.map +1 -1
  230. package/dist/lib/constants/index.js +2 -1
  231. package/dist/lib/constants/index.js.map +1 -1
  232. package/dist/lib/constants/urls.d.ts.map +1 -1
  233. package/dist/lib/constants/urls.js.map +1 -1
  234. package/dist/lib/utils/fee.js +1 -1
  235. package/dist/lib/utils/fee.js.map +1 -1
  236. package/dist/lib/utils/slippage.d.ts.map +1 -1
  237. package/dist/lib/utils/slippage.js +1 -1
  238. package/dist/lib/utils/slippage.js.map +1 -1
  239. package/dist/lib/utils/toDecimal.d.ts.map +1 -1
  240. package/dist/lib/utils/toDecimal.js +3 -5
  241. package/dist/lib/utils/toDecimal.js.map +1 -1
  242. package/dist/styles.css +3 -0
  243. package/dist/transactions/types.d.ts +9 -1
  244. package/dist/transactions/types.d.ts.map +1 -1
  245. package/package.json +2 -2
  246. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts +0 -4
  247. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.d.ts.map +0 -1
  248. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js +0 -6
  249. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +0 -1
@@ -25,8 +25,6 @@ import { AppHeader } from '../components/widget/AppHeader/AppHeader.js';
25
25
  import { useLayoutEffect, useRef } from 'react';
26
26
  import { defaultWidgetConfig, defaultSubConfig, excludeUIAtom, useWidgetConfig } from './state/configAtom.js';
27
27
  import { setWidgetConfigAtom, setSubConfigAtom } from './state/configActionsAtom.js';
28
- import { WrapEthDrawerButton } from '../components/widget/WrapEth/WrapEthDrawerButton.js';
29
- import { useWrapEthProps } from '../components/widget/WrapEth/hooks/useWrapEthProps.js';
30
28
  import { PoweredBy } from '../components/widget/PoweredBy/PoweredBy.js';
31
29
  import { useWidgetButtonExtraProps } from './button/hooks/useWidgetButtonExtraProps.js';
32
30
  import { useSwapPrices } from '../hooks/swap/prices/useSwapPrices.js';
@@ -867,7 +865,7 @@ function OtcTokenSwitcher() {
867
865
  return t0;
868
866
  }
869
867
  function SwapButton() {
870
- const $ = distExports.c(29);
868
+ const $ = distExports.c(28);
871
869
  const overrides = useTokenInputsFromPrice();
872
870
  let t0;
873
871
  if ($[0] !== overrides.isLoading || $[1] !== overrides.price || $[2] !== overrides.priceMode || $[3] !== overrides.tokenFromAmount) {
@@ -924,7 +922,6 @@ function SwapButton() {
924
922
  t2 = $[16];
925
923
  }
926
924
  const orderProps = t2;
927
- const wrapEthProps = useWrapEthProps();
928
925
  let t3;
929
926
  if ($[17] !== tokenFromInputProps.token || $[18] !== tokenToInputProps.token) {
930
927
  t3 = {
@@ -941,8 +938,8 @@ function SwapButton() {
941
938
  const t4 = overrides.priceMode === "market" ? overrides.price : void 0;
942
939
  const t5 = overrides.priceMode === "delta" ? overrides.price : void 0;
943
940
  let t6;
944
- if ($[20] !== extraProps.className || $[21] !== extraProps.disabled || $[22] !== extraProps.labelOverride || $[23] !== orderProps || $[24] !== overrides.priceMode || $[25] !== t4 || $[26] !== t5 || $[27] !== wrapEthProps) {
945
- t6 = /* @__PURE__ */ jsx(SwapButtonWithDrawer, { orderProps, marketPrice: t4, deltaPrice: t5, priceMode: overrides.priceMode, wrapEthProps, disabled: extraProps.disabled, labelOverride: extraProps.labelOverride, className: extraProps.className });
941
+ if ($[20] !== extraProps.className || $[21] !== extraProps.disabled || $[22] !== extraProps.labelOverride || $[23] !== orderProps || $[24] !== overrides.priceMode || $[25] !== t4 || $[26] !== t5) {
942
+ t6 = /* @__PURE__ */ jsx(SwapButtonWithDrawer, { orderProps, marketPrice: t4, deltaPrice: t5, priceMode: overrides.priceMode, disabled: extraProps.disabled, labelOverride: extraProps.labelOverride, className: extraProps.className });
946
943
  $[20] = extraProps.className;
947
944
  $[21] = extraProps.disabled;
948
945
  $[22] = extraProps.labelOverride;
@@ -950,10 +947,9 @@ function SwapButton() {
950
947
  $[24] = overrides.priceMode;
951
948
  $[25] = t4;
952
949
  $[26] = t5;
953
- $[27] = wrapEthProps;
954
- $[28] = t6;
950
+ $[27] = t6;
955
951
  } else {
956
- t6 = $[28];
952
+ t6 = $[27];
957
953
  }
958
954
  return t6;
959
955
  }
@@ -1141,7 +1137,7 @@ function SwapModeSwitcher() {
1141
1137
  }
1142
1138
  }
1143
1139
  function SwapButtonWithDrawer(t0) {
1144
- const $ = distExports.c(26);
1140
+ const $ = distExports.c(20);
1145
1141
  let buttonProps;
1146
1142
  let deltaPrice;
1147
1143
  let drawerContainer;
@@ -1149,7 +1145,6 @@ function SwapButtonWithDrawer(t0) {
1149
1145
  let marketPrice;
1150
1146
  let orderProps;
1151
1147
  let priceMode;
1152
- let wrapEthProps;
1153
1148
  if ($[0] !== t0) {
1154
1149
  ({
1155
1150
  orderProps,
@@ -1157,7 +1152,6 @@ function SwapButtonWithDrawer(t0) {
1157
1152
  marketPrice,
1158
1153
  deltaPrice,
1159
1154
  priceMode,
1160
- wrapEthProps,
1161
1155
  labelOverride,
1162
1156
  ...buttonProps
1163
1157
  } = t0);
@@ -1169,7 +1163,6 @@ function SwapButtonWithDrawer(t0) {
1169
1163
  $[5] = marketPrice;
1170
1164
  $[6] = orderProps;
1171
1165
  $[7] = priceMode;
1172
- $[8] = wrapEthProps;
1173
1166
  } else {
1174
1167
  buttonProps = $[1];
1175
1168
  deltaPrice = $[2];
@@ -1178,39 +1171,24 @@ function SwapButtonWithDrawer(t0) {
1178
1171
  marketPrice = $[5];
1179
1172
  orderProps = $[6];
1180
1173
  priceMode = $[7];
1181
- wrapEthProps = $[8];
1182
1174
  }
1183
1175
  const {
1184
1176
  isConnected
1185
1177
  } = useAccount();
1186
1178
  if (!isConnected) {
1187
1179
  let t12;
1188
- if ($[9] !== buttonProps || $[10] !== drawerContainer) {
1180
+ if ($[8] !== buttonProps || $[9] !== drawerContainer) {
1189
1181
  t12 = /* @__PURE__ */ jsx(ConnectWalletDrawerButton, { drawerContainer, ...buttonProps });
1190
- $[9] = buttonProps;
1191
- $[10] = drawerContainer;
1192
- $[11] = t12;
1182
+ $[8] = buttonProps;
1183
+ $[9] = drawerContainer;
1184
+ $[10] = t12;
1193
1185
  } else {
1194
- t12 = $[11];
1195
- }
1196
- return t12;
1197
- }
1198
- if (wrapEthProps.shouldWrap) {
1199
- let t12;
1200
- if ($[12] !== buttonProps || $[13] !== drawerContainer || $[14] !== labelOverride || $[15] !== wrapEthProps) {
1201
- t12 = /* @__PURE__ */ jsx(WrapEthDrawerButton, { drawerContainer, wrapEthProps, labelOverride, ...buttonProps });
1202
- $[12] = buttonProps;
1203
- $[13] = drawerContainer;
1204
- $[14] = labelOverride;
1205
- $[15] = wrapEthProps;
1206
- $[16] = t12;
1207
- } else {
1208
- t12 = $[16];
1186
+ t12 = $[10];
1209
1187
  }
1210
1188
  return t12;
1211
1189
  }
1212
1190
  let t1;
1213
- if ($[17] !== deltaPrice || $[18] !== marketPrice || $[19] !== priceMode) {
1191
+ if ($[11] !== deltaPrice || $[12] !== marketPrice || $[13] !== priceMode) {
1214
1192
  t1 = priceMode === "delta" ? {
1215
1193
  price: deltaPrice,
1216
1194
  priceMode
@@ -1218,24 +1196,24 @@ function SwapButtonWithDrawer(t0) {
1218
1196
  price: marketPrice,
1219
1197
  priceMode
1220
1198
  };
1221
- $[17] = deltaPrice;
1222
- $[18] = marketPrice;
1223
- $[19] = priceMode;
1224
- $[20] = t1;
1199
+ $[11] = deltaPrice;
1200
+ $[12] = marketPrice;
1201
+ $[13] = priceMode;
1202
+ $[14] = t1;
1225
1203
  } else {
1226
- t1 = $[20];
1204
+ t1 = $[14];
1227
1205
  }
1228
1206
  const priceProps = t1;
1229
1207
  let t2;
1230
- if ($[21] !== buttonProps || $[22] !== labelOverride || $[23] !== orderProps || $[24] !== priceProps) {
1208
+ if ($[15] !== buttonProps || $[16] !== labelOverride || $[17] !== orderProps || $[18] !== priceProps) {
1231
1209
  t2 = /* @__PURE__ */ jsx(SwapTradeFlowScreenButton, { orderProps, labelOverride, ...priceProps, ...buttonProps });
1232
- $[21] = buttonProps;
1233
- $[22] = labelOverride;
1234
- $[23] = orderProps;
1235
- $[24] = priceProps;
1236
- $[25] = t2;
1210
+ $[15] = buttonProps;
1211
+ $[16] = labelOverride;
1212
+ $[17] = orderProps;
1213
+ $[18] = priceProps;
1214
+ $[19] = t2;
1237
1215
  } else {
1238
- t2 = $[25];
1216
+ t2 = $[19];
1239
1217
  }
1240
1218
  return t2;
1241
1219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { SwapTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n ignoreBadUsdPrice: config.ignoreBadUsdPrice,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","tradeModeToScreen","swap","limit","otc","MainScreen","tradeMode","useTradeMode","TradeModeScreen","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","setApiConfig","apiConfigAtom","destChains","devURLs","partnerConfig","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","t6","t7","externalProviderAtom","t8","t9","widgetEventsAtom","t10","t11","formInputPropsAtom","t12","queryClientAtom","t13","t14","store","jotaiStore","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t15","t16","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","useInitialValue","t25","t26","t27","t28","t29","import","t30","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","useResizeObserver","widgetConfig","useWidgetConfig","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","className","disabled","labelOverride","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","shouldWrap","priceProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { SwapTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n ignoreBadUsdPrice: config.ignoreBadUsdPrice,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","tradeModeToScreen","swap","limit","otc","MainScreen","tradeMode","useTradeMode","TradeModeScreen","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","setApiConfig","apiConfigAtom","destChains","devURLs","partnerConfig","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","t6","t7","externalProviderAtom","t8","t9","widgetEventsAtom","t10","t11","formInputPropsAtom","t12","queryClientAtom","t13","t14","store","jotaiStore","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t15","t16","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","useInitialValue","t25","t26","t27","t28","t29","import","t30","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","useResizeObserver","widgetConfig","useWidgetConfig","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","className","disabled","labelOverride","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","priceProps"],"mappings":"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"}
@@ -16,7 +16,7 @@ function deductGasFeeFromETH({
16
16
  const ethAmountUnitBig = Big(ethAmountUnit);
17
17
  if (ethAmountUnitBig.lte(gasFeeETH)) return "0";
18
18
  const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);
19
- return withDeductedGas.toFixed();
19
+ return withDeductedGas.toString();
20
20
  }
21
21
  const buttonVariants = ["25%", "50%", "75%", "MAX"];
22
22
  const variant2Percentage = {
@@ -32,7 +32,7 @@ function constructOnClickHandler({
32
32
  variant
33
33
  }) {
34
34
  return () => {
35
- let amountToSet = Big(balanceUnit).mul(variant2Percentage[variant]).toFixed();
35
+ let amountToSet = Big(balanceUnit).mul(variant2Percentage[variant]).toString();
36
36
  if (maxAvailableBalanceUnit !== void 0 && Big(amountToSet).gt(maxAvailableBalanceUnit)) {
37
37
  amountToSet = maxAvailableBalanceUnit;
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useMaxButtonProps.js","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type {\n MaxButtonVariant,\n TokenInputProps,\n} from \"@/components/widget/TokenInput/types\";\nimport type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplierGwei: number; // gas price in Gwei\n gasLimit: number; // number of gas units\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;\n // Calculate gas cost in ETH:\n // gasLimit * gasPriceInGwei = gas cost in Gwei\n // gas cost in Gwei / 1e9 = gas cost in ETH (since 1 Gwei = 10^-9 ETH)\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toFixed(); // avoid e-notation\n}\n\nconst buttonVariants: MaxButtonVariant[] = [\"25%\", \"50%\", \"75%\", \"MAX\"];\n\nconst variant2Percentage: Record<MaxButtonVariant, number> = {\n \"25%\": 0.25,\n \"50%\": 0.5,\n \"75%\": 0.75,\n MAX: 1,\n};\n\nfunction constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n}: {\n onClick: (balanceUnit: string) => void;\n balanceUnit: string;\n maxAvailableBalanceUnit?: string;\n variant: MaxButtonVariant;\n}) {\n return () => {\n let amountToSet = Big(balanceUnit)\n .mul(variant2Percentage[variant])\n .toFixed(); // avoid e-notation for small numbers\n if (\n maxAvailableBalanceUnit !== undefined &&\n Big(amountToSet).gt(maxAvailableBalanceUnit)\n ) {\n amountToSet = maxAvailableBalanceUnit;\n }\n\n onClick(amountToSet);\n };\n}\n\nfunction constructButtonVariants(\n onClick: (balanceUnit: string) => void,\n balanceUnit: string,\n maxAvailableBalanceUnit?: string\n): TokenInputProps[\"maxButtonOptions\"] {\n return buttonVariants.map((variant) => ({\n variant,\n onClick: constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n }),\n }));\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n isAccountSmartContract: boolean;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract,\n}: ConstructMaxButtonPropsInput): Pick<\n TokenInputProps,\n \"showMaxButton\" | \"maxButtonOptions\"\n> {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token, or in case of native ETH SmartContract isn't the one paying gas fees\n if (!isETH(tokenFrom) || isAccountSmartContract)\n return {\n showMaxButton: hasBalance,\n maxButtonOptions: constructButtonVariants(onClick, balanceUnit),\n };\n\n const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;\n\n // Cannot calculate gas fee\n if (!gasPriceMultiplierGwei)\n return {\n showMaxButton: false,\n };\n\n const maxAvailableBalance = deductGasFeeFromETH({\n ethAmountUnit: balanceUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n });\n\n // ETH balance too low to cover potential gas fees\n if (maxAvailableBalance === \"0\")\n return {\n showMaxButton: false,\n };\n\n return {\n showMaxButton: true,\n maxButtonOptions: constructButtonVariants(\n onClick,\n balanceUnit,\n maxAvailableBalance // with gas fee deducted\n ),\n };\n}\n\n// Returns props for Max button functionality including whether to show the button and the onClick handler.\n// It considers the token type (ETH or ERC20) and deducts gas fees for ETH\n// to ensure the user doesn't set max to an amount that would leave them unable to pay for gas.\nexport const useMaxButtonPropsBase = ({\n tokenFrom,\n onClick,\n gasLimit,\n}: Pick<\n ConstructMaxButtonPropsInput,\n \"tokenFrom\" | \"onClick\" | \"gasLimit\"\n>) => {\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const { data: smartContractCheck } = useIsAccountContract();\n\n return constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract: smartContractCheck?.isContract ?? false,\n });\n};\n"],"names":["deductGasFeeFromETH","ethAmountUnit","gasPriceMultiplierGwei","gasLimit","gasFeeETH","Big","mul","div","ethAmountUnitBig","lte","withDeductedGas","minus","toFixed","buttonVariants","variant2Percentage","MAX","constructOnClickHandler","onClick","balanceUnit","maxAvailableBalanceUnit","variant","amountToSet","undefined","gt","constructButtonVariants","map","constructMaxButtonProps","tokenFrom","gasPrices","isAccountSmartContract","hasBalance","showMaxButton","isETH","maxButtonOptions","legacyPrices","instant","maxAvailableBalance","useMaxButtonPropsBase","t0","$","_c","t1","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t2","token","queryOptions","useTokenBalance","data","useGasPrices","smartContractCheck","useIsAccountContract","t3","isContract","t4"],"mappings":"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"}
1
+ {"version":3,"file":"useMaxButtonProps.js","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type {\n MaxButtonVariant,\n TokenInputProps,\n} from \"@/components/widget/TokenInput/types\";\nimport type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplierGwei: number; // gas price in Gwei\n gasLimit: number; // number of gas units\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;\n // Calculate gas cost in ETH:\n // gasLimit * gasPriceInGwei = gas cost in Gwei\n // gas cost in Gwei / 1e9 = gas cost in ETH (since 1 Gwei = 10^-9 ETH)\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toString();\n}\n\nconst buttonVariants: MaxButtonVariant[] = [\"25%\", \"50%\", \"75%\", \"MAX\"];\n\nconst variant2Percentage: Record<MaxButtonVariant, number> = {\n \"25%\": 0.25,\n \"50%\": 0.5,\n \"75%\": 0.75,\n MAX: 1,\n};\n\nfunction constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n}: {\n onClick: (balanceUnit: string) => void;\n balanceUnit: string;\n maxAvailableBalanceUnit?: string;\n variant: MaxButtonVariant;\n}) {\n return () => {\n let amountToSet = Big(balanceUnit)\n .mul(variant2Percentage[variant])\n .toString();\n if (\n maxAvailableBalanceUnit !== undefined &&\n Big(amountToSet).gt(maxAvailableBalanceUnit)\n ) {\n amountToSet = maxAvailableBalanceUnit;\n }\n\n onClick(amountToSet);\n };\n}\n\nfunction constructButtonVariants(\n onClick: (balanceUnit: string) => void,\n balanceUnit: string,\n maxAvailableBalanceUnit?: string\n): TokenInputProps[\"maxButtonOptions\"] {\n return buttonVariants.map((variant) => ({\n variant,\n onClick: constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n }),\n }));\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n isAccountSmartContract: boolean;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract,\n}: ConstructMaxButtonPropsInput): Pick<\n TokenInputProps,\n \"showMaxButton\" | \"maxButtonOptions\"\n> {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token, or in case of native ETH SmartContract isn't the one paying gas fees\n if (!isETH(tokenFrom) || isAccountSmartContract)\n return {\n showMaxButton: hasBalance,\n maxButtonOptions: constructButtonVariants(onClick, balanceUnit),\n };\n\n const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;\n\n // Cannot calculate gas fee\n if (!gasPriceMultiplierGwei)\n return {\n showMaxButton: false,\n };\n\n const maxAvailableBalance = deductGasFeeFromETH({\n ethAmountUnit: balanceUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n });\n\n // ETH balance too low to cover potential gas fees\n if (maxAvailableBalance === \"0\")\n return {\n showMaxButton: false,\n };\n\n return {\n showMaxButton: true,\n maxButtonOptions: constructButtonVariants(\n onClick,\n balanceUnit,\n maxAvailableBalance // with gas fee deducted\n ),\n };\n}\n\n// Returns props for Max button functionality including whether to show the button and the onClick handler.\n// It considers the token type (ETH or ERC20) and deducts gas fees for ETH\n// to ensure the user doesn't set max to an amount that would leave them unable to pay for gas.\nexport const useMaxButtonPropsBase = ({\n tokenFrom,\n onClick,\n gasLimit,\n}: Pick<\n ConstructMaxButtonPropsInput,\n \"tokenFrom\" | \"onClick\" | \"gasLimit\"\n>) => {\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const { data: smartContractCheck } = useIsAccountContract();\n\n return constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract: smartContractCheck?.isContract ?? false,\n });\n};\n"],"names":["deductGasFeeFromETH","ethAmountUnit","gasPriceMultiplierGwei","gasLimit","gasFeeETH","Big","mul","div","ethAmountUnitBig","lte","withDeductedGas","minus","toString","buttonVariants","variant2Percentage","MAX","constructOnClickHandler","onClick","balanceUnit","maxAvailableBalanceUnit","variant","amountToSet","undefined","gt","constructButtonVariants","map","constructMaxButtonProps","tokenFrom","gasPrices","isAccountSmartContract","hasBalance","showMaxButton","isETH","maxButtonOptions","legacyPrices","instant","maxAvailableBalance","useMaxButtonPropsBase","t0","$","_c","t1","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t2","token","queryOptions","useTokenBalance","data","useGasPrices","smartContractCheck","useIsAccountContract","t3","isContract","t4"],"mappings":"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"}
@@ -19,7 +19,7 @@ import { useDeltaOrderRequiredAllowance } from '../../../hooks/swap/prices/delta
19
19
  import { useEnabledSrcChains } from '../../state/enabledChainsAtom.js';
20
20
  import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
21
21
  import { isDeltaPrice } from '../../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
22
- import { WRAP_ETH_GAS_LIMIT_INACCURATE, AUGUSTUS_GAS_LIMIT_INACCURATE } from '../../../lib/constants/index.js';
22
+ import { DEPOSIT_NATIVE_AND_PRE_WRAP_GAS_LIMIT, AUGUSTUS_GAS_LIMIT_INACCURATE } from '../../../lib/constants/index.js';
23
23
  import { useMaxButtonPropsBase } from './useMaxButtonProps.js';
24
24
  import { useTokenPrice } from '../../../hooks/tokens/prices/useTokenPrices.js';
25
25
  import Big from 'big.js';
@@ -216,7 +216,7 @@ const useMaxButtonProps = (t0) => {
216
216
  } = t0;
217
217
  const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);
218
218
  const setPayInputAmount = useSetAtom(payInputAmountAtom);
219
- const gasLimit = activeSwapMode === "delta" ? WRAP_ETH_GAS_LIMIT_INACCURATE : AUGUSTUS_GAS_LIMIT_INACCURATE;
219
+ const gasLimit = activeSwapMode === "delta" ? DEPOSIT_NATIVE_AND_PRE_WRAP_GAS_LIMIT : AUGUSTUS_GAS_LIMIT_INACCURATE;
220
220
  let t1;
221
221
  if ($[0] !== setCurrentSwapInput || $[1] !== setPayInputAmount) {
222
222
  t1 = (balanceUnit) => {