@velora-dex/widget 0.2.5-dev.8 → 0.3.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 (257) hide show
  1. package/dist/components/ui/accordion.js +4 -4
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/badge.d.ts +1 -1
  4. package/dist/components/ui/button.d.ts +1 -1
  5. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +2 -2
  6. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/hooks.d.ts +5 -1
  8. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/hooks.js +63 -5
  10. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  11. package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -1
  12. package/dist/components/widget/AppHeader/ActivityButton.js +76 -36
  13. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  14. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  16. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +20 -18
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  18. package/dist/components/widget/ImportToken/ImportToken.d.ts +2 -0
  19. package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
  20. package/dist/components/widget/ImportToken/ImportToken.js +4 -1
  21. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  22. package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts +3 -1
  23. package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts.map +1 -1
  24. package/dist/components/widget/ImportToken/useImportTokenDrawer.js +23 -21
  25. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  26. package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
  27. package/dist/components/widget/OrderExpiryInput/index.js +14 -13
  28. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  29. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +1 -1
  30. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  31. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts +2 -2
  32. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  33. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +4 -4
  34. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  35. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
  36. package/dist/components/widget/Screen/GenericScreen.js +2 -2
  37. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  38. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  39. package/dist/components/widget/SelectToken/SelectTokenButton.js +64 -61
  40. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  41. package/dist/components/widget/TokenBadge/TokenBadge.js +1 -1
  42. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  43. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +121 -70
  45. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  47. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +17 -21
  48. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  49. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  50. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +24 -28
  51. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  52. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  53. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +90 -72
  54. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  55. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  56. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +24 -28
  57. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  58. package/dist/components/widget/TradeOverview/Step/Step.d.ts.map +1 -1
  59. package/dist/components/widget/TradeOverview/Step/Step.js +122 -68
  60. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  61. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  62. package/dist/components/widget/TradeOverview/Stepper.js +46 -26
  63. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  64. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  65. package/dist/components/widget/TradeOverview/TradeComplete/index.js +15 -24
  66. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  67. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  68. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +56 -47
  69. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  70. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  71. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +2 -2
  72. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  73. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  74. package/dist/components/widget/TradeOverview/TradeDetails.js +143 -98
  75. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  76. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
  77. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +15 -11
  78. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  79. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  80. package/dist/components/widget/TradeOverview/TradeError/index.js +9 -20
  81. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  82. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  83. package/dist/components/widget/TradeOverview/TradeOverview.js +112 -57
  84. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  85. package/dist/components/widget/TradeOverview/motionProps.d.ts +20 -0
  86. package/dist/components/widget/TradeOverview/motionProps.d.ts.map +1 -0
  87. package/dist/components/widget/TradeOverview/motionProps.js +121 -0
  88. package/dist/components/widget/TradeOverview/motionProps.js.map +1 -0
  89. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +18 -0
  90. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -0
  91. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +74 -0
  92. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -0
  93. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  94. package/dist/configurator/components/common/Input.d.ts +2 -1
  95. package/dist/configurator/components/common/Input.d.ts.map +1 -1
  96. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  97. package/dist/core/LimitOrderButton.js +11 -9
  98. package/dist/core/LimitOrderButton.js.map +1 -1
  99. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  100. package/dist/core/OtcOrderButton.js +11 -9
  101. package/dist/core/OtcOrderButton.js.map +1 -1
  102. package/dist/core/TradeFlowScreenButton.js +4 -4
  103. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  104. package/dist/core/across/{isCrosshcainPossible.d.ts → isCrosschainPossible.d.ts} +1 -1
  105. package/dist/core/across/{isCrosshcainPossible.d.ts.map → isCrosschainPossible.d.ts.map} +1 -1
  106. package/dist/core/across/{isCrosshcainPossible.js → isCrosschainPossible.js} +1 -1
  107. package/dist/core/across/{isCrosshcainPossible.js.map → isCrosschainPossible.js.map} +1 -1
  108. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -2
  109. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  110. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -61
  111. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  112. package/dist/core/constants.d.ts +1 -0
  113. package/dist/core/constants.d.ts.map +1 -1
  114. package/dist/core/constants.js +2 -1
  115. package/dist/core/constants.js.map +1 -1
  116. package/dist/core/index.d.ts.map +1 -1
  117. package/dist/core/index.js +44 -51
  118. package/dist/core/index.js.map +1 -1
  119. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +19 -0
  120. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -0
  121. package/dist/core/inputs/hooks/useMaxButtonProps.js +119 -0
  122. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -0
  123. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  124. package/dist/core/inputs/hooks/useTokenFromInputProps.js +28 -80
  125. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  126. package/dist/core/inputs/state/common.d.ts +4 -2
  127. package/dist/core/inputs/state/common.d.ts.map +1 -1
  128. package/dist/core/inputs/state/common.js +4 -6
  129. package/dist/core/inputs/state/common.js.map +1 -1
  130. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
  131. package/dist/core/inputs/state/inputAmountAtom.js +1 -1
  132. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  133. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  134. package/dist/core/inputs/state/selectedTokenActionsAtom.js +18 -3
  135. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  136. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  137. package/dist/core/inputs/state/setTokenByAddressAtom.js +15 -7
  138. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  139. package/dist/core/limit/state/deadlineAtom.d.ts +2 -3
  140. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  141. package/dist/core/limit/state/deadlineAtom.js +1 -2
  142. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  143. package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
  144. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  145. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  146. package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -6
  147. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  148. package/dist/core/limit/state/selectedTokenAtom.js +4 -4
  149. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  150. package/dist/core/limit/state/utils.d.ts.map +1 -1
  151. package/dist/core/limit/state/utils.js +4 -1
  152. package/dist/core/limit/state/utils.js.map +1 -1
  153. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  154. package/dist/core/limit/useLimitRate.js +25 -10
  155. package/dist/core/limit/useLimitRate.js.map +1 -1
  156. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  157. package/dist/core/limit/useLimitTokenFromInputProps.js +20 -63
  158. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  159. package/dist/core/limit/useLimitTokenSwitcherProps.d.ts.map +1 -1
  160. package/dist/core/limit/useLimitTokenSwitcherProps.js +26 -16
  161. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  162. package/dist/core/otc/state/deadlineAtom.d.ts +2 -3
  163. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  164. package/dist/core/otc/state/deadlineAtom.js +1 -2
  165. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  166. package/dist/core/otc/state/otcInputAmountAtom.js +1 -1
  167. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  168. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  169. package/dist/core/otc/useOtcTokenFromInputProps.js +21 -64
  170. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  171. package/dist/core/screen/hooks/useOnClickOutside.d.ts +1 -1
  172. package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -1
  173. package/dist/core/screen/hooks/useOnClickOutside.js +3 -3
  174. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  175. package/dist/core/screen/hooks/useRunOnMount.d.ts +2 -0
  176. package/dist/core/screen/hooks/useRunOnMount.d.ts.map +1 -0
  177. package/dist/core/screen/hooks/useRunOnMount.js +28 -0
  178. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -0
  179. package/dist/core/screen/screenByType.d.ts +8 -1
  180. package/dist/core/screen/screenByType.d.ts.map +1 -1
  181. package/dist/core/screen/screenByType.js.map +1 -1
  182. package/dist/core/screen/state/hooks/useScreen.d.ts +5 -0
  183. package/dist/core/screen/state/hooks/useScreen.d.ts.map +1 -0
  184. package/dist/core/screen/state/hooks/useScreen.js +25 -0
  185. package/dist/core/screen/state/hooks/useScreen.js.map +1 -0
  186. package/dist/core/screen/state/hooks/useScreenValue.d.ts +8 -0
  187. package/dist/core/screen/state/hooks/useScreenValue.d.ts.map +1 -0
  188. package/dist/core/screen/state/hooks/useScreenValue.js +42 -0
  189. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -0
  190. package/dist/core/screen/state/hooks/useSetScreen.d.ts +10 -0
  191. package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -0
  192. package/dist/core/screen/state/hooks/useSetScreen.js +81 -0
  193. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -0
  194. package/dist/core/screen/state/screenAtom.d.ts +4 -17
  195. package/dist/core/screen/state/screenAtom.d.ts.map +1 -1
  196. package/dist/core/screen/state/screenAtom.js +5 -104
  197. package/dist/core/screen/state/screenAtom.js.map +1 -1
  198. package/dist/core/types.d.ts +1 -1
  199. package/dist/core/types.d.ts.map +1 -1
  200. package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
  201. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  202. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +1 -1
  203. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  204. package/dist/hooks/swap/prices/delta/orders/utils.js +2 -2
  205. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  206. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  207. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +2 -2
  208. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
  209. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  210. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +3 -3
  211. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  212. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +1 -1
  213. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  214. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +37 -21
  215. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  216. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +2 -1
  217. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  218. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  219. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  220. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +3 -3
  221. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  222. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  223. package/dist/hooks/swap/prices/usePricesParams.js +0 -5
  224. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  225. package/dist/hooks/swap/tradeFlow/common/utils.js +4 -1
  226. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  227. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
  228. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  229. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +26 -10
  230. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  231. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -0
  232. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  233. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +16 -14
  234. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  235. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +11 -1
  236. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  237. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +10 -5
  238. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  239. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +1 -0
  240. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  241. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +12 -10
  242. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  243. package/dist/hooks/useClickOutside.d.ts +1 -3
  244. package/dist/hooks/useClickOutside.d.ts.map +1 -1
  245. package/dist/hooks/useClickOutside.js +23 -7
  246. package/dist/hooks/useClickOutside.js.map +1 -1
  247. package/dist/lib/constants/index.d.ts +1 -0
  248. package/dist/lib/constants/index.d.ts.map +1 -1
  249. package/dist/lib/constants/index.js +2 -1
  250. package/dist/lib/constants/index.js.map +1 -1
  251. package/dist/lib/web3/privy/config.js +1 -1
  252. package/dist/lib/web3/wagmi/config.js +1 -1
  253. package/dist/styles.css +45 -14
  254. package/dist/tokens/utils/sorting.d.ts.map +1 -1
  255. package/dist/tokens/utils/sorting.js +3 -0
  256. package/dist/tokens/utils/sorting.js.map +1 -1
  257. package/package.json +3 -2
@@ -0,0 +1,19 @@
1
+ import { ConsolidatedGasPrices } from '../../../hooks/gas/types';
2
+ import { Token } from '../../../tokens/state/types';
3
+ type ConstructMaxButtonPropsInput = {
4
+ tokenFrom: Token;
5
+ balanceUnit?: string;
6
+ gasPrices?: ConsolidatedGasPrices;
7
+ gasLimit: number;
8
+ onClick: (balanceUnit: string) => void;
9
+ isAccountSmartContract: boolean;
10
+ };
11
+ export declare const useMaxButtonPropsBase: ({ tokenFrom, onClick, gasLimit, }: Pick<ConstructMaxButtonPropsInput, "tokenFrom" | "onClick" | "gasLimit">) => {
12
+ showMaxButton: boolean;
13
+ onMaxClick?: undefined;
14
+ } | {
15
+ showMaxButton: boolean;
16
+ onMaxClick: () => void;
17
+ };
18
+ export {};
19
+ //# sourceMappingURL=useMaxButtonProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaxButtonProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA6BlD,KAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sBAAsB,EAAE,OAAO,CAAC;CACjC,CAAC;AA0DF,eAAO,MAAM,qBAAqB,GAAI,mCAInC,IAAI,CACL,4BAA4B,EAC5B,WAAW,GAAG,SAAS,GAAG,UAAU,CACrC;;;;;;CAkBA,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { useGasPrices } from '../../../hooks/gas/useGasPrices.js';
3
+ import { useIsAccountContract } from '../../../hooks/getCode/useIsAccountContract.js';
4
+ import { useTokenBalance } from '../../../hooks/tokens/balances/useTokenBalance.js';
5
+ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../lib/constants/time.js';
6
+ import { isETH } from '../../../tokens/utils/eth.js';
7
+ import Big from 'big.js';
8
+
9
+ function deductGasFeeFromETH({
10
+ ethAmountUnit,
11
+ gasPriceMultiplierGwei,
12
+ gasLimit
13
+ }) {
14
+ if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;
15
+ const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);
16
+ const ethAmountUnitBig = Big(ethAmountUnit);
17
+ if (ethAmountUnitBig.lte(gasFeeETH)) return "0";
18
+ const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);
19
+ return withDeductedGas.toString();
20
+ }
21
+ function constructMaxButtonProps({
22
+ tokenFrom,
23
+ balanceUnit,
24
+ gasPrices,
25
+ gasLimit,
26
+ onClick,
27
+ isAccountSmartContract
28
+ }) {
29
+ const hasBalance = !!balanceUnit && balanceUnit !== "0";
30
+ if (!hasBalance) return {
31
+ showMaxButton: false
32
+ };
33
+ if (!isETH(tokenFrom) || isAccountSmartContract) return {
34
+ showMaxButton: hasBalance,
35
+ onMaxClick: () => {
36
+ onClick(balanceUnit);
37
+ }
38
+ };
39
+ const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;
40
+ if (!gasPriceMultiplierGwei) return {
41
+ showMaxButton: false
42
+ };
43
+ const maxAvailableBalance = deductGasFeeFromETH({
44
+ ethAmountUnit: balanceUnit,
45
+ gasPriceMultiplierGwei,
46
+ gasLimit
47
+ });
48
+ if (maxAvailableBalance === "0") return {
49
+ showMaxButton: false
50
+ };
51
+ return {
52
+ showMaxButton: true,
53
+ onMaxClick: () => {
54
+ onClick(maxAvailableBalance);
55
+ }
56
+ };
57
+ }
58
+ const useMaxButtonPropsBase = (t0) => {
59
+ const $ = distExports.c(10);
60
+ const {
61
+ tokenFrom,
62
+ onClick,
63
+ gasLimit
64
+ } = t0;
65
+ let t1;
66
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
67
+ t1 = {
68
+ refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
69
+ };
70
+ $[0] = t1;
71
+ } else {
72
+ t1 = $[0];
73
+ }
74
+ let t2;
75
+ if ($[1] !== tokenFrom) {
76
+ t2 = {
77
+ token: tokenFrom,
78
+ queryOptions: t1
79
+ };
80
+ $[1] = tokenFrom;
81
+ $[2] = t2;
82
+ } else {
83
+ t2 = $[2];
84
+ }
85
+ const {
86
+ balanceUnit
87
+ } = useTokenBalance(t2);
88
+ const {
89
+ data: gasPrices
90
+ } = useGasPrices();
91
+ const {
92
+ data: smartContractCheck
93
+ } = useIsAccountContract();
94
+ const t3 = smartContractCheck?.isContract ?? false;
95
+ let t4;
96
+ if ($[3] !== balanceUnit || $[4] !== gasLimit || $[5] !== gasPrices || $[6] !== onClick || $[7] !== t3 || $[8] !== tokenFrom) {
97
+ t4 = constructMaxButtonProps({
98
+ tokenFrom,
99
+ balanceUnit,
100
+ gasPrices,
101
+ gasLimit,
102
+ onClick,
103
+ isAccountSmartContract: t3
104
+ });
105
+ $[3] = balanceUnit;
106
+ $[4] = gasLimit;
107
+ $[5] = gasPrices;
108
+ $[6] = onClick;
109
+ $[7] = t3;
110
+ $[8] = tokenFrom;
111
+ $[9] = t4;
112
+ } else {
113
+ t4 = $[9];
114
+ }
115
+ return t4;
116
+ };
117
+
118
+ export { useMaxButtonPropsBase };
119
+ //# sourceMappingURL=useMaxButtonProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMaxButtonProps.js","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import 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\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) {\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 onMaxClick: () => {\n onClick(balanceUnit);\n },\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 onMaxClick: () => {\n onClick(maxAvailableBalance);\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","constructMaxButtonProps","tokenFrom","balanceUnit","gasPrices","onClick","isAccountSmartContract","hasBalance","showMaxButton","isETH","onMaxClick","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 +1 @@
1
- {"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAUjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAapE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AA4KF,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,sBAAsB,KAAG,eAmC3B,CAAC"}
1
+ {"version":3,"file":"useTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAO5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAQjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAiBpE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAiJF,eAAO,MAAM,sBAAsB,GAAI,sDAKpC,sBAAsB,KAAG,eAmC3B,CAAC"}
@@ -11,9 +11,6 @@ import { parseUnits, formatUnits } from 'viem';
11
11
  import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
12
12
  import { currentSwapInputAtom } from '../../state/currentSwapInputAtom.js';
13
13
  import { useTokenBalance } from '../../../hooks/tokens/balances/useTokenBalance.js';
14
- import { isETH } from '../../../tokens/utils/eth.js';
15
- import { useGasPrices } from '../../../hooks/gas/useGasPrices.js';
16
- import Big from 'big.js';
17
14
  import { toDecimalTrimmed } from '../../../lib/utils/toDecimal.js';
18
15
  import { useLogger } from '../../logger.js';
19
16
  import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../../lib/constants/time.js';
@@ -22,6 +19,8 @@ import { useDeltaOrderRequiredAllowance } from '../../../hooks/swap/prices/delta
22
19
  import { useEnabledSrcChains } from '../../state/enabledChainsAtom.js';
23
20
  import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
24
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';
23
+ import { useMaxButtonPropsBase } from './useMaxButtonProps.js';
25
24
 
26
25
  const useTokenFromAmountProps = (t0) => {
27
26
  const $ = distExports.c(13);
@@ -197,93 +196,42 @@ const useTokenConditionalProps = (t0) => {
197
196
  return t7;
198
197
  };
199
198
  const useMaxButtonProps = (t0) => {
200
- const $ = distExports.c(18);
199
+ const $ = distExports.c(7);
201
200
  const {
202
- price,
203
- tokenFrom
201
+ tokenFrom,
202
+ activeSwapMode
204
203
  } = t0;
205
204
  const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);
206
205
  const setPayInputAmount = useSetAtom(payInputAmountAtom);
206
+ const gasLimit = activeSwapMode === "delta" ? WRAP_ETH_GAS_LIMIT_INACCURATE : AUGUSTUS_GAS_LIMIT_INACCURATE;
207
207
  let t1;
208
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
209
- t1 = {
210
- refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
208
+ if ($[0] !== setCurrentSwapInput || $[1] !== setPayInputAmount) {
209
+ t1 = (balanceUnit) => {
210
+ setCurrentSwapInput("from");
211
+ setPayInputAmount(balanceUnit);
211
212
  };
212
- $[0] = t1;
213
+ $[0] = setCurrentSwapInput;
214
+ $[1] = setPayInputAmount;
215
+ $[2] = t1;
213
216
  } else {
214
- t1 = $[0];
217
+ t1 = $[2];
215
218
  }
219
+ const onClick = t1;
216
220
  let t2;
217
- if ($[1] !== tokenFrom) {
221
+ if ($[3] !== gasLimit || $[4] !== onClick || $[5] !== tokenFrom) {
218
222
  t2 = {
219
- token: tokenFrom,
220
- queryOptions: t1
223
+ tokenFrom,
224
+ gasLimit,
225
+ onClick
221
226
  };
222
- $[1] = tokenFrom;
223
- $[2] = t2;
224
- } else {
225
- t2 = $[2];
226
- }
227
- const {
228
- balanceUnit
229
- } = useTokenBalance(t2);
230
- const {
231
- data: gasPrices
232
- } = useGasPrices();
233
- const hasBalance = !!balanceUnit && balanceUnit !== "0";
234
- let t3;
235
- if ($[3] !== hasBalance || $[4] !== price || $[5] !== tokenFrom) {
236
- t3 = hasBalance && (!isETH(tokenFrom) || !!price);
237
- $[3] = hasBalance;
238
- $[4] = price;
227
+ $[3] = gasLimit;
228
+ $[4] = onClick;
239
229
  $[5] = tokenFrom;
240
- $[6] = t3;
241
- } else {
242
- t3 = $[6];
243
- }
244
- const showMaxButton = t3;
245
- let t4;
246
- if ($[7] !== balanceUnit || $[8] !== gasPrices?.legacyPrices || $[9] !== hasBalance || $[10] !== price?.gasCost || $[11] !== setCurrentSwapInput || $[12] !== setPayInputAmount || $[13] !== tokenFrom) {
247
- t4 = () => {
248
- setCurrentSwapInput("from");
249
- if (hasBalance) {
250
- if (!isETH(tokenFrom)) {
251
- setPayInputAmount(balanceUnit);
252
- return;
253
- }
254
- const gasCost = price?.gasCost;
255
- const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
256
- if (gasCost && gasPriceMultiplier) {
257
- const gasFeeETH = Big(gasCost).plus(2e5).mul(gasPriceMultiplier).div(1e9);
258
- const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);
259
- setPayInputAmount(balanceWithDeductedGas.toString());
260
- }
261
- }
262
- };
263
- $[7] = balanceUnit;
264
- $[8] = gasPrices?.legacyPrices;
265
- $[9] = hasBalance;
266
- $[10] = price?.gasCost;
267
- $[11] = setCurrentSwapInput;
268
- $[12] = setPayInputAmount;
269
- $[13] = tokenFrom;
270
- $[14] = t4;
230
+ $[6] = t2;
271
231
  } else {
272
- t4 = $[14];
232
+ t2 = $[6];
273
233
  }
274
- let t5;
275
- if ($[15] !== showMaxButton || $[16] !== t4) {
276
- t5 = {
277
- showMaxButton,
278
- onMaxClick: t4
279
- };
280
- $[15] = showMaxButton;
281
- $[16] = t4;
282
- $[17] = t5;
283
- } else {
284
- t5 = $[17];
285
- }
286
- return t5;
234
+ return useMaxButtonPropsBase(t2);
287
235
  };
288
236
  const useExtraProps = (t0) => {
289
237
  const $ = distExports.c(14);
@@ -433,12 +381,12 @@ const useTokenFromInputProps = (t0) => {
433
381
  }
434
382
  const extraProps = useExtraProps(t5);
435
383
  let t6;
436
- if ($[16] !== price || $[17] !== tokenFrom) {
384
+ if ($[16] !== activeSwapMode || $[17] !== tokenFrom) {
437
385
  t6 = {
438
- price,
439
- tokenFrom
386
+ tokenFrom,
387
+ activeSwapMode
440
388
  };
441
- $[16] = price;
389
+ $[16] = activeSwapMode;
442
390
  $[17] = tokenFrom;
443
391
  $[18] = t6;
444
392
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenFromInputProps.js","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = ({\n price,\n}: { price?: DeltaOrMarketPrice } = {}): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n const usdEstimation =\n price && isDeltaPrice(price)\n ? // srcUSDBeforeFee is available for BUY side\n price.srcUSDBeforeFee || price.srcUSD\n : price?.srcUSD;\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n usdEstimation,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\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,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n price,\n tokenFrom,\n}: {\n price?: DeltaOrMarketPrice;\n tokenFrom: Token;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance && (!isETH(tokenFrom) || !!price);\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentSwapInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n const gasCost = price?.gasCost; // gasLimit\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n\n if (gasCost && gasPriceMultiplier) {\n const gasFeeETH = Big(gasCost)\n // have to add extra 200k because instant multiplier is not accurate enough\n .plus(200000)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.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 isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps({\n price,\n });\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ price, tokenFrom });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"names":["useTokenFromAmountProps","t0","$","_c","t1","undefined","price","logger","useLogger","tokenFrom","useSwapTokenFrom","amountValue","setAmountValue","useAtom","payInputAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t2","isDeltaPrice","srcUSDBeforeFee","srcUSD","usdEstimation","t3","values","log","value","t4","amount","token","onAmountChange","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","toDecimalTrimmed","useTokenConditionalProps","amountWei","swapMode","spenderContractType","swapModeToSpender","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","useIsTokenFromInsufficientBalance","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentSwapInput","useSetAtom","currentSwapInputAtom","setPayInputAmount","data","gasPrices","useGasPrices","hasBalance","isETH","showMaxButton","legacyPrices","gasCost","gasPriceMultiplier","instant","gasFeeETH","Big","plus","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","useExtraProps","isPriceLoading","appChainId","useChainId","setCurrentInput","side","useSwapSide","isLoading","enabledSrcChains","useEnabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","useTokenFromInputProps","activeSwapMode","override","tokenFromAmounts","parseUnits","decimals","formatUnits","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","selectSwapTokenFromAtom","newTokenFrom","onTokenSelect","t8","chainId","switchChain"],"mappings":"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"}
1
+ {"version":3,"file":"useTokenFromInputProps.js","sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport {\n AUGUSTUS_GAS_LIMIT_INACCURATE,\n WRAP_ETH_GAS_LIMIT_INACCURATE,\n} from \"@/lib/constants\";\nimport { useMaxButtonPropsBase } from \"./useMaxButtonProps\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = ({\n price,\n}: { price?: DeltaOrMarketPrice } = {}): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n const usdEstimation =\n price && isDeltaPrice(price)\n ? // srcUSDBeforeFee is available for BUY side\n price.srcUSDBeforeFee || price.srcUSD\n : price?.srcUSD;\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n usdEstimation,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\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,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n tokenFrom,\n activeSwapMode,\n}: {\n tokenFrom: Token;\n activeSwapMode: SwapMode;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\n\n const gasLimit =\n activeSwapMode === \"delta\"\n ? WRAP_ETH_GAS_LIMIT_INACCURATE\n : AUGUSTUS_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentSwapInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.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 isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps({\n price,\n });\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ tokenFrom, activeSwapMode });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"names":["useTokenFromAmountProps","t0","$","_c","t1","undefined","price","logger","useLogger","tokenFrom","useSwapTokenFrom","amountValue","setAmountValue","useAtom","payInputAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t2","isDeltaPrice","srcUSDBeforeFee","srcUSD","usdEstimation","t3","values","log","value","t4","amount","token","onAmountChange","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","toDecimalTrimmed","useTokenConditionalProps","amountWei","swapMode","spenderContractType","swapModeToSpender","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useDeltaOrderRequiredAllowance","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","useIsTokenFromInsufficientBalance","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","activeSwapMode","setCurrentSwapInput","useSetAtom","currentSwapInputAtom","setPayInputAmount","gasLimit","WRAP_ETH_GAS_LIMIT_INACCURATE","AUGUSTUS_GAS_LIMIT_INACCURATE","onClick","useMaxButtonPropsBase","useExtraProps","isPriceLoading","appChainId","useChainId","setCurrentInput","side","useSwapSide","isLoading","enabledSrcChains","useEnabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","useTokenFromInputProps","override","tokenFromAmounts","parseUnits","decimals","toString","formatUnits","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","selectSwapTokenFromAtom","newTokenFrom","onTokenSelect","t8","chainId","switchChain"],"mappings":"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"}
@@ -6,7 +6,6 @@ import { payInputAmountAtom, payInputAmountWeiAtom, receiveInputAmountAtom } fro
6
6
  import { limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmountAtom';
7
7
  import { PrimitiveAtom } from 'jotai';
8
8
  import { setLimitPayAmountAtomFromProps, setLimitReceiveAmountAtomFromProps } from '../../limit/state/limitInputActionsAtom';
9
- import { SwapSideUnion } from '@velora-dex/sdk';
10
9
  import { isCrossChainAtom as isSwapCrossChainAtom } from '../../state/isCrosschainAtom';
11
10
  import * as limitDeadline from "@/core/limit/state/deadlineAtom";
12
11
  export declare function syncTokensAfterChainSwitch(chainId: SupportedChainId): void;
@@ -30,7 +29,10 @@ export declare const tradeModeToSetTokenAtoms: Record<TradeMode, {
30
29
  tokenFromAtom: typeof selectSwapTokenFromAtom;
31
30
  tokenToAtom: typeof selectSwapTokenToAtom;
32
31
  }>;
33
- export declare const sideToInputType: Record<SwapSideUnion, "from" | "to">;
32
+ export declare const sideToInputType: {
33
+ readonly SELL: "from";
34
+ readonly BUY: "to";
35
+ };
34
36
  export declare const useWidgetTokens: (tradeMode: TradeMode) => {
35
37
  tokenFrom: import('../../../tokens/state/types').Token;
36
38
  tokenTo: import('../../../tokens/state/types').Token | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAOjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAU3C,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAInE;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,8BAA8B,EAAE,OAAO,CAAC,GACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAQF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,GAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAWF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,OAAO,GAAG,KAAK,EACf,OAAO,aAAa,CAAC,YAAY,CAIlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,qBAAqB,CAK7B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,SAAS,EACT,OAAO,8BAA8B,CAKtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,SAAS,EACT;IACE,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,gBAAgB,EAAE,OAAO,oBAAoB,CAAC;CAC/C,CAqBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,SAAS,EACT;IACE,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,WAAW,EAAE,OAAO,qBAAqB,CAAC;CAC3C,CAcF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAGhE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAOjD,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAUjD,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAInE;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,8BAA8B,EAAE,OAAO,CAAC,GACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAQF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,GAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAWF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,OAAO,GAAG,KAAK,EACf,OAAO,aAAa,CAAC,YAAY,CAIlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,qBAAqB,CAK7B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,SAAS,EACT,OAAO,8BAA8B,CAKtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,SAAS,EACT;IACE,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,gBAAgB,EAAE,OAAO,oBAAoB,CAAC;CAC/C,CAkBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,SAAS,EACT;IACE,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,WAAW,EAAE,OAAO,qBAAqB,CAAC;CAC3C,CAcF,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG6B,CAAC;AAE1D,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
@@ -7,7 +7,7 @@ import { syncOtcTokensAfterChainSwitch, otcTokenToAtom, otcTokenFromAtom } from
7
7
  import { payInputAmountAtom, receiveInputAmountAtom, payInputAmountWeiAtom, receiveInputAmountWeiAtom } from './inputAmountAtom.js';
8
8
  import { limitPayInputAmountAtom, limitReceiveInputAmountAtom, limitPayInputAmountWeiAtom, limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmountAtom.js';
9
9
  import { otcPayInputAmountAtom, otcReceiveInputAmountAtom, otcPayInputAmountWeiAtom, otcReceiveInputAmountWeiAtom } from '../../otc/state/otcInputAmountAtom.js';
10
- import 'jotai';
10
+ import { atom } from 'jotai';
11
11
  import { useAtomValue } from '../../store.js';
12
12
  import { selectLimitTokenToAtom, selectLimitTokenFromAtom } from '../../limit/state/selectedTokenActionsAtom.js';
13
13
  import { selectOtcTokenToAtom, selectOtcTokenFromAtom } from '../../otc/state/selectedTokenActionsAtom.js';
@@ -79,11 +79,9 @@ const tradeModeToTokenAtoms = {
79
79
  otc: {
80
80
  tokenFromAtom: otcTokenFromAtom,
81
81
  tokenToAtom: otcTokenToAtom,
82
- // mock Atom to appease TS
83
- isCrossChainAtom: {
84
- read: () => false,
85
- toString: () => "false"
86
- }
82
+ // unused const atom to appease TS
83
+ isCrossChainAtom: atom(() => false)
84
+ // always false
87
85
  }
88
86
  };
89
87
  const tradeModeToSetTokenAtoms = {
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n}\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n // mock Atom to appease TS\n isCrossChainAtom: {\n read: () => false,\n toString: () => \"false\",\n },\n },\n};\n\nexport const tradeModeToSetTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof selectSwapTokenFromAtom;\n tokenToAtom: typeof selectSwapTokenToAtom;\n }\n> = {\n swap: {\n tokenFromAtom: selectSwapTokenFromAtom,\n tokenToAtom: selectSwapTokenToAtom,\n },\n limit: {\n tokenFromAtom: selectLimitTokenFromAtom,\n tokenToAtom: selectLimitTokenToAtom,\n },\n otc: {\n tokenFromAtom: selectOtcTokenFromAtom,\n tokenToAtom: selectOtcTokenToAtom,\n },\n};\n\nexport const sideToInputType: Record<SwapSideUnion, \"from\" | \"to\"> = {\n SELL: \"from\",\n BUY: \"to\",\n};\n\nexport const useWidgetTokens = (tradeMode: TradeMode) => {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const tokenFrom = useAtomValue(tokenFromAtom);\n const tokenTo = useAtomValue(tokenToAtom);\n return { tokenFrom, tokenTo };\n};\n"],"names":["syncTokensAfterChainSwitch","chainId","syncSwapTokensAfterChainSwitch","syncLimitTokensAfterChainSwitch","syncOtcTokensAfterChainSwitch","tradeModeToPayAmountUnitAtom","swap","read","payInputAmountAtom","write","limit","limitPayInputAmountAtom","setLimitPayAmountAtomFromProps","otc","otcPayInputAmountAtom","setOtcPayAmountAtomFromProps","tradeModeToReceiveAmountUnitAtom","receiveInputAmountAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtomFromProps","otcReceiveInputAmountAtom","setOtcReceiveAmountAtomFromProps","tradeModeToTimeUnitAtom","limitDeadline","timeUnitAtom","otcDeadline","tradeModeToPayAmountWeiAtom","payInputAmountWeiAtom","limitPayInputAmountWeiAtom","otcPayInputAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","receiveInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","tradeModeToTokenAtoms","tokenFromAtom","swapTokenFromAtom","tokenToAtom","swapTokenToAtom","isCrossChainAtom","isSwapCrossChainAtom","limitTokenFromAtom","limitTokenToAtom","isLimitCrossChainAtom","otcTokenFromAtom","otcTokenToAtom","toString","tradeModeToSetTokenAtoms","selectSwapTokenFromAtom","selectSwapTokenToAtom","selectLimitTokenFromAtom","selectLimitTokenToAtom","selectOtcTokenFromAtom","selectOtcTokenToAtom","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { atom, type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n}\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n // unused const atom to appease TS\n isCrossChainAtom: atom(() => false), // always false\n },\n};\n\nexport const tradeModeToSetTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof selectSwapTokenFromAtom;\n tokenToAtom: typeof selectSwapTokenToAtom;\n }\n> = {\n swap: {\n tokenFromAtom: selectSwapTokenFromAtom,\n tokenToAtom: selectSwapTokenToAtom,\n },\n limit: {\n tokenFromAtom: selectLimitTokenFromAtom,\n tokenToAtom: selectLimitTokenToAtom,\n },\n otc: {\n tokenFromAtom: selectOtcTokenFromAtom,\n tokenToAtom: selectOtcTokenToAtom,\n },\n};\n\nexport const sideToInputType = {\n SELL: \"from\",\n BUY: \"to\",\n} as const satisfies Record<SwapSideUnion, \"from\" | \"to\">;\n\nexport const useWidgetTokens = (tradeMode: TradeMode) => {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const tokenFrom = useAtomValue(tokenFromAtom);\n const tokenTo = useAtomValue(tokenToAtom);\n return { tokenFrom, tokenTo };\n};\n"],"names":["syncTokensAfterChainSwitch","chainId","syncSwapTokensAfterChainSwitch","syncLimitTokensAfterChainSwitch","syncOtcTokensAfterChainSwitch","tradeModeToPayAmountUnitAtom","swap","read","payInputAmountAtom","write","limit","limitPayInputAmountAtom","setLimitPayAmountAtomFromProps","otc","otcPayInputAmountAtom","setOtcPayAmountAtomFromProps","tradeModeToReceiveAmountUnitAtom","receiveInputAmountAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtomFromProps","otcReceiveInputAmountAtom","setOtcReceiveAmountAtomFromProps","tradeModeToTimeUnitAtom","limitDeadline","timeUnitAtom","otcDeadline","tradeModeToPayAmountWeiAtom","payInputAmountWeiAtom","limitPayInputAmountWeiAtom","otcPayInputAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","receiveInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","tradeModeToTokenAtoms","tokenFromAtom","swapTokenFromAtom","tokenToAtom","swapTokenToAtom","isCrossChainAtom","isSwapCrossChainAtom","limitTokenFromAtom","limitTokenToAtom","isLimitCrossChainAtom","otcTokenFromAtom","otcTokenToAtom","atom","tradeModeToSetTokenAtoms","selectSwapTokenFromAtom","selectSwapTokenToAtom","selectLimitTokenFromAtom","selectLimitTokenToAtom","selectOtcTokenFromAtom","selectOtcTokenToAtom","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB;;CAAY,CAAC;AAE5C,eAAO,MAAM,sBAAsB;;CAAY,CAAC;AAEhD,eAAO,MAAM,qBAAqB,8BAKhC,CAAC;AAEH,eAAO,MAAM,yBAAyB,0CAOpC,CAAC"}
1
+ {"version":3,"file":"inputAmountAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;CAAY,CAAC;AAE5C,eAAO,MAAM,sBAAsB;;CAAY,CAAC;AAEhD,eAAO,MAAM,qBAAqB,8BAKhC,CAAC;AAEH,eAAO,MAAM,yBAAyB,0CAOpC,CAAC"}
@@ -2,7 +2,7 @@ import { atom } from 'jotai';
2
2
  import { swapTokenFromAtom, swapTokenToAtom } from './selectedTokenAtom.js';
3
3
  import { parseUnits } from 'viem';
4
4
 
5
- const payInputAmountAtom = atom("0");
5
+ const payInputAmountAtom = atom("1");
6
6
  const receiveInputAmountAtom = atom("0");
7
7
  const payInputAmountWeiAtom = atom((get) => {
8
8
  const tokenFrom = get(swapTokenFromAtom);
@@ -1 +1 @@
1
- {"version":3,"file":"inputAmountAtom.js","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n swapTokenFromAtom,\n swapTokenToAtom,\n} from \"./selectedTokenAtom\";\nimport { parseUnits } from \"viem\";\n\nexport const payInputAmountAtom = atom(\"0\");\n\nexport const receiveInputAmountAtom = atom(\"0\");\n\nexport const payInputAmountWeiAtom = atom((get) => {\n // amountWei derived from payInputAmountAtom\n const tokenFrom = get(swapTokenFromAtom);\n const payInputAmount = get(payInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const receiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from receiveInputAmountAtom\n const tokenTo = get(swapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(receiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"names":["payInputAmountAtom","atom","receiveInputAmountAtom","payInputAmountWeiAtom","get","tokenFrom","swapTokenFromAtom","payInputAmount","parseUnits","decimals","toString","receiveInputAmountWeiAtom","tokenTo","swapTokenToAtom","receiveInputAmount"],"mappings":";;;;AAOO,MAAMA,kBAAAA,GAAqBC,KAAK,GAAG;AAEnC,MAAMC,sBAAAA,GAAyBD,KAAK,GAAG;AAEvC,MAAME,qBAAAA,GAAwBF,KAAMG,CAAAA,GAAAA,KAAQ;AAEjD,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,cAAAA,GAAiBH,IAAIJ,kBAAkB,CAAA;AAC7C,EAAA,OAAOQ,UAAAA,CAAWD,cAAAA,EAAgBF,SAAAA,CAAUI,QAAQ,EAAEC,QAAAA,EAAS;AACjE,CAAC;AAEM,MAAMC,yBAAAA,GAA4BV,KAAMG,CAAAA,GAAAA,KAAQ;AAErD,EAAA,MAAMQ,OAAAA,GAAUR,IAAIS,eAAe,CAAA;AACnC,EAAA,IAAID,OAAAA,EAAS;AACX,IAAA,MAAME,kBAAAA,GAAqBV,IAAIF,sBAAsB,CAAA;AACrD,IAAA,OAAOM,UAAAA,CAAWM,kBAAAA,EAAoBF,OAAAA,CAAQH,QAAQ,EAAEC,QAAAA,EAAS;AAAA,EACnE;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"inputAmountAtom.js","sources":["../../../../src/core/inputs/state/inputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { parseUnits } from \"viem\";\n\nexport const payInputAmountAtom = atom(\"1\");\n\nexport const receiveInputAmountAtom = atom(\"0\");\n\nexport const payInputAmountWeiAtom = atom((get) => {\n // amountWei derived from payInputAmountAtom\n const tokenFrom = get(swapTokenFromAtom);\n const payInputAmount = get(payInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const receiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from receiveInputAmountAtom\n const tokenTo = get(swapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(receiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"names":["payInputAmountAtom","atom","receiveInputAmountAtom","payInputAmountWeiAtom","get","tokenFrom","swapTokenFromAtom","payInputAmount","parseUnits","decimals","toString","receiveInputAmountWeiAtom","tokenTo","swapTokenToAtom","receiveInputAmount"],"mappings":";;;;AAIO,MAAMA,kBAAAA,GAAqBC,KAAK,GAAG;AAEnC,MAAMC,sBAAAA,GAAyBD,KAAK,GAAG;AAEvC,MAAME,qBAAAA,GAAwBF,KAAMG,CAAAA,GAAAA,KAAQ;AAEjD,EAAA,MAAMC,SAAAA,GAAYD,IAAIE,iBAAiB,CAAA;AACvC,EAAA,MAAMC,cAAAA,GAAiBH,IAAIJ,kBAAkB,CAAA;AAC7C,EAAA,OAAOQ,UAAAA,CAAWD,cAAAA,EAAgBF,SAAAA,CAAUI,QAAQ,EAAEC,QAAAA,EAAS;AACjE,CAAC;AAEM,MAAMC,yBAAAA,GAA4BV,KAAMG,CAAAA,GAAAA,KAAQ;AAErD,EAAA,MAAMQ,OAAAA,GAAUR,IAAIS,eAAe,CAAA;AACnC,EAAA,IAAID,OAAAA,EAAS;AACX,IAAA,MAAME,kBAAAA,GAAqBV,IAAIF,sBAAsB,CAAA;AACrD,IAAA,OAAOM,UAAAA,CAAWM,kBAAAA,EAAoBF,OAAAA,CAAQH,QAAQ,EAAEC,QAAAA,EAAS;AAAA,EACnE;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,eAAO,MAAM,oBAAoB;;CAyF/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAuEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CAyGjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SAoEvE,CAAC"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,eAAO,MAAM,oBAAoB;;CAyF/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAuEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CA0HjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SAoEvE,CAAC"}
@@ -10,7 +10,7 @@ import { allTokensByChainAtom } from '../../../tokens/state/allTokensByChainAtom
10
10
  import { enabledSrcChainsAtom } from '../../state/enabledChainsAtom.js';
11
11
  import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
12
12
  import { getSelectableDestChains } from '../../state/getSelectableDestChains.js';
13
- import { isCrosschainPossible } from '../../across/isCrosshcainPossible.js';
13
+ import { isCrosschainPossible } from '../../across/isCrosschainPossible.js';
14
14
 
15
15
  const switchSwapTokensAtom = atom(null, (get, set) => {
16
16
  const tokenFrom = get(swapTokenFromAtom);
@@ -170,8 +170,23 @@ const selectSwapTokenToAtom = atom(null, async (get, set, newTokenTo) => {
170
170
  needResetTokenFrom = true;
171
171
  }
172
172
  const enabledSrcChains = get(enabledSrcChainsAtom);
173
- if (needResetTokenFrom && enabledSrcChains.includes(tokenTo.network)) {
174
- const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenTo.network, "swap");
173
+ if (needResetTokenFrom) {
174
+ let firstPossibleSrcChain = tokenTo.network;
175
+ if (!enabledSrcChains.includes(tokenTo.network)) {
176
+ for (const srcChain of enabledSrcChains) {
177
+ const crosschainPossible2 = isCrosschainPossible({
178
+ get,
179
+ chainIdFrom: srcChain,
180
+ chainIdTo: tokenTo.network,
181
+ mode: "swap"
182
+ });
183
+ if (crosschainPossible2) {
184
+ firstPossibleSrcChain = srcChain;
185
+ break;
186
+ }
187
+ }
188
+ }
189
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(firstPossibleSrcChain, "swap");
175
190
  const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
176
191
  set(swapTokenFromAtom, newTokenFrom);
177
192
  tokenFrom = newTokenFrom;