@velora-dex/widget 0.8.1 → 0.8.2

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 (575) hide show
  1. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/button.js.map +1 -1
  4. package/dist/components/ui/card.js.map +1 -1
  5. package/dist/components/ui/drawer.js.map +1 -1
  6. package/dist/components/ui/dropdown-menu.js.map +1 -1
  7. package/dist/components/ui/input.js.map +1 -1
  8. package/dist/components/ui/progress.js.map +1 -1
  9. package/dist/components/ui/skeleton.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/switch.js.map +1 -1
  12. package/dist/components/ui/tooltip.js.map +1 -1
  13. package/dist/components/web3/AccountButton.js.map +1 -1
  14. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  15. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  16. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  17. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  18. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/index.js +1 -1
  20. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  23. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  27. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  28. package/dist/components/web3/providers.js.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  30. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  31. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  32. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  34. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  35. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  36. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  37. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  38. package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
  39. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  40. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  41. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
  42. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  43. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  44. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  45. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  46. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  47. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  48. package/dist/components/widget/Button/RefreshButton.js.map +1 -1
  49. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  50. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  51. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  52. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  53. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  54. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  55. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  56. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  57. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  58. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  59. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  60. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  61. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  62. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  63. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  64. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  66. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  67. package/dist/components/widget/Drawer/index.js.map +1 -1
  68. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  69. package/dist/components/widget/Duration/Duration.js.map +1 -1
  70. package/dist/components/widget/Duration/utils.js.map +1 -1
  71. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  72. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  73. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  74. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  75. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  76. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  77. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  78. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  79. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  80. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  81. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  82. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  83. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  84. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  85. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  86. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  87. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  88. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  89. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  90. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  91. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  92. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  93. package/dist/components/widget/Line/Line.js.map +1 -1
  94. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  95. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  96. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  97. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  98. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  99. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  100. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  101. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  102. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  103. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  104. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  105. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  106. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  107. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  108. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  109. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  110. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  111. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  112. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  113. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  114. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  115. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  116. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  117. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  118. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  119. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  120. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  121. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  122. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  123. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  124. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  125. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  126. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  127. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  128. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  129. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  130. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  131. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  132. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  133. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  134. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  135. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  136. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  137. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  138. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  139. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  140. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  141. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  142. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  143. package/dist/components/widget/TokenInput/index.js.map +1 -1
  144. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  145. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  147. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  148. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  149. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  151. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  152. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  153. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  154. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  155. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  156. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  160. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  161. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  162. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  178. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  179. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  180. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  181. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  182. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  183. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  184. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  185. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  186. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  187. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  188. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  189. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  190. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  191. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  192. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  193. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  194. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  195. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  196. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  197. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  198. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  205. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  206. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  207. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  208. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  209. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  210. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  211. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  212. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  213. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  214. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  215. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  216. package/dist/components/widget/Warning/Warning.js.map +1 -1
  217. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  218. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  219. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  220. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  221. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  222. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  223. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  224. package/dist/core/LimitOrderButton.js.map +1 -1
  225. package/dist/core/LimitOrderDetails.js.map +1 -1
  226. package/dist/core/OtcOrderButton.js.map +1 -1
  227. package/dist/core/OtcOrderDetails.js.map +1 -1
  228. package/dist/core/Toaster.js.map +1 -1
  229. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  230. package/dist/core/TwapDetails.js.map +1 -1
  231. package/dist/core/Updaters.js.map +1 -1
  232. package/dist/core/Warnings.js.map +1 -1
  233. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  234. package/dist/core/across/utils.js.map +1 -1
  235. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  236. package/dist/core/index.js.map +1 -1
  237. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  238. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  239. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  240. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  241. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  242. package/dist/core/inputs/hooks/utils.js.map +1 -1
  243. package/dist/core/inputs/state/common.js.map +1 -1
  244. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  245. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  246. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  247. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  248. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  249. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  250. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  251. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  252. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  253. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  254. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  255. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  256. package/dist/core/limit/state/utils.js.map +1 -1
  257. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  258. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  259. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  260. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  261. package/dist/core/limit/useLimitRate.js.map +1 -1
  262. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  263. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  264. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  265. package/dist/core/logger.js.map +1 -1
  266. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  267. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  268. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  269. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  270. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  271. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  272. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  273. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  274. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  275. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  276. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  277. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  278. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  279. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  280. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  281. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  282. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  283. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  284. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  285. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  286. package/dist/core/screen/state/screenAtom.js.map +1 -1
  287. package/dist/core/state/apiConfigAtom.js.map +1 -1
  288. package/dist/core/state/chainToAtom.js.map +1 -1
  289. package/dist/core/state/configActionsAtom.js.map +1 -1
  290. package/dist/core/state/configEffectAtom.js.map +1 -1
  291. package/dist/core/state/containerAtom.js.map +1 -1
  292. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  293. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  294. package/dist/core/state/externalProviderAtom.js.map +1 -1
  295. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  296. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  297. package/dist/core/state/tradeModeAtom.js.map +1 -1
  298. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  299. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  300. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  301. package/dist/core/subscriptions.js.map +1 -1
  302. package/dist/core/swapDetails/fees.js.map +1 -1
  303. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  304. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  305. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  306. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  307. package/dist/core/swapDetails/youGet.js.map +1 -1
  308. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  309. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  310. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  311. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  312. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  313. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  314. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  315. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  316. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  317. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  318. package/dist/events/effects/formInput.js.map +1 -1
  319. package/dist/events/effects/price.js.map +1 -1
  320. package/dist/events/effects/swapMode.js.map +1 -1
  321. package/dist/events/getters/limit.js.map +1 -1
  322. package/dist/events/getters/otc.js.map +1 -1
  323. package/dist/events/getters/settings.js.map +1 -1
  324. package/dist/events/getters/swap.js.map +1 -1
  325. package/dist/events/getters/twap.js.map +1 -1
  326. package/dist/events/getters/widgetState.js.map +1 -1
  327. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  328. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  329. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  330. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  331. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  332. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  333. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  334. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  335. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  336. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  337. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  338. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  339. package/dist/hooks/gas/utils.js.map +1 -1
  340. package/dist/hooks/getCode/query.js.map +1 -1
  341. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  342. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  343. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  344. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  345. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  346. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  347. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  348. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  349. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  350. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  351. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  352. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  353. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  354. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  355. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  356. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  357. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  358. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  359. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  360. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  361. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  362. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  363. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  364. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  365. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  366. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  367. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  368. package/dist/hooks/permit/utils/constants.js.map +1 -1
  369. package/dist/hooks/permit/utils/construct.js.map +1 -1
  370. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  371. package/dist/hooks/permit/utils/detect.js.map +1 -1
  372. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  373. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  374. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  375. package/dist/hooks/permit/utils/utils.js.map +1 -1
  376. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  377. package/dist/hooks/sdk/useSpender.js.map +1 -1
  378. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  379. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  380. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  381. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  382. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  383. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  384. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  385. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  386. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  387. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  388. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  389. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  390. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  391. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  392. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  393. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  394. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  395. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  396. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  397. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  398. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  399. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  400. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +8 -11
  401. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  402. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  403. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  404. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  405. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  406. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  407. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  408. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  409. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  410. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  411. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  412. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  413. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -1
  414. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  415. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  416. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  417. package/dist/hooks/swap/prices/factory.js.map +1 -1
  418. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  419. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  420. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  421. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  422. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  423. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  424. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  425. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  426. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  427. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  428. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  429. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  430. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  431. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  432. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  433. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  434. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  435. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  436. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  437. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  438. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  439. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  440. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  441. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  442. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  443. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  444. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  445. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  446. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  447. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  448. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  449. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  450. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  451. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  452. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  453. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  454. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  455. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  456. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  457. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  458. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  459. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  460. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  461. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  462. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  463. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  464. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  465. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  466. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  467. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  468. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  469. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  470. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  471. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  472. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  473. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  474. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  475. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  476. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  477. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  478. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  479. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  480. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  481. package/dist/hooks/txs/queries/utils.js.map +1 -1
  482. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  483. package/dist/hooks/useBreakpoints.js.map +1 -1
  484. package/dist/hooks/useBridgeInfo.js.map +1 -1
  485. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  486. package/dist/hooks/useCachedQueryError.js.map +1 -1
  487. package/dist/hooks/useChainMatches.js.map +1 -1
  488. package/dist/hooks/useClickOutside.js.map +1 -1
  489. package/dist/hooks/useCurrentChain.js.map +1 -1
  490. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  491. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  492. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  493. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  494. package/dist/hooks/useMinViemClient.js.map +1 -1
  495. package/dist/hooks/useSDK.js.map +1 -1
  496. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  497. package/dist/hooks/useSlippage.js.map +1 -1
  498. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  499. package/dist/lib/constants/urls.js.map +1 -1
  500. package/dist/lib/ipfs.js.map +1 -1
  501. package/dist/lib/queryClient.js.map +1 -1
  502. package/dist/lib/tradeMode.js.map +1 -1
  503. package/dist/lib/utils/approval.js.map +1 -1
  504. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  505. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  506. package/dist/lib/utils/delta.js.map +1 -1
  507. package/dist/lib/utils/dexes.js.map +1 -1
  508. package/dist/lib/utils/explorer.js.map +1 -1
  509. package/dist/lib/utils/fee.js.map +1 -1
  510. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  511. package/dist/lib/utils/formatPercent.js.map +1 -1
  512. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  513. package/dist/lib/utils/index.js.map +1 -1
  514. package/dist/lib/utils/logger.js.map +1 -1
  515. package/dist/lib/utils/metabase.js.map +1 -1
  516. package/dist/lib/utils/mobile.js.map +1 -1
  517. package/dist/lib/utils/price.js.map +1 -1
  518. package/dist/lib/utils/priceImpact.js.map +1 -1
  519. package/dist/lib/utils/providerErrors.js.map +1 -1
  520. package/dist/lib/utils/rate.js.map +1 -1
  521. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  522. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  523. package/dist/lib/utils/scaleFactor.js.map +1 -1
  524. package/dist/lib/utils/slippage.js.map +1 -1
  525. package/dist/lib/utils/time.js.map +1 -1
  526. package/dist/lib/utils/toDecimal.js.map +1 -1
  527. package/dist/lib/utils/toasts.js.map +1 -1
  528. package/dist/lib/utils/tradeFlow.js.map +1 -1
  529. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  530. package/dist/lib/utils/tuple.js.map +1 -1
  531. package/dist/lib/utils/twap.js.map +1 -1
  532. package/dist/lib/utils/useDateNow.js.map +1 -1
  533. package/dist/lib/web3/wagmi/config.js.map +1 -1
  534. package/dist/lib/web3/wagmi/external.js.map +1 -1
  535. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  536. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  537. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  538. package/dist/tokens/blacklist.js.map +1 -1
  539. package/dist/tokens/constructor.js.map +1 -1
  540. package/dist/tokens/defaultTokens.js.map +1 -1
  541. package/dist/tokens/hooks.js.map +1 -1
  542. package/dist/tokens/lists/constants.js.map +1 -1
  543. package/dist/tokens/lists/download.js.map +1 -1
  544. package/dist/tokens/lists/state/effects.js.map +1 -1
  545. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  546. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  547. package/dist/tokens/overrides.js.map +1 -1
  548. package/dist/tokens/queries.js.map +1 -1
  549. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  550. package/dist/tokens/stabeCoins/index.js.map +1 -1
  551. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  552. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  553. package/dist/tokens/state/constructTokens.js.map +1 -1
  554. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  555. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  556. package/dist/tokens/utils/brand.js.map +1 -1
  557. package/dist/tokens/utils/eth.js.map +1 -1
  558. package/dist/tokens/utils/filtering.js.map +1 -1
  559. package/dist/tokens/utils/sets.js.map +1 -1
  560. package/dist/tokens/utils/sorting.js.map +1 -1
  561. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  562. package/dist/transactions/hash.js.map +1 -1
  563. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  564. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  565. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  566. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  567. package/dist/transactions/state/effects/finalize.js.map +1 -1
  568. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  569. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  570. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  571. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  572. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  573. package/dist/transactions/status.js.map +1 -1
  574. package/dist/transactions/utils.js.map +1 -1
  575. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitPriceDifference.js","names":["getPercentDifference","useAtomValue","limitPriceRatesAtom","useLimitRate","UseLimitPriceDiffResult","useLimitPriceDifference","$","_c","limitRateResult","userDefinedRate","Number","rate","rates","t0","priceDiff","marketRate","t1"],"sources":["../../../src/core/limit/useLimitPriceDifference.ts"],"sourcesContent":["import { getPercentDifference } from \"@/lib/utils/price\";\nimport { useAtomValue } from \"@/core/store\";\nimport { limitPriceRatesAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport type { UseLimitPriceDiffResult } from \"./types\";\n\nexport const useLimitPriceDifference = (): UseLimitPriceDiffResult => {\n const limitRateResult = useLimitRate(\"limit\");\n\n const userDefinedRate = Number(useAtomValue(limitPriceRatesAtom).rate);\n\n if (!userDefinedRate || !limitRateResult.rates?.rate)\n return { priceDiff: 0, ...limitRateResult };\n\n const marketRate = Number(limitRateResult.rates.rate) || 0; // guard against NaN\n // how much % the limit price rate is different from the market rate\n const priceDiff = getPercentDifference(userDefinedRate, marketRate);\n\n return { priceDiff, ...limitRateResult };\n};\n"],"mappings":";;;;;;AAMA,IAAaK,UAA0B;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACrCC,IAAwBL,EAAa,QAAQ,EAE7CM,IAAwBC,OAAOT,EAAaC,EAAoB,CAAAS,KAAM;AAEtE,KAAI,CAACF,KAAD,CAAqBD,EAAeI,OAAYD,MAAA;EAAA,IAAAE;AACP,SADOP,EAAA,OAAAE,IACPK,IAAAP,EAAA,MAApCO,IAAA;GAAAC,WAAa;GAAC,GAAKN;GAAiB,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAO,IAApCA;;CAET,IAAAE,IAAmBL,OAAOF,EAAeI,MAAMD,KAAW,IAAvC,GAAwCE;AAAA,CAAAP,EAAA,OAAAS,KAAAT,EAAA,OAAAG,KAEzCI,IAAAb,EAAqBS,GAAiBM,EAAW,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAnE,IAAAQ,IAAkBD,GAAkDG;AAE5B,QAF4BV,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,KAE7DE,IAAA;EAAAF;EAAA,GAAgBN;EAAiB,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,GAAAR,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAAjCU"}
1
+ {"version":3,"file":"useLimitPriceDifference.js","names":["getPercentDifference","useAtomValue","limitPriceRatesAtom","useLimitRate","UseLimitPriceDiffResult","useLimitPriceDifference","$","_c","limitRateResult","userDefinedRate","Number","rate","rates","t0","priceDiff","marketRate","t1"],"sources":["../../../src/core/limit/useLimitPriceDifference.ts"],"sourcesContent":["import { getPercentDifference } from \"@/lib/utils/price\";\nimport { useAtomValue } from \"@/core/store\";\nimport { limitPriceRatesAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport type { UseLimitPriceDiffResult } from \"./types\";\n\nexport const useLimitPriceDifference = (): UseLimitPriceDiffResult => {\n const limitRateResult = useLimitRate(\"limit\");\n\n const userDefinedRate = Number(useAtomValue(limitPriceRatesAtom).rate);\n\n if (!userDefinedRate || !limitRateResult.rates?.rate)\n return { priceDiff: 0, ...limitRateResult };\n\n const marketRate = Number(limitRateResult.rates.rate) || 0; // guard against NaN\n // how much % the limit price rate is different from the market rate\n const priceDiff = getPercentDifference(userDefinedRate, marketRate);\n\n return { priceDiff, ...limitRateResult };\n};\n"],"mappings":";;;;;;AAMA,IAAaK,UAA0B;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACrCC,IAAwBL,EAAa,QAAQ,EAE7CM,IAAwBC,OAAOT,EAAaC,EAAoB,CAAAS,KAAM;CAEtE,IAAI,CAACF,KAAD,CAAqBD,EAAeI,OAAYD,MAAA;EAAA,IAAAE;EACP,OADOP,EAAA,OAAAE,IACPK,IAAAP,EAAA,MAApCO,IAAA;GAAAC,WAAa;GAAC,GAAKN;GAAiB,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAO,IAApCA;;CAET,IAAAE,IAAmBL,OAAOF,EAAeI,MAAMD,KAAW,IAAvC,GAAwCE;CAAA,AAAAP,EAAA,OAAAS,KAAAT,EAAA,OAAAG,KAEzCI,IAAAb,EAAqBS,GAAiBM,EAAW,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAnE,IAAAQ,IAAkBD,GAAkDG;CAE5B,OAF4BV,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,KAE7DE,IAAA;EAAAF;EAAA,GAAgBN;EAAiB,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,GAAAR,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAAjCU"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitPriceInputProps.js","names":["PriceInputProps","useAtomValue","useSetAtom","useAtom","OnValueChange","useWidgetTokens","useLogger","currentLimitInputAtom","isLimitPriceLockedAtom","isLimitPriceReversedAtom","setLimitPriceRatesAtom","toggleLimitPriceLockAtom","toggleLimitPriceReverseAtom","resetLimitPriceAtom","limitPriceAmountAtom","useLimitPriceDifference","getUpdatedRates","useLimitPriceInputProps","$","_c","logger","tokenFrom","tokenTo","isLocked","isReversed","limitPriceAmount","setPriceRates","togglePriceLock","togglePriceReverse","resetPrice","currentLimitInput","setCurrentLimitInput","rates","isLoading","priceDiff","t0","values","log","updatedRates","value","recalculateReceive","onAmountChange","drivingToken","t1","t2","t3","t4","t5","type","amount","onReset","onToggleLock","onToggleReverse","onFocus"],"sources":["../../../src/core/limit/useLimitPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"@/core/store\";\n// import { useEffect } from \"react\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useLogger } from \"../logger\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { isLimitPriceLockedAtom } from \"./state/isLimitPriceLockedAtom\";\nimport { isLimitPriceReversedAtom } from \"./state/isLimitPriceReversedAtom\";\nimport {\n setLimitPriceRatesAtom,\n toggleLimitPriceLockAtom,\n toggleLimitPriceReverseAtom,\n resetLimitPriceAtom,\n} from \"./state/limitInputActionsAtom\";\nimport { limitPriceAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitPriceDifference } from \"./useLimitPriceDifference\";\nimport { getUpdatedRates } from \"./state/utils\";\n\nexport const useLimitPriceInputProps = (): PriceInputProps => {\n const logger = useLogger(\"LimitPriceInput\");\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const isLocked = useAtomValue(isLimitPriceLockedAtom);\n const isReversed = useAtomValue(isLimitPriceReversedAtom);\n const limitPriceAmount = useAtomValue(limitPriceAmountAtom);\n\n const setPriceRates = useSetAtom(setLimitPriceRatesAtom);\n const togglePriceLock = useSetAtom(toggleLimitPriceLockAtom);\n const togglePriceReverse = useSetAtom(toggleLimitPriceReverseAtom);\n const resetPrice = useSetAtom(resetLimitPriceAtom);\n const [currentLimitInput, setCurrentLimitInput] = useAtom(\n currentLimitInputAtom\n );\n\n const { rates, isLoading, priceDiff } = useLimitPriceDifference();\n\n /*\n useEffect(() => {\n if (rates) {\n setPriceRates(rates);\n }\n }, [setPriceRates, rates]);\n */\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange\", values);\n\n const updatedRates = getUpdatedRates(values.value, isReversed);\n const recalculateReceive = currentLimitInput === \"limit\";\n setPriceRates(updatedRates, recalculateReceive);\n };\n\n const drivingToken = isReversed ? tokenFrom : tokenTo;\n\n return {\n type: \"limit\",\n drivingToken,\n amount: limitPriceAmount,\n isLoading,\n isLocked,\n isReversed,\n priceDiff,\n onAmountChange,\n onReset: () => resetPrice(rates),\n onToggleLock: () => togglePriceLock(),\n onToggleReverse: () => togglePriceReverse(),\n onFocus: () => setCurrentLimitInput(\"limit\"),\n };\n};\n"],"mappings":";;;;;;;;;;;;AAmBA,IAAaiB,UAA0B;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACrCC,IAAed,EAAU,kBAAkB,EAC3C,EAAAe,cAAAC,eAA+BjB,EAAgB,QAAQ,EAEvDkB,IAAiBtB,EAAaO,EAAuB,EACrDgB,IAAmBvB,EAAaQ,EAAyB,EACzDgB,IAAyBxB,EAAaa,EAAqB,EAE3DY,IAAsBxB,EAAWQ,EAAuB,EACxDiB,IAAwBzB,EAAWS,EAAyB,EAC5DiB,IAA2B1B,EAAWU,EAA4B,EAClEiB,IAAmB3B,EAAWW,EAAoB,EAClD,CAAAiB,GAAAC,KAAkD5B,EAChDI,EACD,EAED,EAAAyB,UAAAC,cAAAC,iBAAwCnB,GAAyB,EAACoB;AAAA,CAAAjB,EAAA,OAAAY,KAAAZ,EAAA,OAAAM,KAAAN,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,KAU5BS,KAAAC,MAAA;AAKpCV,EAJAN,EAAMiB,IAAK,kBAAkBD,EAAO,EAIpCV,EAFqBV,EAAgBoB,EAAMG,OAAQf,EAAW,EACnCM,MAAsB,QACF;IAChDZ,EAAA,KAAAY,GAAAZ,EAAA,KAAAM,GAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,GAAAR,EAAA,KAAAiB,KAAAA,IAAAjB,EAAA;CAND,IAAAuB,IAAsCN,GAQtCO,IAAqBlB,IAAAH,IAAAC,GAAiCqB;AAAA,CAAAzB,EAAA,OAAAc,KAAAd,EAAA,OAAAW,KAW3Cc,UAAMd,EAAWG,EAAM,EAAAd,EAAA,KAAAc,GAAAd,EAAA,KAAAW,GAAAX,EAAA,KAAAyB,KAAAA,IAAAzB,EAAA;CAAA,IAAA0B;AAAA,CAAA1B,EAAA,OAAAS,IACKiB,IAAA1B,EAAA,MAAvB0B,UAAMjB,GAAiB,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAA0B;CAAA,IAAAC;AAAA,CAAA3B,EAAA,QAAAU,IACMiB,IAAA3B,EAAA,OAA1B2B,UAAMjB,GAAoB,EAAAV,EAAA,MAAAU,GAAAV,EAAA,MAAA2B;CAAA,IAAAC;AAAA,CAAA5B,EAAA,QAAAa,IACCe,IAAA5B,EAAA,OAAnC4B,UAAMf,EAAqB,QAAQ,EAAAb,EAAA,MAAAa,GAAAb,EAAA,MAAA4B;CAAA,IAAAC;AAC7C,QAD6C7B,EAAA,QAAAwB,KAAAxB,EAAA,QAAAe,KAAAf,EAAA,QAAAK,KAAAL,EAAA,QAAAM,KAAAN,EAAA,QAAAO,KAAAP,EAAA,QAAAuB,KAAAvB,EAAA,QAAAgB,KAAAhB,EAAA,QAAAyB,KAAAzB,EAAA,QAAA0B,KAAA1B,EAAA,QAAA2B,KAAA3B,EAAA,QAAA4B,KAZvCC,IAAA;EAAAC,MACC;EAAON;EAAAO,QAELxB;EAAgBQ;EAAAV;EAAAC;EAAAU;EAAAO;EAAAS,SAMfP;EAAuBQ,cAClBP;EAAuBQ,iBACpBP;EAA0BQ,SAClCP;EACV,EAAA5B,EAAA,MAAAwB,GAAAxB,EAAA,MAAAe,GAAAf,EAAA,MAAAK,GAAAL,EAAA,MAAAM,GAAAN,EAAA,MAAAO,GAAAP,EAAA,MAAAuB,GAAAvB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAyB,GAAAzB,EAAA,MAAA0B,GAAA1B,EAAA,MAAA2B,GAAA3B,EAAA,MAAA4B,GAAA5B,EAAA,MAAA6B,KAAAA,IAAA7B,EAAA,KAbM6B"}
1
+ {"version":3,"file":"useLimitPriceInputProps.js","names":["PriceInputProps","useAtomValue","useSetAtom","useAtom","OnValueChange","useWidgetTokens","useLogger","currentLimitInputAtom","isLimitPriceLockedAtom","isLimitPriceReversedAtom","setLimitPriceRatesAtom","toggleLimitPriceLockAtom","toggleLimitPriceReverseAtom","resetLimitPriceAtom","limitPriceAmountAtom","useLimitPriceDifference","getUpdatedRates","useLimitPriceInputProps","$","_c","logger","tokenFrom","tokenTo","isLocked","isReversed","limitPriceAmount","setPriceRates","togglePriceLock","togglePriceReverse","resetPrice","currentLimitInput","setCurrentLimitInput","rates","isLoading","priceDiff","t0","values","log","updatedRates","value","recalculateReceive","onAmountChange","drivingToken","t1","t2","t3","t4","t5","type","amount","onReset","onToggleLock","onToggleReverse","onFocus"],"sources":["../../../src/core/limit/useLimitPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"@/core/store\";\n// import { useEffect } from \"react\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useLogger } from \"../logger\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { isLimitPriceLockedAtom } from \"./state/isLimitPriceLockedAtom\";\nimport { isLimitPriceReversedAtom } from \"./state/isLimitPriceReversedAtom\";\nimport {\n setLimitPriceRatesAtom,\n toggleLimitPriceLockAtom,\n toggleLimitPriceReverseAtom,\n resetLimitPriceAtom,\n} from \"./state/limitInputActionsAtom\";\nimport { limitPriceAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { useLimitPriceDifference } from \"./useLimitPriceDifference\";\nimport { getUpdatedRates } from \"./state/utils\";\n\nexport const useLimitPriceInputProps = (): PriceInputProps => {\n const logger = useLogger(\"LimitPriceInput\");\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const isLocked = useAtomValue(isLimitPriceLockedAtom);\n const isReversed = useAtomValue(isLimitPriceReversedAtom);\n const limitPriceAmount = useAtomValue(limitPriceAmountAtom);\n\n const setPriceRates = useSetAtom(setLimitPriceRatesAtom);\n const togglePriceLock = useSetAtom(toggleLimitPriceLockAtom);\n const togglePriceReverse = useSetAtom(toggleLimitPriceReverseAtom);\n const resetPrice = useSetAtom(resetLimitPriceAtom);\n const [currentLimitInput, setCurrentLimitInput] = useAtom(\n currentLimitInputAtom\n );\n\n const { rates, isLoading, priceDiff } = useLimitPriceDifference();\n\n /*\n useEffect(() => {\n if (rates) {\n setPriceRates(rates);\n }\n }, [setPriceRates, rates]);\n */\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange\", values);\n\n const updatedRates = getUpdatedRates(values.value, isReversed);\n const recalculateReceive = currentLimitInput === \"limit\";\n setPriceRates(updatedRates, recalculateReceive);\n };\n\n const drivingToken = isReversed ? tokenFrom : tokenTo;\n\n return {\n type: \"limit\",\n drivingToken,\n amount: limitPriceAmount,\n isLoading,\n isLocked,\n isReversed,\n priceDiff,\n onAmountChange,\n onReset: () => resetPrice(rates),\n onToggleLock: () => togglePriceLock(),\n onToggleReverse: () => togglePriceReverse(),\n onFocus: () => setCurrentLimitInput(\"limit\"),\n };\n};\n"],"mappings":";;;;;;;;;;;;AAmBA,IAAaiB,UAA0B;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACrCC,IAAed,EAAU,kBAAkB,EAC3C,EAAAe,cAAAC,eAA+BjB,EAAgB,QAAQ,EAEvDkB,IAAiBtB,EAAaO,EAAuB,EACrDgB,IAAmBvB,EAAaQ,EAAyB,EACzDgB,IAAyBxB,EAAaa,EAAqB,EAE3DY,IAAsBxB,EAAWQ,EAAuB,EACxDiB,IAAwBzB,EAAWS,EAAyB,EAC5DiB,IAA2B1B,EAAWU,EAA4B,EAClEiB,IAAmB3B,EAAWW,EAAoB,EAClD,CAAAiB,GAAAC,KAAkD5B,EAChDI,EACD,EAED,EAAAyB,UAAAC,cAAAC,iBAAwCnB,GAAyB,EAACoB;CAAA,AAAAjB,EAAA,OAAAY,KAAAZ,EAAA,OAAAM,KAAAN,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,KAU5BS,KAAAC,MAAA;EAKpCV,AAJAN,EAAMiB,IAAK,kBAAkBD,EAAO,EAIpCV,EAFqBV,EAAgBoB,EAAMG,OAAQf,EAErCc,EADaR,MAAsB,QACF;IAChDZ,EAAA,KAAAY,GAAAZ,EAAA,KAAAM,GAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,GAAAR,EAAA,KAAAiB,KAAAA,IAAAjB,EAAA;CAND,IAAAuB,IAAsCN,GAQtCO,IAAqBlB,IAAAH,IAAAC,GAAiCqB;CAAA,AAAAzB,EAAA,OAAAc,KAAAd,EAAA,OAAAW,KAW3Cc,UAAMd,EAAWG,EAAM,EAAAd,EAAA,KAAAc,GAAAd,EAAA,KAAAW,GAAAX,EAAA,KAAAyB,KAAAA,IAAAzB,EAAA;CAAA,IAAA0B;CAAA,AAAA1B,EAAA,OAAAS,IACKiB,IAAA1B,EAAA,MAAvB0B,UAAMjB,GAAiB,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAA0B;CAAA,IAAAC;CAAA,AAAA3B,EAAA,QAAAU,IACMiB,IAAA3B,EAAA,OAA1B2B,UAAMjB,GAAoB,EAAAV,EAAA,MAAAU,GAAAV,EAAA,MAAA2B;CAAA,IAAAC;CAAA,AAAA5B,EAAA,QAAAa,IACCe,IAAA5B,EAAA,OAAnC4B,UAAMf,EAAqB,QAAQ,EAAAb,EAAA,MAAAa,GAAAb,EAAA,MAAA4B;CAAA,IAAAC;CAC7C,OAD6C7B,EAAA,QAAAwB,KAAAxB,EAAA,QAAAe,KAAAf,EAAA,QAAAK,KAAAL,EAAA,QAAAM,KAAAN,EAAA,QAAAO,KAAAP,EAAA,QAAAuB,KAAAvB,EAAA,QAAAgB,KAAAhB,EAAA,QAAAyB,KAAAzB,EAAA,QAAA0B,KAAA1B,EAAA,QAAA2B,KAAA3B,EAAA,QAAA4B,KAZvCC,IAAA;EAAAC,MACC;EAAON;EAAAO,QAELxB;EAAgBQ;EAAAV;EAAAC;EAAAU;EAAAO;EAAAS,SAMfP;EAAuBQ,cAClBP;EAAuBQ,iBACpBP;EAA0BQ,SAClCP;EACV,EAAA5B,EAAA,MAAAwB,GAAAxB,EAAA,MAAAe,GAAAf,EAAA,MAAAK,GAAAL,EAAA,MAAAM,GAAAN,EAAA,MAAAO,GAAAP,EAAA,MAAAuB,GAAAvB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAyB,GAAAzB,EAAA,MAAA0B,GAAA1B,EAAA,MAAA2B,GAAA3B,EAAA,MAAA4B,GAAA5B,EAAA,MAAA6B,KAAAA,IAAA7B,EAAA,KAbM6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitRate.js","names":["useMarketPriceQuery","useExtraMarketPriceParams","usePricesParams","FetchPriceParams","useTokenPrice","Big","parseUnits","formatUnits","useWidgetTokens","UseLimitRateResult","useAtomValue","tradeModeToTokenAtoms","useMemo","useDeltaPriceQuery","PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","tokenFromAtom","priceParams","chainId","extraPriceParams","t3","decimals","toString","t4","amount","side","const","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","query","result","marketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","deltaPriceQuery","error","useLimitRate","tokenTo","tokenFromPrice","isTokenFromPriceLoading","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","rate","rateReversed","srcUnits","BigInt","srcAmount","destUnits","receivedDestAmount","div","toFixed","rates","destAmount"],"sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n useExtraMarketPriceParams,\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n const extraPriceParams = useExtraMarketPriceParams();\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n ...extraPriceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({\n enabled: fetchSwapPrice,\n tradeMode,\n });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainLOrder,\n tradeMode,\n });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\n ]);\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitRate.js","names":["useMarketPriceQuery","useExtraMarketPriceParams","usePricesParams","FetchPriceParams","useTokenPrice","Big","parseUnits","formatUnits","useWidgetTokens","UseLimitRateResult","useAtomValue","tradeModeToTokenAtoms","useMemo","useDeltaPriceQuery","PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","tokenFromAtom","priceParams","chainId","extraPriceParams","t3","decimals","toString","t4","amount","side","const","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","query","result","marketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","deltaPriceQuery","error","useLimitRate","tokenTo","tokenFromPrice","isTokenFromPriceLoading","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","rate","rateReversed","srcUnits","BigInt","srcAmount","destUnits","receivedDestAmount","div","toFixed","rates","destAmount"],"sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n useExtraMarketPriceParams,\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n const extraPriceParams = useExtraMarketPriceParams();\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n ...extraPriceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({\n enabled: fetchSwapPrice,\n tradeMode,\n });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainLOrder,\n tradeMode,\n });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\n ]);\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenFromInputProps.js","names":["TokenInputProps","useAtomValue","useSetAtom","setLimitPayAmountAtom","MarkRequired","TokenInputAmountProps","TokenInputExtraProps","useLogger","limitPayInputAmountAtom","limitPayInputAmountWeiAtom","useChainId","currentLimitInputAtom","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useGenericTokenAllowance","useIsInsufficientBalanceToFillLimitOrder","Token","DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT","useUnsupportedLimitChain","selectLimitTokenFromAtom","useLimitTokenFrom","formatTokenAmount","getInsufficientBalanceToFillOrderMessage","useDeltaOrderRequiredAllowance","useEnabledSrcChainsWithDelta","switchChain","useMaxButtonPropsBase","useLimitTokenFromAmountProps","$","_c","logger","tokenFrom","amountValue","setAmountValue","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","UseTokenConditionalPropsInput","amountWei","useTokenConditionalProps","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","t3","t4","t5","t6","requiredBalanceToFillFormatted","undefined","t7","needsApproval","lockIcon","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","unsupportedChain","setCurrentLimitInput","setPayInputAmount","balanceUnit","onClick","gasLimit","props","showMaxButton","Symbol","for","refetchInterval","queryOptions","useExtraProps","appChainId","enabledChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","const","onFocus","label","disabledClasses","useLimitInputClasses","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","tokenConditionalProps","maxButtonProps","setTokenFrom","onTokenSelect","chainId"],"sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const unsupportedChain = useUnsupportedLimitChain();\n\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const gasLimit = DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n const props = useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n return unsupportedChain ? { showMaxButton: false } : props;\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenFromInputProps.js","names":["TokenInputProps","useAtomValue","useSetAtom","setLimitPayAmountAtom","MarkRequired","TokenInputAmountProps","TokenInputExtraProps","useLogger","limitPayInputAmountAtom","limitPayInputAmountWeiAtom","useChainId","currentLimitInputAtom","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useGenericTokenAllowance","useIsInsufficientBalanceToFillLimitOrder","Token","DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT","useUnsupportedLimitChain","selectLimitTokenFromAtom","useLimitTokenFrom","formatTokenAmount","getInsufficientBalanceToFillOrderMessage","useDeltaOrderRequiredAllowance","useEnabledSrcChainsWithDelta","switchChain","useMaxButtonPropsBase","useLimitTokenFromAmountProps","$","_c","logger","tokenFrom","amountValue","setAmountValue","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","UseTokenConditionalPropsInput","amountWei","useTokenConditionalProps","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","t3","t4","t5","t6","requiredBalanceToFillFormatted","undefined","t7","needsApproval","lockIcon","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","unsupportedChain","setCurrentLimitInput","setPayInputAmount","balanceUnit","onClick","gasLimit","props","showMaxButton","Symbol","for","refetchInterval","queryOptions","useExtraProps","appChainId","enabledChainsWithDelta","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","const","onFocus","label","disabledClasses","useLimitInputClasses","useLimitTokenFromInputProps","amountProps","extraProps","payInputAmountWei","tokenConditionalProps","maxButtonProps","setTokenFrom","onTokenSelect","chainId"],"sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setLimitPayAmountAtom } from \"./state/limitInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"./state/limitInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillLimitOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT } from \"@/lib/constants\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { selectLimitTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom } from \"./state/limitTokenAtoms\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithDelta } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useLimitTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Limit::TokenFrom::AmountProps\");\n const tokenFrom = useLimitTokenFrom();\n\n const amountValue = useAtomValue(limitPayInputAmountAtom);\n const setAmountValue = useSetAtom(setLimitPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"ParaswapDelta\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillLimitOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const unsupportedChain = useUnsupportedLimitChain();\n\n const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);\n const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);\n\n const gasLimit = DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n const props = useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n return unsupportedChain ? { showMaxButton: false } : props;\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useLimitTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithDelta = useEnabledSrcChainsWithDelta();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithDelta,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithDelta.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useLimitInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedLimitChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useLimitTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useLimitTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n\n const classes = useLimitInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenSwitcherProps.js","names":["TokenSwitcherProps","cn","useSetAtom","switchLimitTokensAtom","useLimitTokenTo","useUnsupportedLimitChain","useEnabledSrcChains","useLimitTokenSwitcherProps","$","_c","tokenTo","enabledSrcChains","switchTokens","unsupportedLimitChain","t0","includes","network","t1","t2","root","t3","enableSwitchTokens","onSwitchTokens","classes"],"sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"@/core/store\";\nimport { switchLimitTokensAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { useEnabledSrcChains } from \"../state/enabledChainsAtom\";\n\nexport const useLimitTokenSwitcherProps = (): TokenSwitcherProps => {\n const tokenTo = useLimitTokenTo();\n const enabledSrcChains = useEnabledSrcChains();\n const switchTokens = useSetAtom(switchLimitTokensAtom);\n const unsupportedLimitChain = useUnsupportedLimitChain();\n\n return {\n // check if tokenTo.network is even allowed in tokenFrom position\n enableSwitchTokens: !!tokenTo && enabledSrcChains.includes(tokenTo.network),\n onSwitchTokens: switchTokens,\n classes: {\n root: cn({ \"pointer-events-none\": unsupportedLimitChain }),\n },\n };\n};\n"],"mappings":";;;;;;;;AAQA,IAAaO,UAA6B;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACxCC,IAAgBN,GAAiB,EACjCO,IAAyBL,GAAqB,EAC9CM,IAAqBV,EAAWC,EAAsB,EACtDU,IAA8BR,GAA0B,EAACS;AAAA,CAAAN,EAAA,OAAAG,KAAAH,EAAA,OAAAE,KAInCI,IAAA,CAAC,CAACJ,KAAWC,EAAgBI,SAAUL,EAAOM,QAAS,EAAAR,EAAA,KAAAG,GAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CAAA,IAAAS;AAAA,CAAAT,EAAA,OAAAK,IAGfI,IAAAT,EAAA,MAApDS,IAAAhB,EAAG,EAAA,uBAAyBY,GAAuB,CAAC,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAS;CAAA,IAAAC;AAAA,CAAAV,EAAA,OAAAS,IAC3DC,IAAAV,EAAA,MAFQU,IAAA,EAAAC,MACDF,GACP,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAU;CAAA,IAAAE;AACF,QADEZ,EAAA,OAAAI,KAAAJ,EAAA,OAAAM,KAAAN,EAAA,OAAAU,KANIE,IAAA;EAAAC,oBAEeP;EAAuDQ,gBAC3DV;EAAYW,SACnBL;EAGV,EAAAV,EAAA,KAAAI,GAAAJ,EAAA,KAAAM,GAAAN,EAAA,KAAAU,GAAAV,EAAA,MAAAY,KAAAA,IAAAZ,EAAA,KAPMY"}
1
+ {"version":3,"file":"useLimitTokenSwitcherProps.js","names":["TokenSwitcherProps","cn","useSetAtom","switchLimitTokensAtom","useLimitTokenTo","useUnsupportedLimitChain","useEnabledSrcChains","useLimitTokenSwitcherProps","$","_c","tokenTo","enabledSrcChains","switchTokens","unsupportedLimitChain","t0","includes","network","t1","t2","root","t3","enableSwitchTokens","onSwitchTokens","classes"],"sources":["../../../src/core/limit/useLimitTokenSwitcherProps.ts"],"sourcesContent":["import type { TokenSwitcherProps } from \"@/components/widget/TokenSwitcher/types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSetAtom } from \"@/core/store\";\nimport { switchLimitTokensAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useUnsupportedLimitChain } from \"./useLimitNotSupported\";\nimport { useEnabledSrcChains } from \"../state/enabledChainsAtom\";\n\nexport const useLimitTokenSwitcherProps = (): TokenSwitcherProps => {\n const tokenTo = useLimitTokenTo();\n const enabledSrcChains = useEnabledSrcChains();\n const switchTokens = useSetAtom(switchLimitTokensAtom);\n const unsupportedLimitChain = useUnsupportedLimitChain();\n\n return {\n // check if tokenTo.network is even allowed in tokenFrom position\n enableSwitchTokens: !!tokenTo && enabledSrcChains.includes(tokenTo.network),\n onSwitchTokens: switchTokens,\n classes: {\n root: cn({ \"pointer-events-none\": unsupportedLimitChain }),\n },\n };\n};\n"],"mappings":";;;;;;;;AAQA,IAAaO,UAA6B;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACxCC,IAAgBN,GAAiB,EACjCO,IAAyBL,GAAqB,EAC9CM,IAAqBV,EAAWC,EAAsB,EACtDU,IAA8BR,GAA0B,EAACS;CAAA,AAAAN,EAAA,OAAAG,KAAAH,EAAA,OAAAE,KAInCI,IAAA,CAAC,CAACJ,KAAWC,EAAgBI,SAAUL,EAAOM,QAAS,EAAAR,EAAA,KAAAG,GAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CAAA,IAAAS;CAAA,AAAAT,EAAA,OAAAK,IAGfI,IAAAT,EAAA,MAApDS,IAAAhB,EAAG,EAAA,uBAAyBY,GAAuB,CAAC,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAS;CAAA,IAAAC;CAAA,AAAAV,EAAA,OAAAS,IAC3DC,IAAAV,EAAA,MAFQU,IAAA,EAAAC,MACDF,GACP,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAU;CAAA,IAAAE;CACF,OADEZ,EAAA,OAAAI,KAAAJ,EAAA,OAAAM,KAAAN,EAAA,OAAAU,KANIE,IAAA;EAAAC,oBAEeP;EAAuDQ,gBAC3DV;EAAYW,SACnBL;EAGV,EAAAV,EAAA,KAAAI,GAAAJ,EAAA,KAAAM,GAAAN,EAAA,KAAAU,GAAAV,EAAA,MAAAY,KAAAA,IAAAZ,EAAA,KAPMY"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenToInputProps.js","names":["TokenInputProps","useAtom","useAtomValue","useSetAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtom","useLogger","OnValueChange","useDeltaSwapPriceForLimit","useLimitRate","currentLimitInputAtom","TokenInputExtraProps","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useLimitInputClasses","selectLimitTokenToAtom","useLimitTokenFrom","useLimitTokenTo","useIsTokenSupportedInDeltaQuery","Token","isFilledArray","useChainId","useSelectableDestChains","SupportedChainId","limitChainToAtom","BridgeInfoMode","isUnsupportedTokenError","parseDeltaApiError","replaceUnsupportedTokenMessage","isTruthy","useTokenToBalanceUnit","$","_c","tokenTo","t0","Symbol","for","refetchInterval","t1","token","queryOptions","balanceUnit","t2","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","t3","t4","t5","tokenType","const","onFocus","label","useTokenToAmountProps","logger","receiveAmount","setReceiveAmount","isLoading","values","log","value","onAmountChange","setTokenTo","amount","onTokenSelect","UnsupportedLimitTokensResult","unsupportedTokens","useUnsupportedLimitTokens","tokenFrom","address","network","data","isDestTokenSupported","isDestTokenSupportedLoading","isSrcTokenSupported","isSrcTokenSupportedLoading","push","t6","useWarningMessage","isCrosschainLimitOrder","tradeMode","enabled","error","limitPriceError","priceError","deltaPriceError","description","filter","deltaErrorToShow","customUnsupportedTokenMessage","unsupportedTokensWarning","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","tokens","Pick","symbol","tokenSymbols","map","join"],"sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useDeltaSwapPriceForLimit, useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitChainToAtom } from \"../state/chainToAtom\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport {\n isUnsupportedTokenError,\n parseDeltaApiError,\n replaceUnsupportedTokenMessage,\n} from \"@/lib/utils/delta\";\nimport { isTruthy } from \"@/lib/utils\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = ({\n acrossMode,\n}: {\n acrossMode: BridgeInfoMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const [chainTo, setChainTo] = useAtom(limitChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const isCrosschainLimitOrder =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false, // get result only\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n const deltaPriceError = priceError && parseDeltaApiError(priceError);\n const deltaErrorToShow = deltaPriceError\n ? isUnsupportedTokenError(deltaPriceError)\n ? replaceUnsupportedTokenMessage(\n deltaPriceError.description,\n [tokenFrom, tokenTo].filter(isTruthy)\n )\n : deltaPriceError?.description\n : null;\n\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n const unsupportedTokensWarning = unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined;\n\n const warningMessage =\n unsupportedTokensWarning || deltaErrorToShow || undefined;\n return {\n warningMessage,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps({ acrossMode: \"limit\" });\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitTokenToInputProps.js","names":["TokenInputProps","useAtom","useAtomValue","useSetAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtom","useLogger","OnValueChange","useDeltaSwapPriceForLimit","useLimitRate","currentLimitInputAtom","TokenInputExtraProps","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useLimitInputClasses","selectLimitTokenToAtom","useLimitTokenFrom","useLimitTokenTo","useIsTokenSupportedInDeltaQuery","Token","isFilledArray","useChainId","useSelectableDestChains","SupportedChainId","limitChainToAtom","BridgeInfoMode","isUnsupportedTokenError","parseDeltaApiError","replaceUnsupportedTokenMessage","isTruthy","useTokenToBalanceUnit","$","_c","tokenTo","t0","Symbol","for","refetchInterval","t1","token","queryOptions","balanceUnit","t2","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","t3","t4","t5","tokenType","const","onFocus","label","useTokenToAmountProps","logger","receiveAmount","setReceiveAmount","isLoading","values","log","value","onAmountChange","setTokenTo","amount","onTokenSelect","UnsupportedLimitTokensResult","unsupportedTokens","useUnsupportedLimitTokens","tokenFrom","address","network","data","isDestTokenSupported","isDestTokenSupportedLoading","isSrcTokenSupported","isSrcTokenSupportedLoading","push","t6","useWarningMessage","isCrosschainLimitOrder","tradeMode","enabled","error","limitPriceError","priceError","deltaPriceError","description","filter","deltaErrorToShow","customUnsupportedTokenMessage","unsupportedTokensWarning","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","tokens","Pick","symbol","tokenSymbols","map","join"],"sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useDeltaSwapPriceForLimit, useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitChainToAtom } from \"../state/chainToAtom\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport {\n isUnsupportedTokenError,\n parseDeltaApiError,\n replaceUnsupportedTokenMessage,\n} from \"@/lib/utils/delta\";\nimport { isTruthy } from \"@/lib/utils\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = ({\n acrossMode,\n}: {\n acrossMode: BridgeInfoMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const [chainTo, setChainTo] = useAtom(limitChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const isCrosschainLimitOrder =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false, // get result only\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n const deltaPriceError = priceError && parseDeltaApiError(priceError);\n const deltaErrorToShow = deltaPriceError\n ? isUnsupportedTokenError(deltaPriceError)\n ? replaceUnsupportedTokenMessage(\n deltaPriceError.description,\n [tokenFrom, tokenTo].filter(isTruthy)\n )\n : deltaPriceError?.description\n : null;\n\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n const unsupportedTokensWarning = unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined;\n\n const warningMessage =\n unsupportedTokensWarning || deltaErrorToShow || undefined;\n return {\n warningMessage,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps({ acrossMode: \"limit\" });\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["logger","useWidgetConfig","widgetConfigAtom","jotaiStore","useMemo","isDebugOn","get","debug","sub","getLogger","context","options","Omit","LoggerOptions","LoggerInstance","isOn","_createLogger","useLogger","CreateLoggerFn","$","_c","isUsingLogger","color","showCallSite","t0","t1","t2","opts","_createNoopLogger"],"sources":["../../src/core/logger.ts"],"sourcesContent":["import * as logger from \"@/lib/utils/logger\";\nimport { useWidgetConfig, widgetConfigAtom } from \"./state/configAtom\";\nimport { jotaiStore } from \"./store\";\nimport { useMemo } from \"react\";\n\nlet isDebugOn = jotaiStore.get(widgetConfigAtom).debug;\njotaiStore.sub(widgetConfigAtom, () => {\n const debug = jotaiStore.get(widgetConfigAtom).debug;\n if (debug !== isDebugOn) isDebugOn = debug;\n});\n\n/**\n * Creates a logger instance with consideration for debug passed in widget config.\n * To be used outside of React.\n */\nexport const getLogger = (\n context?: string,\n options?: Omit<logger.LoggerOptions, \"isOn\">\n): logger.LoggerInstance => {\n const isOn = () => isDebugOn;\n return logger._createLogger(context, { ...options, isOn });\n};\n\n// creating a hooks like this: `useLogger(...args)` will cause it's result to be created anew on every render,\n// because react-compiler fails to memoize spreded args, probably because spread creates a new array on every render\nexport const useLogger: logger.CreateLoggerFn = (\n context?: string,\n options?: logger.LoggerOptions\n): logger.LoggerInstance => {\n const debug = useWidgetConfig().debug;\n\n const isUsingLogger = debug;\n return useMemo(() => {\n const opts = {\n color: options?.color,\n showCallSite: options?.showCallSite,\n };\n return isUsingLogger\n ? logger._createLogger(context, opts)\n : logger._createNoopLogger(context, opts);\n }, [context, options?.color, options?.showCallSite, isUsingLogger]);\n};\n"],"mappings":";;;;;;AAKA,IAAIK,IAAYF,EAAWG,IAAIJ,EAAiB,CAACK;AACjDJ,EAAWK,IAAIN,SAAwB;CACrC,IAAMK,IAAQJ,EAAWG,IAAIJ,EAAiB,CAACK;AAC/C,CAAIA,MAAUF,MAAWA,IAAYE;EACrC;AAMF,IAAaE,KACXC,GACAC,MAC0B;CAC1B,IAAMI,UAAaV;AACnB,QAAOL,EAAqBU,GAAS;EAAE,GAAGC;EAASI;EAAM,CAAC;GAK/CE,KAAmCP,GAAAC,MAAA;CAAA,IAAAQ,IAAAC,EAAA,EAAA,EAM9CC,IAFcpB,GAAiB,CAAAM;AAWFI,CAAhBA,GAAOW,OAASX,GAAOY;CANzB,IAAAC,IAAAb,GAAOW,OACAG,IAAAd,GAAOY,cAAcG;AAAA,KAAAP,EAAA,OAAAT,KAAAS,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAM,GAAA;EAFrC,IAAAE,IAAa;GAAAL,OACJE;GAAcD,cACPE;GACf;AAG0CN,EAFpCO,IAAAL,IACHrB,EAAqBU,GAASiB,EACS,GAAvC3B,EAAyBU,GAASiB,EAAK,EAAAR,EAAA,KAAAT,GAAAS,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;OAAAA,KAAAP,EAAA;AAAA,QAF3CO"}
1
+ {"version":3,"file":"logger.js","names":["logger","useWidgetConfig","widgetConfigAtom","jotaiStore","useMemo","isDebugOn","get","debug","sub","getLogger","context","options","Omit","LoggerOptions","LoggerInstance","isOn","_createLogger","useLogger","CreateLoggerFn","$","_c","isUsingLogger","color","showCallSite","t0","t1","t2","opts","_createNoopLogger"],"sources":["../../src/core/logger.ts"],"sourcesContent":["import * as logger from \"@/lib/utils/logger\";\nimport { useWidgetConfig, widgetConfigAtom } from \"./state/configAtom\";\nimport { jotaiStore } from \"./store\";\nimport { useMemo } from \"react\";\n\nlet isDebugOn = jotaiStore.get(widgetConfigAtom).debug;\njotaiStore.sub(widgetConfigAtom, () => {\n const debug = jotaiStore.get(widgetConfigAtom).debug;\n if (debug !== isDebugOn) isDebugOn = debug;\n});\n\n/**\n * Creates a logger instance with consideration for debug passed in widget config.\n * To be used outside of React.\n */\nexport const getLogger = (\n context?: string,\n options?: Omit<logger.LoggerOptions, \"isOn\">\n): logger.LoggerInstance => {\n const isOn = () => isDebugOn;\n return logger._createLogger(context, { ...options, isOn });\n};\n\n// creating a hooks like this: `useLogger(...args)` will cause it's result to be created anew on every render,\n// because react-compiler fails to memoize spreded args, probably because spread creates a new array on every render\nexport const useLogger: logger.CreateLoggerFn = (\n context?: string,\n options?: logger.LoggerOptions\n): logger.LoggerInstance => {\n const debug = useWidgetConfig().debug;\n\n const isUsingLogger = debug;\n return useMemo(() => {\n const opts = {\n color: options?.color,\n showCallSite: options?.showCallSite,\n };\n return isUsingLogger\n ? logger._createLogger(context, opts)\n : logger._createNoopLogger(context, opts);\n }, [context, options?.color, options?.showCallSite, isUsingLogger]);\n};\n"],"mappings":";;;;;;AAKA,IAAIK,IAAYF,EAAWG,IAAIJ,EAAiB,CAACK;AACjDJ,EAAWK,IAAIN,SAAwB;CACrC,IAAMK,IAAQJ,EAAWG,IAAIJ,EAAiB,CAACK;CAC/C,AAAIA,MAAUF,MAAWA,IAAYE;EACrC;AAMF,IAAaE,KACXC,GACAC,MAC0B;CAC1B,IAAMI,UAAaV;CACnB,OAAOL,EAAqBU,GAAS;EAAE,GAAGC;EAASI;EAAM,CAAC;GAK/CE,KAAmCP,GAAAC,MAAA;CAAA,IAAAQ,IAAAC,EAAA,EAAA,EAM9CC,IAFcpB,GAAiB,CAAAM;CAWFI,AAAhBA,GAAOW,OAASX,GAAOY;CANzB,IAAAC,IAAAb,GAAOW,OACAG,IAAAd,GAAOY,cAAcG;CAAA,IAAAP,EAAA,OAAAT,KAAAS,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAM,GAAA;EAFrC,IAAAE,IAAa;GAAAL,OACJE;GAAcD,cACPE;GACf;EAG0CN,AAFpCO,IAAAL,IACHrB,EAAqBU,GAASiB,EACS,GAAvC3B,EAAyBU,GAASiB,EAAK,EAAAR,EAAA,KAAAT,GAAAS,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;QAAAA,IAAAP,EAAA;CAAA,OAF3CO"}
@@ -1 +1 @@
1
- {"version":3,"file":"deadlineAtom.js","names":["defaultTimeUnit","minTimeUnit","TimeUnitState","getTimeUnitState","useAtomValue","atom","MarkOptional","timeUnitAtom","_","set","newState","stateToSet","minTimeUnitState","isTimestampInvalid","timestamp","isUnitInvalid","label","value","deadlineAtom","get","useOtcDeadline"],"sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"sourcesContent":["import { defaultTimeUnit, minTimeUnit } from \"@/core/limit/state/constants\";\nimport type { TimeUnitState } from \"@/core/limit/state/deadlineAtom\";\nimport { getTimeUnitState } from \"@/core/limit/state/utils\";\nimport { useAtomValue } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport type { MarkOptional } from \"ts-essentials\";\n\nexport const timeUnitAtom = atom<\n TimeUnitState,\n [MarkOptional<TimeUnitState, \"timestamp\">],\n void\n>(getTimeUnitState(defaultTimeUnit), (_, set, newState) => {\n let stateToSet = getTimeUnitState(newState);\n\n const minTimeUnitState = getTimeUnitState(minTimeUnit);\n\n const isTimestampInvalid =\n // OTC can have 0 deadline\n stateToSet.timestamp > 0 &&\n stateToSet.timestamp < minTimeUnitState.timestamp;\n const isUnitInvalid =\n stateToSet.label === minTimeUnit.label &&\n stateToSet.value < minTimeUnitState.value;\n\n if (isTimestampInvalid || isUnitInvalid) {\n stateToSet = minTimeUnitState;\n }\n\n set(timeUnitAtom, stateToSet);\n});\n\nexport const deadlineAtom = atom((get) => get(timeUnitAtom).timestamp);\n\nexport const useOtcDeadline = () => {\n return useAtomValue(deadlineAtom);\n};\n"],"mappings":";;;;;AAOA,IAAaO,IAAeF,EAI1BF,EAAiBH,EAAgB,GAAGQ,GAAGC,GAAKC,MAAa;CACzD,IAAIC,IAAaR,EAAiBO,EAAS,EAErCE,IAAmBT,EAAiBF,EAAY,EAEhDY,IAEJF,EAAWG,YAAY,KACvBH,EAAWG,YAAYF,EAAiBE,WACpCC,IACJJ,EAAWK,UAAUf,EAAYe,SACjCL,EAAWM,QAAQL,EAAiBK;AAMtCR,EAJII,KAAsBE,OACxBJ,IAAaC,IAGfH,EAAIF,GAAcI,EAAW;EAC7B,EAEWO,IAAeb,GAAMc,MAAQA,EAAIZ,EAAa,CAACO,UAAU,EAEzDM,UACJhB,EAAac,EAAa"}
1
+ {"version":3,"file":"deadlineAtom.js","names":["defaultTimeUnit","minTimeUnit","TimeUnitState","getTimeUnitState","useAtomValue","atom","MarkOptional","timeUnitAtom","_","set","newState","stateToSet","minTimeUnitState","isTimestampInvalid","timestamp","isUnitInvalid","label","value","deadlineAtom","get","useOtcDeadline"],"sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"sourcesContent":["import { defaultTimeUnit, minTimeUnit } from \"@/core/limit/state/constants\";\nimport type { TimeUnitState } from \"@/core/limit/state/deadlineAtom\";\nimport { getTimeUnitState } from \"@/core/limit/state/utils\";\nimport { useAtomValue } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport type { MarkOptional } from \"ts-essentials\";\n\nexport const timeUnitAtom = atom<\n TimeUnitState,\n [MarkOptional<TimeUnitState, \"timestamp\">],\n void\n>(getTimeUnitState(defaultTimeUnit), (_, set, newState) => {\n let stateToSet = getTimeUnitState(newState);\n\n const minTimeUnitState = getTimeUnitState(minTimeUnit);\n\n const isTimestampInvalid =\n // OTC can have 0 deadline\n stateToSet.timestamp > 0 &&\n stateToSet.timestamp < minTimeUnitState.timestamp;\n const isUnitInvalid =\n stateToSet.label === minTimeUnit.label &&\n stateToSet.value < minTimeUnitState.value;\n\n if (isTimestampInvalid || isUnitInvalid) {\n stateToSet = minTimeUnitState;\n }\n\n set(timeUnitAtom, stateToSet);\n});\n\nexport const deadlineAtom = atom((get) => get(timeUnitAtom).timestamp);\n\nexport const useOtcDeadline = () => {\n return useAtomValue(deadlineAtom);\n};\n"],"mappings":";;;;;AAOA,IAAaO,IAAeF,EAI1BF,EAAiBH,EAAgB,GAAGQ,GAAGC,GAAKC,MAAa;CACzD,IAAIC,IAAaR,EAAiBO,EAAS,EAErCE,IAAmBT,EAAiBF,EAAY,EAEhDY,IAEJF,EAAWG,YAAY,KACvBH,EAAWG,YAAYF,EAAiBE,WACpCC,IACJJ,EAAWK,UAAUf,EAAYe,SACjCL,EAAWM,QAAQL,EAAiBK;CAMtCR,CAJII,KAAsBE,OACxBJ,IAAaC,IAGfH,EAAIF,GAAcI,EAAW;EAC7B,EAEWO,IAAeb,GAAMc,MAAQA,EAAIZ,EAAa,CAACO,UAAU,EAEzDM,UACJhB,EAAac,EAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"otcInputActionsAtom.js","names":["atom","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPriceAmountAtom","otcPriceRatesAtom","isOtcPriceLockedAtom","Big","currentOtcInputAtom","isOtcPriceReversedAtom","calculateReceiveAmount","calculatePayAmount","calculateRates","PriceRates","zeroRates","setOtcPriceRatesAtom","get","set","priceRates","recalculateReceive","isLocked","payAmount","payGtZero","gt","isReversed","newReceiveAmount","setOtcReceiveAmountAtom","setOtcPayAmountAtom","otcPriceAmount","otcPriceGtZero","setOtcPayAmountAtomFromProps","_","amount","receiveAmount","newPayAmount","updatedRates","setOtcReceiveAmountAtomFromProps","resetOtcPriceAtom","unlockOtcPriceAtom","toggleOtcPriceLockAtom","toggleOtcPriceReverseAtom"],"sources":["../../../../src/core/otc/state/otcInputActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n otcPayInputAmountAtom,\n otcReceiveInputAmountAtom,\n otcPriceAmountAtom,\n otcPriceRatesAtom,\n} from \"./otcInputAmountAtom\";\nimport { isOtcPriceLockedAtom } from \"./isOtcPriceLockedAtom\";\nimport Big from \"big.js\";\nimport { currentOtcInputAtom } from \"./currentOtcInputAtom\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\nimport {\n calculateReceiveAmount,\n calculatePayAmount,\n calculateRates,\n} from \"@/core/limit/state/utils\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\n\nexport const setOtcPriceRatesAtom = atom(\n null,\n (get, set, priceRates: PriceRates, recalculateReceive = true) => {\n const isLocked = get(isOtcPriceLockedAtom);\n // ignore updates if price is locked\n if (isLocked) return;\n\n set(otcPriceRatesAtom, priceRates);\n\n const payAmount = get(otcPayInputAmountAtom);\n const payGtZero = Big(payAmount || \"0\").gt(0);\n\n // ignore updates if pay amount is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (recalculateReceive && payGtZero) {\n const isReversed = get(isOtcPriceReversedAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n }\n);\n\nexport const setOtcPayAmountAtom = atom(null, (get, set, payAmount: string) => {\n set(otcPayInputAmountAtom, payAmount);\n\n // ignore updates that did not come from pay input\n if (get(currentOtcInputAtom) !== \"from\") return;\n\n const priceRates = get(otcPriceRatesAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n const otcPriceAmount = get(otcPriceAmountAtom);\n const otcPriceGtZero = Big(otcPriceAmount || \"0\").gt(0);\n // ignore updates if otc price is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (!otcPriceGtZero) return;\n\n // update receive amount\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n});\n\nexport const setOtcPayAmountAtomFromProps = atom(\n null,\n (_, set, amount: string) => {\n set(currentOtcInputAtom, \"from\"); // unblock pay -> receive sync if it was previously blocked\n set(setOtcPayAmountAtom, amount);\n }\n);\n\nexport const setOtcReceiveAmountAtom = atom(\n null,\n (get, set, receiveAmount: string) => {\n set(otcReceiveInputAmountAtom, receiveAmount);\n\n // ignore updates that did not come from receive input\n if (get(currentOtcInputAtom) !== \"to\") return;\n\n const isLocked = get(isOtcPriceLockedAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n if (isLocked) {\n // update pay amount if price is locked\n const priceRates = get(otcPriceRatesAtom);\n const newPayAmount = calculatePayAmount(\n receiveAmount,\n priceRates,\n isReversed\n );\n set(setOtcPayAmountAtom, newPayAmount);\n } else {\n // update otc price otherwise\n const payAmount = get(otcPayInputAmountAtom);\n const updatedRates = calculateRates(receiveAmount, payAmount);\n set(setOtcPriceRatesAtom, updatedRates, false);\n }\n }\n);\n\nexport const setOtcReceiveAmountAtomFromProps = atom(\n null,\n (_, set, amount: string) => {\n set(currentOtcInputAtom, \"to\"); // unblock receive -> pay sync if it was previously blocked\n set(setOtcReceiveAmountAtom, amount);\n }\n);\n\nexport const resetOtcPriceAtom = atom(\n null,\n (get, set, priceRates: PriceRates = zeroRates) => {\n const isLocked = get(isOtcPriceLockedAtom);\n if (isLocked) return;\n\n set(setOtcPriceRatesAtom, priceRates);\n\n const isReversed = get(isOtcPriceReversedAtom);\n const payAmount = get(otcPayInputAmountAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n);\n\nexport const unlockOtcPriceAtom = atom(null, (_, set) => {\n set(isOtcPriceLockedAtom, false);\n});\n\nexport const toggleOtcPriceLockAtom = atom(null, (get, set) => {\n const isLocked = get(isOtcPriceLockedAtom);\n set(isOtcPriceLockedAtom, !isLocked);\n});\n\nexport const toggleOtcPriceReverseAtom = atom(null, (get, set) => {\n const isReversed = get(isOtcPriceReversedAtom);\n set(isOtcPriceReversedAtom, !isReversed);\n});\n"],"mappings":";;;;;;;;;AAmBA,IAAac,IAAuBd,EAClC,OACCe,GAAKC,GAAKC,GAAwBC,IAAqB,OAAS;AAG/D,KAFiBH,EAAIV,EAAqB,CAE5B;AAEdW,GAAIZ,GAAmBa,EAAW;CAElC,IAAMG,IAAYL,EAAId,EAAsB,EACtCoB,IAAYf,EAAIc,KAAa,IAAI,CAACE,GAAG,EAAE;AAI7C,CAAIJ,KAAsBG,KAOxBL,EAAIS,GALqBhB,EACvBW,GACAH,GAHiBF,EAAIP,EAAuB,CAK7C,CAC6C;EAGnD,EAEYkB,IAAsB1B,EAAK,OAAOe,GAAKC,GAAKI,MAAsB;AAI7E,KAHAJ,EAAIf,GAAuBmB,EAAU,EAGjCL,EAAIR,EAAoB,KAAK,OAAQ;CAEzC,IAAMU,IAAaF,EAAIX,EAAkB,EACnCmB,IAAaR,EAAIP,EAAuB;AAGvBF,GADAS,EAAIZ,EAAmB,IACD,IAAI,CAACmB,GAAG,EAAE,IAWvDN,EAAIS,GALqBhB,EACvBW,GACAH,GACAM,EACD,CAC6C;EAC9C,EAEWM,IAA+B7B,EAC1C,OACC8B,GAAGd,GAAKe,MAAmB;AAE1Bf,CADAA,EAAIT,GAAqB,OAAO,EAChCS,EAAIU,GAAqBK,EAAO;EAEnC,EAEYN,IAA0BzB,EACrC,OACCe,GAAKC,GAAKgB,MAA0B;AAInC,KAHAhB,EAAId,GAA2B8B,EAAc,EAGzCjB,EAAIR,EAAoB,KAAK,KAAM;CAEvC,IAAMY,IAAWJ,EAAIV,EAAqB,EACpCkB,IAAaR,EAAIP,EAAuB;AAE9C,CAAIW,IAQFH,EAAIU,GALiBhB,EACnBsB,GAFiBjB,EAAIX,EAAkB,EAIvCmB,EACD,CACqC,GAKtCP,EAAIF,GADiBH,EAAeqB,GADlBjB,EAAId,EAAsB,CACiB,EACrB,GAAM;EAGnD,EAEYkC,IAAmCnC,EAC9C,OACC8B,GAAGd,GAAKe,MAAmB;AAE1Bf,CADAA,EAAIT,GAAqB,KAAK,EAC9BS,EAAIS,GAAyBM,EAAO;EAEvC,EAEYK,IAAoBpC,EAC/B,OACCe,GAAKC,GAAKC,IAAyBJ,MAAc;AAEhD,KADiBE,EAAIV,EAAqB,CAC5B;AAEdW,GAAIF,GAAsBG,EAAW;CAErC,IAAMM,IAAaR,EAAIP,EAAuB;AAO9CQ,GAAIS,GALqBhB,EADPM,EAAId,EAAsB,EAG1CgB,GACAM,EACD,CAC6C;EAEjD,EAEYc,IAAqBrC,EAAK,OAAO8B,GAAGd,MAAQ;AACvDA,GAAIX,GAAsB,GAAM;EAChC,EAEWiC,IAAyBtC,EAAK,OAAOe,GAAKC,MAAQ;AAE7DA,GAAIX,GAAsB,CADTU,EAAIV,EAAqB,CACN;EACpC,EAEWkC,IAA4BvC,EAAK,OAAOe,GAAKC,MAAQ;AAEhEA,GAAIR,GAAwB,CADTO,EAAIP,EAAuB,CACN;EACxC"}
1
+ {"version":3,"file":"otcInputActionsAtom.js","names":["atom","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPriceAmountAtom","otcPriceRatesAtom","isOtcPriceLockedAtom","Big","currentOtcInputAtom","isOtcPriceReversedAtom","calculateReceiveAmount","calculatePayAmount","calculateRates","PriceRates","zeroRates","setOtcPriceRatesAtom","get","set","priceRates","recalculateReceive","isLocked","payAmount","payGtZero","gt","isReversed","newReceiveAmount","setOtcReceiveAmountAtom","setOtcPayAmountAtom","otcPriceAmount","otcPriceGtZero","setOtcPayAmountAtomFromProps","_","amount","receiveAmount","newPayAmount","updatedRates","setOtcReceiveAmountAtomFromProps","resetOtcPriceAtom","unlockOtcPriceAtom","toggleOtcPriceLockAtom","toggleOtcPriceReverseAtom"],"sources":["../../../../src/core/otc/state/otcInputActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n otcPayInputAmountAtom,\n otcReceiveInputAmountAtom,\n otcPriceAmountAtom,\n otcPriceRatesAtom,\n} from \"./otcInputAmountAtom\";\nimport { isOtcPriceLockedAtom } from \"./isOtcPriceLockedAtom\";\nimport Big from \"big.js\";\nimport { currentOtcInputAtom } from \"./currentOtcInputAtom\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\nimport {\n calculateReceiveAmount,\n calculatePayAmount,\n calculateRates,\n} from \"@/core/limit/state/utils\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\n\nexport const setOtcPriceRatesAtom = atom(\n null,\n (get, set, priceRates: PriceRates, recalculateReceive = true) => {\n const isLocked = get(isOtcPriceLockedAtom);\n // ignore updates if price is locked\n if (isLocked) return;\n\n set(otcPriceRatesAtom, priceRates);\n\n const payAmount = get(otcPayInputAmountAtom);\n const payGtZero = Big(payAmount || \"0\").gt(0);\n\n // ignore updates if pay amount is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (recalculateReceive && payGtZero) {\n const isReversed = get(isOtcPriceReversedAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n }\n);\n\nexport const setOtcPayAmountAtom = atom(null, (get, set, payAmount: string) => {\n set(otcPayInputAmountAtom, payAmount);\n\n // ignore updates that did not come from pay input\n if (get(currentOtcInputAtom) !== \"from\") return;\n\n const priceRates = get(otcPriceRatesAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n const otcPriceAmount = get(otcPriceAmountAtom);\n const otcPriceGtZero = Big(otcPriceAmount || \"0\").gt(0);\n // ignore updates if otc price is zero,\n // as it would lead to setOtcReceiveAmountAtom(0) anyway\n if (!otcPriceGtZero) return;\n\n // update receive amount\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n});\n\nexport const setOtcPayAmountAtomFromProps = atom(\n null,\n (_, set, amount: string) => {\n set(currentOtcInputAtom, \"from\"); // unblock pay -> receive sync if it was previously blocked\n set(setOtcPayAmountAtom, amount);\n }\n);\n\nexport const setOtcReceiveAmountAtom = atom(\n null,\n (get, set, receiveAmount: string) => {\n set(otcReceiveInputAmountAtom, receiveAmount);\n\n // ignore updates that did not come from receive input\n if (get(currentOtcInputAtom) !== \"to\") return;\n\n const isLocked = get(isOtcPriceLockedAtom);\n const isReversed = get(isOtcPriceReversedAtom);\n\n if (isLocked) {\n // update pay amount if price is locked\n const priceRates = get(otcPriceRatesAtom);\n const newPayAmount = calculatePayAmount(\n receiveAmount,\n priceRates,\n isReversed\n );\n set(setOtcPayAmountAtom, newPayAmount);\n } else {\n // update otc price otherwise\n const payAmount = get(otcPayInputAmountAtom);\n const updatedRates = calculateRates(receiveAmount, payAmount);\n set(setOtcPriceRatesAtom, updatedRates, false);\n }\n }\n);\n\nexport const setOtcReceiveAmountAtomFromProps = atom(\n null,\n (_, set, amount: string) => {\n set(currentOtcInputAtom, \"to\"); // unblock receive -> pay sync if it was previously blocked\n set(setOtcReceiveAmountAtom, amount);\n }\n);\n\nexport const resetOtcPriceAtom = atom(\n null,\n (get, set, priceRates: PriceRates = zeroRates) => {\n const isLocked = get(isOtcPriceLockedAtom);\n if (isLocked) return;\n\n set(setOtcPriceRatesAtom, priceRates);\n\n const isReversed = get(isOtcPriceReversedAtom);\n const payAmount = get(otcPayInputAmountAtom);\n const newReceiveAmount = calculateReceiveAmount(\n payAmount,\n priceRates,\n isReversed\n );\n set(setOtcReceiveAmountAtom, newReceiveAmount);\n }\n);\n\nexport const unlockOtcPriceAtom = atom(null, (_, set) => {\n set(isOtcPriceLockedAtom, false);\n});\n\nexport const toggleOtcPriceLockAtom = atom(null, (get, set) => {\n const isLocked = get(isOtcPriceLockedAtom);\n set(isOtcPriceLockedAtom, !isLocked);\n});\n\nexport const toggleOtcPriceReverseAtom = atom(null, (get, set) => {\n const isReversed = get(isOtcPriceReversedAtom);\n set(isOtcPriceReversedAtom, !isReversed);\n});\n"],"mappings":";;;;;;;;;AAmBA,IAAac,IAAuBd,EAClC,OACCe,GAAKC,GAAKC,GAAwBC,IAAqB,OAAS;CAG/D,IAFiBH,EAAIV,EAEjBc,EAAU;CAEdH,EAAIZ,GAAmBa,EAAW;CAElC,IAAMG,IAAYL,EAAId,EAAsB,EACtCoB,IAAYf,EAAIc,KAAa,IAAI,CAACE,GAAG,EAAE;CAI7C,AAAIJ,KAAsBG,KAOxBL,EAAIS,GALqBhB,EACvBW,GACAH,GAHiBF,EAAIP,EAIrBe,CAE2BC,CAAiB;EAGnD,EAEYE,IAAsB1B,EAAK,OAAOe,GAAKC,GAAKI,MAAsB;CAI7E,IAHAJ,EAAIf,GAAuBmB,EAAU,EAGjCL,EAAIR,EAAoB,KAAK,QAAQ;CAEzC,IAAMU,IAAaF,EAAIX,EAAkB,EACnCmB,IAAaR,EAAIP,EAAuB;CAGvBF,EADAS,EAAIZ,EACAwB,IAAkB,IAAI,CAACL,GAAG,EAGhDM,IAQLZ,EAAIS,GALqBhB,EACvBW,GACAH,GACAM,EAE2BC,CAAiB;EAC9C,EAEWK,IAA+B7B,EAC1C,OACC8B,GAAGd,GAAKe,MAAmB;CAE1Bf,AADAA,EAAIT,GAAqB,OAAO,EAChCS,EAAIU,GAAqBK,EAAO;EAEnC,EAEYN,IAA0BzB,EACrC,OACCe,GAAKC,GAAKgB,MAA0B;CAInC,IAHAhB,EAAId,GAA2B8B,EAAc,EAGzCjB,EAAIR,EAAoB,KAAK,MAAM;CAEvC,IAAMY,IAAWJ,EAAIV,EAAqB,EACpCkB,IAAaR,EAAIP,EAAuB;CAE9C,AAAIW,IAQFH,EAAIU,GALiBhB,EACnBsB,GAFiBjB,EAAIX,EAGrBa,EACAM,EAEuBU,CAAa,GAKtCjB,EAAIF,GADiBH,EAAeqB,GADlBjB,EAAId,EAC6BmB,CACzBc,EAAc,GAAM;EAGnD,EAEYC,IAAmCnC,EAC9C,OACC8B,GAAGd,GAAKe,MAAmB;CAE1Bf,AADAA,EAAIT,GAAqB,KAAK,EAC9BS,EAAIS,GAAyBM,EAAO;EAEvC,EAEYK,IAAoBpC,EAC/B,OACCe,GAAKC,GAAKC,IAAyBJ,MAAc;CAEhD,IADiBE,EAAIV,EACjBc,EAAU;CAEdH,EAAIF,GAAsBG,EAAW;CAErC,IAAMM,IAAaR,EAAIP,EAAuB;CAO9CQ,EAAIS,GALqBhB,EADPM,EAAId,EAEpBmB,EACAH,GACAM,EAE2BC,CAAiB;EAEjD,EAEYa,IAAqBrC,EAAK,OAAO8B,GAAGd,MAAQ;CACvDA,EAAIX,GAAsB,GAAM;EAChC,EAEWiC,IAAyBtC,EAAK,OAAOe,GAAKC,MAAQ;CAE7DA,EAAIX,GAAsB,CADTU,EAAIV,EACMc,CAAS;EACpC,EAEWoB,IAA4BvC,EAAK,OAAOe,GAAKC,MAAQ;CAEhEA,EAAIR,GAAwB,CADTO,EAAIP,EACMe,CAAW;EACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"otcInputAmountAtom.js","names":["atom","parseUnits","otcTokenFromAtom","otcTokenToAtom","zeroRates","PriceRates","isOtcPriceReversedAtom","otcPriceRatesAtom","otcPriceAmountAtom","get","isReversed","priceRates","rateReversed","rate","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPayInputAmountWeiAtom","tokenFrom","payInputAmount","decimals","toString","otcReceiveInputAmountWeiAtom","tokenTo","receiveInputAmount"],"sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\n\nexport const otcPriceRatesAtom = atom<PriceRates>(zeroRates);\n\nexport const otcPriceAmountAtom = atom((get) => {\n const isReversed = get(isOtcPriceReversedAtom);\n const priceRates = get(otcPriceRatesAtom);\n return isReversed ? priceRates.rateReversed : priceRates.rate;\n});\n\nexport const otcPayInputAmountAtom = atom(\"1\");\n\nexport const otcReceiveInputAmountAtom = atom(\"0\");\n\nexport const otcPayInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcPayInputAmountAtom\n const tokenFrom = get(otcTokenFromAtom);\n const payInputAmount = get(otcPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const otcReceiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcReceiveInputAmountAtom\n const tokenTo = get(otcTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(otcReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;;;AAOA,IAAaO,IAAoBP,EAAiBI,EAAU,EAE/CI,IAAqBR,GAAMS,MAAQ;CAC9C,IAAMC,IAAaD,EAAIH,EAAuB,EACxCK,IAAaF,EAAIF,EAAkB;AACzC,QAAOG,IAAaC,EAAWC,eAAeD,EAAWE;EACzD,EAEWC,IAAwBd,EAAK,IAAI,EAEjCe,IAA4Bf,EAAK,IAAI,EAErCgB,IAA2BhB,GAAMS,MAAQ;CAEpD,IAAMQ,IAAYR,EAAIP,EAAiB;AAEvC,QAAOD,EADgBQ,EAAIK,EAAsB,EACfG,EAAUE,SAAS,CAACC,UAAU;EAChE,EAEWC,IAA+BrB,GAAMS,MAAQ;CAExD,IAAMa,IAAUb,EAAIN,EAAe;AACnC,KAAImB,EAEF,QAAOrB,EADoBQ,EAAIM,EAA0B,EACnBO,EAAQH,SAAS,CAACC,UAAU;EAEpE"}
1
+ {"version":3,"file":"otcInputAmountAtom.js","names":["atom","parseUnits","otcTokenFromAtom","otcTokenToAtom","zeroRates","PriceRates","isOtcPriceReversedAtom","otcPriceRatesAtom","otcPriceAmountAtom","get","isReversed","priceRates","rateReversed","rate","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPayInputAmountWeiAtom","tokenFrom","payInputAmount","decimals","toString","otcReceiveInputAmountWeiAtom","tokenTo","receiveInputAmount"],"sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\n\nexport const otcPriceRatesAtom = atom<PriceRates>(zeroRates);\n\nexport const otcPriceAmountAtom = atom((get) => {\n const isReversed = get(isOtcPriceReversedAtom);\n const priceRates = get(otcPriceRatesAtom);\n return isReversed ? priceRates.rateReversed : priceRates.rate;\n});\n\nexport const otcPayInputAmountAtom = atom(\"1\");\n\nexport const otcReceiveInputAmountAtom = atom(\"0\");\n\nexport const otcPayInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcPayInputAmountAtom\n const tokenFrom = get(otcTokenFromAtom);\n const payInputAmount = get(otcPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const otcReceiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcReceiveInputAmountAtom\n const tokenTo = get(otcTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(otcReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;;;AAOA,IAAaO,IAAoBP,EAAiBI,EAAU,EAE/CI,IAAqBR,GAAMS,MAAQ;CAC9C,IAAMC,IAAaD,EAAIH,EAAuB,EACxCK,IAAaF,EAAIF,EAAkB;CACzC,OAAOG,IAAaC,EAAWC,eAAeD,EAAWE;EACzD,EAEWC,IAAwBd,EAAK,IAAI,EAEjCe,IAA4Bf,EAAK,IAAI,EAErCgB,IAA2BhB,GAAMS,MAAQ;CAEpD,IAAMQ,IAAYR,EAAIP,EAAiB;CAEvC,OAAOD,EADgBQ,EAAIK,EACTI,EAAgBD,EAAUE,SAAS,CAACC,UAAU;EAChE,EAEWC,IAA+BrB,GAAMS,MAAQ;CAExD,IAAMa,IAAUb,EAAIN,EAAe;CACnC,IAAImB,GAEF,OAAOrB,EADoBQ,EAAIM,EACbQ,EAAoBD,EAAQH,SAAS,CAACC,UAAU;EAEpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"receiverAddressAtom.js","names":["UseReceiverAddressReturn","shortenAddress","atom","useAtom","useAtomValue","Address","otcReceiverAddressAtom","useOtcReceiverAddress","$","_c","address","setAddress","t0","undefined","shortAddress","t1","useOtcReceiverAddressValue"],"sources":["../../../../src/core/otc/state/receiverAddressAtom.ts"],"sourcesContent":["import type { UseReceiverAddressReturn } from \"@/components/widget/ReceiverAddress/state/types\";\nimport { shortenAddress } from \"@/lib/utils\";\nimport { atom } from \"jotai\";\nimport { useAtom, useAtomValue } from \"@/core/store\";\nimport type { Address } from \"viem\";\n\nexport const otcReceiverAddressAtom = atom<Address | undefined>();\n\nexport const useOtcReceiverAddress = (): UseReceiverAddressReturn => {\n const [address, setAddress] = useAtom(otcReceiverAddressAtom);\n const shortAddress = address ? shortenAddress(address) : undefined;\n\n return { address, setAddress, shortAddress };\n};\n\nexport const useOtcReceiverAddressValue = () => {\n return useAtomValue(otcReceiverAddressAtom);\n};\n"],"mappings":";;;;;AAMA,IAAaM,IAAyBJ,GAA2B,EAEpDK,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnC,CAAAC,GAAAC,KAA8BR,EAAQG,EAAuB,EAACM;AAAA,CAAAJ,EAAA,OAAAE,IACIE,IAAAJ,EAAA,MAA7CI,IAAAF,IAAUT,EAAeS,EAAoB,GAA7CG,KAAAA,GAA6CL,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAlE,IAAAE,IAAqBF,GAA8CG;AAEvB,QAFuBP,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAAAH,EAAA,OAAAM,KAE5DC,IAAA;EAAAL;EAAAC;EAAAG;EAAqC,EAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAArCO;GAGIC,UACJZ,EAAaE,EAAuB"}
1
+ {"version":3,"file":"receiverAddressAtom.js","names":["UseReceiverAddressReturn","shortenAddress","atom","useAtom","useAtomValue","Address","otcReceiverAddressAtom","useOtcReceiverAddress","$","_c","address","setAddress","t0","undefined","shortAddress","t1","useOtcReceiverAddressValue"],"sources":["../../../../src/core/otc/state/receiverAddressAtom.ts"],"sourcesContent":["import type { UseReceiverAddressReturn } from \"@/components/widget/ReceiverAddress/state/types\";\nimport { shortenAddress } from \"@/lib/utils\";\nimport { atom } from \"jotai\";\nimport { useAtom, useAtomValue } from \"@/core/store\";\nimport type { Address } from \"viem\";\n\nexport const otcReceiverAddressAtom = atom<Address | undefined>();\n\nexport const useOtcReceiverAddress = (): UseReceiverAddressReturn => {\n const [address, setAddress] = useAtom(otcReceiverAddressAtom);\n const shortAddress = address ? shortenAddress(address) : undefined;\n\n return { address, setAddress, shortAddress };\n};\n\nexport const useOtcReceiverAddressValue = () => {\n return useAtomValue(otcReceiverAddressAtom);\n};\n"],"mappings":";;;;;AAMA,IAAaM,IAAyBJ,GAA2B,EAEpDK,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnC,CAAAC,GAAAC,KAA8BR,EAAQG,EAAuB,EAACM;CAAA,AAAAJ,EAAA,OAAAE,IACIE,IAAAJ,EAAA,MAA7CI,IAAAF,IAAUT,EAAeS,EAAoB,GAA7CG,KAAAA,GAA6CL,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAAlE,IAAAE,IAAqBF,GAA8CG;CAEvB,OAFuBP,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAAAH,EAAA,OAAAM,KAE5DC,IAAA;EAAAL;EAAAC;EAAAG;EAAqC,EAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAArCO;GAGIC,UACJZ,EAAaE,EAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","unlockOtcPriceAtom","otcTokenFromAtom","otcTokenToAtom","Token","wagmiConfig","switchChain","isETH","isWETH","wrappedNativeTokensByChainId","switchOtcTokensAtom","get","set","tokenTo","tokenFrom","defaultTokenFrom","defaultTokenTo","network","newTokenTo","selectOtcTokenFromAtom","newTokenFrom","initTokenFrom","state","chainId","selectOtcTokenToAtom","_newTokenTo","initTokenTo"],"sources":["../../../../src/core/otc/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { unlockOtcPriceAtom } from \"./otcInputActionsAtom\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeTokensByChainId } from \"@/tokens/constructor\";\n\nexport const switchOtcTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(otcTokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(otcTokenFromAtom);\n\n // set tokenFrom\n // tokenFrom can be any token\n set(otcTokenFromAtom, tokenTo);\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"otc\"\n );\n\n // set tokenTo\n // tokenTo can't be ETH\n let newTokenTo = tokenFrom;\n\n if (isETH(tokenFrom)) {\n if (isWETH(tokenTo, tokenTo.network)) {\n newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n } else {\n newTokenTo = wrappedNativeTokensByChainId[tokenFrom.network];\n }\n }\n\n set(otcTokenToAtom, newTokenTo);\n\n set(unlockOtcPriceAtom);\n});\n\nexport const selectOtcTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(otcTokenFromAtom);\n let tokenTo = get(otcTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(otcTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n if (tokenTo && areTokensSame(newTokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(otcTokenToAtom, initTokenFrom);\n // set tokenFrom to previous tokenTo\n tokenTo = initTokenFrom;\n }\n\n if (tokenTo && tokenTo.network !== tokenFrom.network) {\n // OTCOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"otc\"\n );\n // so set tokenTo to one of the default tokens for tokenFrom.network chain\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(otcTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n }\n\n // do not unlock otc price if token has not actually changed\n if (!areTokensSame(tokenFrom, initTokenFrom)) {\n set(unlockOtcPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const selectOtcTokenToAtom = atom(\n null,\n async (get, set, _newTokenTo: Token) => {\n // for OTC Orders destToken can't be ETH\n const newTokenTo = isETH(_newTokenTo)\n ? wrappedNativeTokensByChainId[_newTokenTo.network]\n : _newTokenTo;\n\n let tokenFrom = get(otcTokenFromAtom);\n let tokenTo = get(otcTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(otcTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (initTokenTo && areTokensSame(tokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(otcTokenFromAtom, initTokenTo);\n // set tokenFrom to previous tokenTo\n tokenFrom = initTokenTo;\n }\n\n if (tokenTo.network !== tokenFrom.network) {\n // OTCOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"otc\"\n );\n // so set tokenFrom to one of the default tokens for tokenTo.network chain\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(otcTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // do not unlock otc price if token has not actually changed\n if (tokenTo && initTokenTo && !areTokensSame(tokenTo, initTokenTo)) {\n set(unlockOtcPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenTo.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenTo.network,\n });\n }\n }\n);\n"],"mappings":";;;;;;;;;;AAWA,IAAaY,IAAsBV,EAAK,MAAM,OAAOW,GAAKC,MAAQ;CAChE,IAAMC,IAAUF,EAAIR,EAAe;AAEnC,KAAI,CAACU,EAAS;CAEd,IAAMC,IAAYH,EAAIT,EAAiB;AAIvCU,GAAIV,GAAkBW,EAAQ;CAE9B,IAAM,CAACE,GAAkBC,KAAkBlB,EACzCgB,EAAUG,SACV,MACD,EAIGC,IAAaJ;AAcjBF,CAZIL,EAAMO,EAAU,KAClB,AAKEI,IALEV,EAAOK,GAASA,EAAQI,QAAQ,GACrBlB,EAAce,GAAWE,EAAe,GACjDD,IACAC,IAESP,EAA6BK,EAAUG,WAIxDL,EAAIT,GAAgBe,EAAW,EAE/BN,EAAIX,EAAmB;EACvB,EAEWkB,IAAyBnB,EACpC,MACA,OAAOW,GAAKC,GAAKQ,MAAwB;CACvC,IAAIN,IAAYH,EAAIT,EAAiB,EACjCW,IAAUF,EAAIR,EAAe,EAC3BkB,IAAgBP;AAatB,KAVAF,EAAIV,GAAkBkB,EAAa,EACnCN,IAAYM,GAERP,KAAWd,EAAcqB,GAAcP,EAAQ,KAEjDD,EAAIT,GAAgBkB,EAAc,EAElCR,IAAUQ,IAGRR,KAAWA,EAAQI,YAAYH,EAAUG,SAAS;EAEpD,IAAM,CAACF,GAAkBC,KAAkBlB,EACzCgB,EAAUG,SACV,MACD,EAEKC,IAAanB,EAAce,GAAWE,EAAe,GACvDD,IACAC;AAEJH,EADAD,EAAIT,GAAgBe,EAAW,EAC/BL,IAAUK;;AASZ,CALKnB,EAAce,GAAWO,EAAc,IAC1CT,EAAIX,EAAmB,EAIrBa,EAAUG,YAAYZ,EAAYiB,MAAMC,WAC1CjB,EAAY,EACViB,SAAST,EAAUG,SACpB,CAAC;EAGP,EAEYO,IAAuBxB,EAClC,MACA,OAAOW,GAAKC,GAAKa,MAAuB;CAEtC,IAAMP,IAAaX,EAAMkB,EAAY,GACjChB,EAA6BgB,EAAYR,WACzCQ,GAEAX,IAAYH,EAAIT,EAAiB,EACjCW,IAAUF,EAAIR,EAAe,EAC3BuB,IAAcb;AAYpB,KAVAD,EAAIT,GAAgBe,EAAW,EAC/BL,IAAUK,GAENQ,KAAe3B,EAAce,GAAWD,EAAQ,KAElDD,EAAIV,GAAkBwB,EAAY,EAElCZ,IAAYY,IAGVb,EAAQI,YAAYH,EAAUG,SAAS;EAEzC,IAAM,CAACF,GAAkBC,KAAkBlB,EACzCe,EAAQI,SACR,MACD,EAEKG,IAAerB,EAAcc,GAASG,EAAe,GACvDD,IACAC;AAEJF,EADAF,EAAIV,GAAkBkB,EAAa,EACnCN,IAAYM;;AASd,CALIP,KAAWa,KAAe,CAAC3B,EAAcc,GAASa,EAAY,IAChEd,EAAIX,EAAmB,EAIrBY,EAAQI,YAAYZ,EAAYiB,MAAMC,WACxCjB,EAAY,EACViB,SAASV,EAAQI,SAClB,CAAC;EAGP"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","unlockOtcPriceAtom","otcTokenFromAtom","otcTokenToAtom","Token","wagmiConfig","switchChain","isETH","isWETH","wrappedNativeTokensByChainId","switchOtcTokensAtom","get","set","tokenTo","tokenFrom","defaultTokenFrom","defaultTokenTo","network","newTokenTo","selectOtcTokenFromAtom","newTokenFrom","initTokenFrom","state","chainId","selectOtcTokenToAtom","_newTokenTo","initTokenTo"],"sources":["../../../../src/core/otc/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { unlockOtcPriceAtom } from \"./otcInputActionsAtom\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeTokensByChainId } from \"@/tokens/constructor\";\n\nexport const switchOtcTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(otcTokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(otcTokenFromAtom);\n\n // set tokenFrom\n // tokenFrom can be any token\n set(otcTokenFromAtom, tokenTo);\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"otc\"\n );\n\n // set tokenTo\n // tokenTo can't be ETH\n let newTokenTo = tokenFrom;\n\n if (isETH(tokenFrom)) {\n if (isWETH(tokenTo, tokenTo.network)) {\n newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n } else {\n newTokenTo = wrappedNativeTokensByChainId[tokenFrom.network];\n }\n }\n\n set(otcTokenToAtom, newTokenTo);\n\n set(unlockOtcPriceAtom);\n});\n\nexport const selectOtcTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(otcTokenFromAtom);\n let tokenTo = get(otcTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(otcTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n if (tokenTo && areTokensSame(newTokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(otcTokenToAtom, initTokenFrom);\n // set tokenFrom to previous tokenTo\n tokenTo = initTokenFrom;\n }\n\n if (tokenTo && tokenTo.network !== tokenFrom.network) {\n // OTCOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"otc\"\n );\n // so set tokenTo to one of the default tokens for tokenFrom.network chain\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(otcTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n }\n\n // do not unlock otc price if token has not actually changed\n if (!areTokensSame(tokenFrom, initTokenFrom)) {\n set(unlockOtcPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const selectOtcTokenToAtom = atom(\n null,\n async (get, set, _newTokenTo: Token) => {\n // for OTC Orders destToken can't be ETH\n const newTokenTo = isETH(_newTokenTo)\n ? wrappedNativeTokensByChainId[_newTokenTo.network]\n : _newTokenTo;\n\n let tokenFrom = get(otcTokenFromAtom);\n let tokenTo = get(otcTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(otcTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (initTokenTo && areTokensSame(tokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(otcTokenFromAtom, initTokenTo);\n // set tokenFrom to previous tokenTo\n tokenFrom = initTokenTo;\n }\n\n if (tokenTo.network !== tokenFrom.network) {\n // OTCOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"otc\"\n );\n // so set tokenFrom to one of the default tokens for tokenTo.network chain\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(otcTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // do not unlock otc price if token has not actually changed\n if (tokenTo && initTokenTo && !areTokensSame(tokenTo, initTokenTo)) {\n set(unlockOtcPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenTo.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenTo.network,\n });\n }\n }\n);\n"],"mappings":";;;;;;;;;;AAWA,IAAaY,IAAsBV,EAAK,MAAM,OAAOW,GAAKC,MAAQ;CAChE,IAAMC,IAAUF,EAAIR,EAAe;CAEnC,IAAI,CAACU,GAAS;CAEd,IAAMC,IAAYH,EAAIT,EAAiB;CAIvCU,EAAIV,GAAkBW,EAAQ;CAE9B,IAAM,CAACE,GAAkBC,KAAkBlB,EACzCgB,EAAUG,SACV,MACD,EAIGC,IAAaJ;CAcjBF,AAZIL,EAAMO,EAAU,KAClB,AAKEI,IALEV,EAAOK,GAASA,EAAQI,QAAQ,GACrBlB,EAAce,GAAWE,EAAe,GACjDD,IACAC,IAESP,EAA6BK,EAAUG,WAIxDL,EAAIT,GAAgBe,EAAW,EAE/BN,EAAIX,EAAmB;EACvB,EAEWkB,IAAyBnB,EACpC,MACA,OAAOW,GAAKC,GAAKQ,MAAwB;CACvC,IAAIN,IAAYH,EAAIT,EAAiB,EACjCW,IAAUF,EAAIR,EAAe,EAC3BkB,IAAgBP;CAatB,IAVAF,EAAIV,GAAkBkB,EAAa,EACnCN,IAAYM,GAERP,KAAWd,EAAcqB,GAAcP,EAAQ,KAEjDD,EAAIT,GAAgBkB,EAAc,EAElCR,IAAUQ,IAGRR,KAAWA,EAAQI,YAAYH,EAAUG,SAAS;EAEpD,IAAM,CAACF,GAAkBC,KAAkBlB,EACzCgB,EAAUG,SACV,MACD,EAEKC,IAAanB,EAAce,GAAWE,EAAe,GACvDD,IACAC;EAEJH,AADAD,EAAIT,GAAgBe,EAAW,EAC/BL,IAAUK;;CASZ,AALKnB,EAAce,GAAWO,EAAc,IAC1CT,EAAIX,EAAmB,EAIrBa,EAAUG,YAAYZ,EAAYiB,MAAMC,WAC1CjB,EAAY,EACViB,SAAST,EAAUG,SACpB,CAAC;EAGP,EAEYO,IAAuBxB,EAClC,MACA,OAAOW,GAAKC,GAAKa,MAAuB;CAEtC,IAAMP,IAAaX,EAAMkB,EAAY,GACjChB,EAA6BgB,EAAYR,WACzCQ,GAEAX,IAAYH,EAAIT,EAAiB,EACjCW,IAAUF,EAAIR,EAAe,EAC3BuB,IAAcb;CAYpB,IAVAD,EAAIT,GAAgBe,EAAW,EAC/BL,IAAUK,GAENQ,KAAe3B,EAAce,GAAWD,EAAQ,KAElDD,EAAIV,GAAkBwB,EAAY,EAElCZ,IAAYY,IAGVb,EAAQI,YAAYH,EAAUG,SAAS;EAEzC,IAAM,CAACF,GAAkBC,KAAkBlB,EACzCe,EAAQI,SACR,MACD,EAEKG,IAAerB,EAAcc,GAASG,EAAe,GACvDD,IACAC;EAEJF,AADAF,EAAIV,GAAkBkB,EAAa,EACnCN,IAAYM;;CASd,AALIP,KAAWa,KAAe,CAAC3B,EAAcc,GAASa,EAAY,IAChEd,EAAIX,EAAmB,EAIrBY,EAAQI,YAAYZ,EAAYiB,MAAMC,WACxCjB,EAAY,EACViB,SAASV,EAAQI,SAClB,CAAC;EAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenAtom.js","names":["jotaiStore","wagmiConfig","SupportedChainId","pickDefaultTokenPair","Token","atom","useAtomValue","defaultTokenFrom","state","chainId","otcTokenFromAtom","otcTokenToAtom","useOtcTokenFrom","useOtcTokenTo","syncOtcTokensAfterChainSwitch","tokenFrom","get","tokenTo","network","defaultTokenTo","set"],"sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"otc\"\n);\n\nexport const otcTokenFromAtom = atom(defaultTokenFrom);\nexport const otcTokenToAtom = atom<Token>();\n\nexport const useOtcTokenFrom = () => useAtomValue(otcTokenFromAtom);\nexport const useOtcTokenTo = () => useAtomValue(otcTokenToAtom);\n\nexport const syncOtcTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const tokenFrom = jotaiStore.get(otcTokenFromAtom);\n const tokenTo = jotaiStore.get(otcTokenToAtom);\n // token will already be set on new chain, the new token may have been the reason for switchChain\n\n // chains are the same? do nothing\n if (\n tokenFrom.network === chainId &&\n (!tokenTo || tokenTo.network === chainId)\n )\n return;\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"otc\"\n );\n\n jotaiStore.set(otcTokenFromAtom, defaultTokenFrom);\n\n if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);\n};\n"],"mappings":";;;;;AAQA,IAAM,CAACO,KAAoBJ,EACzBF,EAAYO,MAAMC,SAClB,MACD,EAEYC,IAAmBL,EAAKE,EAAiB,EACzCI,IAAiBN,GAAa,EAE9BO,UAAwBN,EAAaI,EAAiB,EACtDG,UAAsBP,EAAaK,EAAe,EAElDG,KAAiCL,MAA8B;CAC1E,IAAMM,IAAYf,EAAWgB,IAAIN,EAAiB,EAC5CO,IAAUjB,EAAWgB,IAAIL,EAAe;AAI9C,KACEI,EAAUG,YAAYT,MACrB,CAACQ,KAAWA,EAAQC,YAAYT,GAEjC;CAEF,IAAM,CAACF,GAAkBY,KAAkBhB,EACzCM,GACA,MACD;AAID,CAFAT,EAAWoB,IAAIV,GAAkBH,EAAiB,EAE9CU,KAASjB,EAAWoB,IAAIT,GAAgBQ,EAAe"}
1
+ {"version":3,"file":"selectedTokenAtom.js","names":["jotaiStore","wagmiConfig","SupportedChainId","pickDefaultTokenPair","Token","atom","useAtomValue","defaultTokenFrom","state","chainId","otcTokenFromAtom","otcTokenToAtom","useOtcTokenFrom","useOtcTokenTo","syncOtcTokensAfterChainSwitch","tokenFrom","get","tokenTo","network","defaultTokenTo","set"],"sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"otc\"\n);\n\nexport const otcTokenFromAtom = atom(defaultTokenFrom);\nexport const otcTokenToAtom = atom<Token>();\n\nexport const useOtcTokenFrom = () => useAtomValue(otcTokenFromAtom);\nexport const useOtcTokenTo = () => useAtomValue(otcTokenToAtom);\n\nexport const syncOtcTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const tokenFrom = jotaiStore.get(otcTokenFromAtom);\n const tokenTo = jotaiStore.get(otcTokenToAtom);\n // token will already be set on new chain, the new token may have been the reason for switchChain\n\n // chains are the same? do nothing\n if (\n tokenFrom.network === chainId &&\n (!tokenTo || tokenTo.network === chainId)\n )\n return;\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"otc\"\n );\n\n jotaiStore.set(otcTokenFromAtom, defaultTokenFrom);\n\n if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);\n};\n"],"mappings":";;;;;AAQA,IAAM,CAACO,KAAoBJ,EACzBF,EAAYO,MAAMC,SAClB,MACD,EAEYC,IAAmBL,EAAKE,EAAiB,EACzCI,IAAiBN,GAAa,EAE9BO,UAAwBN,EAAaI,EAAiB,EACtDG,UAAsBP,EAAaK,EAAe,EAElDG,KAAiCL,MAA8B;CAC1E,IAAMM,IAAYf,EAAWgB,IAAIN,EAAiB,EAC5CO,IAAUjB,EAAWgB,IAAIL,EAAe;CAI9C,IACEI,EAAUG,YAAYT,MACrB,CAACQ,KAAWA,EAAQC,YAAYT,IAEjC;CAEF,IAAM,CAACF,GAAkBY,KAAkBhB,EACzCM,GACA,MACD;CAID,AAFAT,EAAWoB,IAAIV,GAAkBH,EAAiB,EAE9CU,KAASjB,EAAWoB,IAAIT,GAAgBQ,EAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","SwapRate","useWidgetTokens","useAtomValue","otcPayInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","Big","useOtcDetailsListProps","$","_c","tokenFrom","tokenTo","srcAmountWei","destAmountWei","undefined","eq","t0","Symbol","for","title","value","details","t1","t2","root","trigger","t3","alwaysOpen","classes"],"sources":["../../../src/core/otc/useOtcDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"./state/otcInputAmountAtom\";\nimport Big from \"big.js\";\n\nexport const useOtcDetailsListProps =\n (): DetailWithValueListExpandableProps | null => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const srcAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n const destAmountWei = useAtomValue(otcReceiveInputAmountWeiAtom);\n\n if (\n !tokenTo ||\n destAmountWei === undefined ||\n Big(srcAmountWei).eq(0) ||\n Big(destAmountWei).eq(0)\n ) {\n return null;\n }\n\n const details: DetailWithValue[] = [\n {\n title: \"Network Fees\",\n value: \"🎉 Free\",\n },\n ];\n\n return {\n alwaysOpen: true,\n trigger: (\n <SwapRate\n srcToken={tokenFrom}\n destToken={tokenTo}\n srcAmountWei={srcAmountWei}\n destAmountWei={destAmountWei}\n />\n ),\n details,\n classes: {\n root: \"mt-4\",\n trigger: \"cursor-default\",\n },\n };\n };\n"],"mappings":";;;;;;;;AAaA,IAAaQ,UACX;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACE,EAAAC,cAAAC,eAA+BT,EAAgB,MAAM,EAErDU,IAAqBT,EAAaC,EAAyB,EAC3DS,IAAsBV,EAAaE,EAA6B;AAEhE,KACE,CAACM,KACDE,MAAkBC,KAAAA,KAClBR,EAAIM,EAAa,CAAAG,GAAI,EACG,IAAxBT,EAAIO,EAAc,CAAAE,GAAI,EAAE,CAAA,QAEjB;CACR,IAAAC;AAAA,CAAAR,EAAA,OAAAS,OAAAC,IAAA,4BAAA,IAEkCF,IAAA,CACjC;EAAAG,OACS;EAAcC,OACd;EACR,CACF,EAAAZ,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CALD,IAAAa,IAAmCL,GAKjCM;AAAA,CAAAd,EAAA,OAAAK,KAAAL,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAKEW,IAAA,kBAAC,GAAD;EACYZ,UAAAA;EACCC,WAAAA;EACGC;EACCC;EACf,CAAA,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAc,KAAAA,IAAAd,EAAA;CAAA,IAAAe;AAAA,CAAAf,EAAA,OAAAS,OAAAC,IAAA,4BAAA,IAGKK,IAAA;EAAAC,MACD;EAAMC,SACH;EACV,EAAAjB,EAAA,KAAAe,KAAAA,IAAAf,EAAA;CAAA,IAAAkB;AACF,QADElB,EAAA,OAAAc,IACFI,IAAAlB,EAAA,MAfMkB,IAAA;EAAAC,YACO;EAAIF,SAEdH;EAKED;EAAAO,SAGKL;EAIV,EAAAf,EAAA,KAAAc,GAAAd,EAAA,KAAAkB,IAfMA"}
1
+ {"version":3,"file":"useOtcDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","SwapRate","useWidgetTokens","useAtomValue","otcPayInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","Big","useOtcDetailsListProps","$","_c","tokenFrom","tokenTo","srcAmountWei","destAmountWei","undefined","eq","t0","Symbol","for","title","value","details","t1","t2","root","trigger","t3","alwaysOpen","classes"],"sources":["../../../src/core/otc/useOtcDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"./state/otcInputAmountAtom\";\nimport Big from \"big.js\";\n\nexport const useOtcDetailsListProps =\n (): DetailWithValueListExpandableProps | null => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const srcAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n const destAmountWei = useAtomValue(otcReceiveInputAmountWeiAtom);\n\n if (\n !tokenTo ||\n destAmountWei === undefined ||\n Big(srcAmountWei).eq(0) ||\n Big(destAmountWei).eq(0)\n ) {\n return null;\n }\n\n const details: DetailWithValue[] = [\n {\n title: \"Network Fees\",\n value: \"🎉 Free\",\n },\n ];\n\n return {\n alwaysOpen: true,\n trigger: (\n <SwapRate\n srcToken={tokenFrom}\n destToken={tokenTo}\n srcAmountWei={srcAmountWei}\n destAmountWei={destAmountWei}\n />\n ),\n details,\n classes: {\n root: \"mt-4\",\n trigger: \"cursor-default\",\n },\n };\n };\n"],"mappings":";;;;;;;;AAaA,IAAaQ,UACX;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACE,EAAAC,cAAAC,eAA+BT,EAAgB,MAAM,EAErDU,IAAqBT,EAAaC,EAAyB,EAC3DS,IAAsBV,EAAaE,EAA6B;CAEhE,IACE,CAACM,KACDE,MAAkBC,KAAAA,KAClBR,EAAIM,EAAa,CAAAG,GAAI,EACG,IAAxBT,EAAIO,EAAc,CAAAE,GAAI,EAAE,EAAA,OAEjB;CACR,IAAAC;CAAA,AAAAR,EAAA,OAAAS,OAAAC,IAAA,4BAAA,IAEkCF,IAAA,CACjC;EAAAG,OACS;EAAcC,OACd;EACR,CACF,EAAAZ,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CALD,IAAAa,IAAmCL,GAKjCM;CAAA,AAAAd,EAAA,OAAAK,KAAAL,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAKEW,IAAA,kBAAC,GAAD;EACYZ,UAAAA;EACCC,WAAAA;EACGC;EACCC;EACf,CAAA,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAc,KAAAA,IAAAd,EAAA;CAAA,IAAAe;CAAA,AAAAf,EAAA,OAAAS,OAAAC,IAAA,4BAAA,IAGKK,IAAA;EAAAC,MACD;EAAMC,SACH;EACV,EAAAjB,EAAA,KAAAe,KAAAA,IAAAf,EAAA;CAAA,IAAAkB;CACF,OADElB,EAAA,OAAAc,IACFI,IAAAlB,EAAA,MAfMkB,IAAA;EAAAC,YACO;EAAIF,SAEdH;EAKED;EAAAO,SAGKL;EAIV,EAAAf,EAAA,KAAAc,GAAAd,EAAA,KAAAkB,IAfMA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcNotSupported.js","names":["CHAINS_WITH_OTC","SupportedChainId","useChainId","useTradeMode","useUnsupportedOtcChain","forcedChainId","$","_c","tradeMode","appChainId","chainId","t0","includes"],"sources":["../../../src/core/otc/useOtcNotSupported.ts"],"sourcesContent":["import { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTradeMode } from \"../state/tradeModeAtom\";\n\nexport function useUnsupportedOtcChain(forcedChainId?: SupportedChainId) {\n const tradeMode = useTradeMode();\n const appChainId = useChainId();\n const chainId = forcedChainId ?? appChainId;\n return tradeMode === \"otc\" && !CHAINS_WITH_OTC.includes(chainId);\n}\n"],"mappings":";;;;;AAKA,SAAOI,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAkBL,GAAc,EAChCM,IAAmBP,GAAY,EAC/BQ,IAAgBL,KAAAI,GAA4BE;AACoB,QADpBL,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,KACrCG,IAAAH,MAAc,SAAd,CAAwBR,EAAeY,SAAUF,EAAQ,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAAzDK"}
1
+ {"version":3,"file":"useOtcNotSupported.js","names":["CHAINS_WITH_OTC","SupportedChainId","useChainId","useTradeMode","useUnsupportedOtcChain","forcedChainId","$","_c","tradeMode","appChainId","chainId","t0","includes"],"sources":["../../../src/core/otc/useOtcNotSupported.ts"],"sourcesContent":["import { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTradeMode } from \"../state/tradeModeAtom\";\n\nexport function useUnsupportedOtcChain(forcedChainId?: SupportedChainId) {\n const tradeMode = useTradeMode();\n const appChainId = useChainId();\n const chainId = forcedChainId ?? appChainId;\n return tradeMode === \"otc\" && !CHAINS_WITH_OTC.includes(chainId);\n}\n"],"mappings":";;;;;AAKA,SAAOI,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAkBL,GAAc,EAChCM,IAAmBP,GAAY,EAC/BQ,IAAgBL,KAAAI,GAA4BE;CACoB,OADpBL,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,KACrCG,IAAAH,MAAc,SAAd,CAAwBR,EAAeY,SAAUF,EAAQ,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IAAzDK"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcPriceDifference.js","names":["getPercentDifference","useAtomValue","otcPriceRatesAtom","useLimitRate","UseLimitPriceDiffResult","useOtcPriceDifference","$","_c","otcRateResult","userDefinedRate","Number","rate","rates","t0","priceDiff","marketRate","t1"],"sources":["../../../src/core/otc/useOtcPriceDifference.ts"],"sourcesContent":["import { getPercentDifference } from \"@/lib/utils/price\";\nimport { useAtomValue } from \"@/core/store\";\nimport { otcPriceRatesAtom } from \"./state/otcInputAmountAtom\";\nimport { useLimitRate } from \"../limit/useLimitRate\";\nimport type { UseLimitPriceDiffResult } from \"../limit/types\";\n\nexport const useOtcPriceDifference = (): UseLimitPriceDiffResult => {\n const otcRateResult = useLimitRate(\"otc\");\n\n const userDefinedRate = Number(useAtomValue(otcPriceRatesAtom).rate);\n\n if (!userDefinedRate || !otcRateResult.rates?.rate)\n return { priceDiff: 0, ...otcRateResult };\n\n const marketRate = Number(otcRateResult.rates.rate) || 0; // guard against NaN\n // how much % the otc price rate is different from the market rate\n const priceDiff = getPercentDifference(userDefinedRate, marketRate);\n\n return { priceDiff, ...otcRateResult };\n};\n"],"mappings":";;;;;;AAMA,IAAaK,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnCC,IAAsBL,EAAa,MAAM,EAEzCM,IAAwBC,OAAOT,EAAaC,EAAkB,CAAAS,KAAM;AAEpE,KAAI,CAACF,KAAD,CAAqBD,EAAaI,OAAYD,MAAA;EAAA,IAAAE;AACP,SADOP,EAAA,OAAAE,IACPK,IAAAP,EAAA,MAAlCO,IAAA;GAAAC,WAAa;GAAC,GAAKN;GAAe,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAO,IAAlCA;;CAET,IAAAE,IAAmBL,OAAOF,EAAaI,MAAMD,KAAW,IAArC,GAAsCE;AAAA,CAAAP,EAAA,OAAAS,KAAAT,EAAA,OAAAG,KAEvCI,IAAAb,EAAqBS,GAAiBM,EAAW,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAnE,IAAAQ,IAAkBD,GAAkDG;AAE9B,QAF8BV,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,KAE7DE,IAAA;EAAAF;EAAA,GAAgBN;EAAe,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,GAAAR,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAA/BU"}
1
+ {"version":3,"file":"useOtcPriceDifference.js","names":["getPercentDifference","useAtomValue","otcPriceRatesAtom","useLimitRate","UseLimitPriceDiffResult","useOtcPriceDifference","$","_c","otcRateResult","userDefinedRate","Number","rate","rates","t0","priceDiff","marketRate","t1"],"sources":["../../../src/core/otc/useOtcPriceDifference.ts"],"sourcesContent":["import { getPercentDifference } from \"@/lib/utils/price\";\nimport { useAtomValue } from \"@/core/store\";\nimport { otcPriceRatesAtom } from \"./state/otcInputAmountAtom\";\nimport { useLimitRate } from \"../limit/useLimitRate\";\nimport type { UseLimitPriceDiffResult } from \"../limit/types\";\n\nexport const useOtcPriceDifference = (): UseLimitPriceDiffResult => {\n const otcRateResult = useLimitRate(\"otc\");\n\n const userDefinedRate = Number(useAtomValue(otcPriceRatesAtom).rate);\n\n if (!userDefinedRate || !otcRateResult.rates?.rate)\n return { priceDiff: 0, ...otcRateResult };\n\n const marketRate = Number(otcRateResult.rates.rate) || 0; // guard against NaN\n // how much % the otc price rate is different from the market rate\n const priceDiff = getPercentDifference(userDefinedRate, marketRate);\n\n return { priceDiff, ...otcRateResult };\n};\n"],"mappings":";;;;;;AAMA,IAAaK,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnCC,IAAsBL,EAAa,MAAM,EAEzCM,IAAwBC,OAAOT,EAAaC,EAAkB,CAAAS,KAAM;CAEpE,IAAI,CAACF,KAAD,CAAqBD,EAAaI,OAAYD,MAAA;EAAA,IAAAE;EACP,OADOP,EAAA,OAAAE,IACPK,IAAAP,EAAA,MAAlCO,IAAA;GAAAC,WAAa;GAAC,GAAKN;GAAe,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAO,IAAlCA;;CAET,IAAAE,IAAmBL,OAAOF,EAAaI,MAAMD,KAAW,IAArC,GAAsCE;CAAA,AAAAP,EAAA,OAAAS,KAAAT,EAAA,OAAAG,KAEvCI,IAAAb,EAAqBS,GAAiBM,EAAW,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAnE,IAAAQ,IAAkBD,GAAkDG;CAE9B,OAF8BV,EAAA,OAAAE,KAAAF,EAAA,OAAAQ,KAE7DE,IAAA;EAAAF;EAAA,GAAgBN;EAAe,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAQ,GAAAR,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IAA/BU"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcPriceInputProps.js","names":["PriceInputProps","useAtomValue","useSetAtom","useAtom","useEffect","OnValueChange","useWidgetTokens","useLogger","isOtcPriceLockedAtom","isOtcPriceReversedAtom","otcPriceAmountAtom","resetOtcPriceAtom","setOtcPriceRatesAtom","toggleOtcPriceLockAtom","toggleOtcPriceReverseAtom","currentOtcInputAtom","useOtcPriceDifference","getUpdatedRates","useOtcPriceInputProps","$","_c","logger","tokenFrom","tokenTo","isLocked","isReversed","otcPriceAmount","setPriceRates","togglePriceLock","togglePriceReverse","resetPrice","currentOtcInput","setCurrentOtcInput","rates","isLoading","priceDiff","t0","t1","t2","values","log","updatedRates","value","recalculateReceive","onAmountChange","drivingToken","t3","t4","t5","t6","t7","type","amount","onReset","onToggleLock","onToggleReverse","onFocus"],"sources":["../../../src/core/otc/useOtcPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"@/core/store\";\nimport { useEffect } from \"react\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useLogger } from \"../logger\";\nimport { isOtcPriceLockedAtom } from \"./state/isOtcPriceLockedAtom\";\nimport { isOtcPriceReversedAtom } from \"./state/isOtcPriceReversedAtom\";\nimport { otcPriceAmountAtom } from \"./state/otcInputAmountAtom\";\nimport {\n resetOtcPriceAtom,\n setOtcPriceRatesAtom,\n toggleOtcPriceLockAtom,\n toggleOtcPriceReverseAtom,\n} from \"./state/otcInputActionsAtom\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport { useOtcPriceDifference } from \"./useOtcPriceDifference\";\nimport { getUpdatedRates } from \"../limit/state/utils\";\n\nexport const useOtcPriceInputProps = (): PriceInputProps => {\n const logger = useLogger(\"OtcPriceInput\");\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const isLocked = useAtomValue(isOtcPriceLockedAtom);\n const isReversed = useAtomValue(isOtcPriceReversedAtom);\n const otcPriceAmount = useAtomValue(otcPriceAmountAtom);\n\n const setPriceRates = useSetAtom(setOtcPriceRatesAtom);\n const togglePriceLock = useSetAtom(toggleOtcPriceLockAtom);\n const togglePriceReverse = useSetAtom(toggleOtcPriceReverseAtom);\n const resetPrice = useSetAtom(resetOtcPriceAtom);\n const [currentOtcInput, setCurrentOtcInput] = useAtom(currentOtcInputAtom);\n\n const { rates, isLoading, priceDiff } = useOtcPriceDifference();\n\n useEffect(() => {\n if (rates) {\n setPriceRates(rates);\n }\n }, [rates, setPriceRates]);\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange\", values);\n\n const updatedRates = getUpdatedRates(values.value, isReversed);\n const recalculateReceive = currentOtcInput === \"otc\";\n setPriceRates(updatedRates, recalculateReceive);\n };\n\n const drivingToken = isReversed ? tokenFrom : tokenTo;\n\n return {\n type: \"otc\",\n drivingToken,\n amount: otcPriceAmount,\n isLoading,\n isLocked,\n isReversed,\n priceDiff,\n onAmountChange,\n onReset: () => resetPrice(rates),\n onToggleLock: () => togglePriceLock(),\n onToggleReverse: () => togglePriceReverse(),\n onFocus: () => setCurrentOtcInput(\"otc\"),\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useOtcPriceInputProps.js","names":["PriceInputProps","useAtomValue","useSetAtom","useAtom","useEffect","OnValueChange","useWidgetTokens","useLogger","isOtcPriceLockedAtom","isOtcPriceReversedAtom","otcPriceAmountAtom","resetOtcPriceAtom","setOtcPriceRatesAtom","toggleOtcPriceLockAtom","toggleOtcPriceReverseAtom","currentOtcInputAtom","useOtcPriceDifference","getUpdatedRates","useOtcPriceInputProps","$","_c","logger","tokenFrom","tokenTo","isLocked","isReversed","otcPriceAmount","setPriceRates","togglePriceLock","togglePriceReverse","resetPrice","currentOtcInput","setCurrentOtcInput","rates","isLoading","priceDiff","t0","t1","t2","values","log","updatedRates","value","recalculateReceive","onAmountChange","drivingToken","t3","t4","t5","t6","t7","type","amount","onReset","onToggleLock","onToggleReverse","onFocus"],"sources":["../../../src/core/otc/useOtcPriceInputProps.ts"],"sourcesContent":["import type { PriceInputProps } from \"@/components/widget/LimitPriceInput/types\";\nimport { useAtomValue, useSetAtom, useAtom } from \"@/core/store\";\nimport { useEffect } from \"react\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useLogger } from \"../logger\";\nimport { isOtcPriceLockedAtom } from \"./state/isOtcPriceLockedAtom\";\nimport { isOtcPriceReversedAtom } from \"./state/isOtcPriceReversedAtom\";\nimport { otcPriceAmountAtom } from \"./state/otcInputAmountAtom\";\nimport {\n resetOtcPriceAtom,\n setOtcPriceRatesAtom,\n toggleOtcPriceLockAtom,\n toggleOtcPriceReverseAtom,\n} from \"./state/otcInputActionsAtom\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport { useOtcPriceDifference } from \"./useOtcPriceDifference\";\nimport { getUpdatedRates } from \"../limit/state/utils\";\n\nexport const useOtcPriceInputProps = (): PriceInputProps => {\n const logger = useLogger(\"OtcPriceInput\");\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const isLocked = useAtomValue(isOtcPriceLockedAtom);\n const isReversed = useAtomValue(isOtcPriceReversedAtom);\n const otcPriceAmount = useAtomValue(otcPriceAmountAtom);\n\n const setPriceRates = useSetAtom(setOtcPriceRatesAtom);\n const togglePriceLock = useSetAtom(toggleOtcPriceLockAtom);\n const togglePriceReverse = useSetAtom(toggleOtcPriceReverseAtom);\n const resetPrice = useSetAtom(resetOtcPriceAtom);\n const [currentOtcInput, setCurrentOtcInput] = useAtom(currentOtcInputAtom);\n\n const { rates, isLoading, priceDiff } = useOtcPriceDifference();\n\n useEffect(() => {\n if (rates) {\n setPriceRates(rates);\n }\n }, [rates, setPriceRates]);\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange\", values);\n\n const updatedRates = getUpdatedRates(values.value, isReversed);\n const recalculateReceive = currentOtcInput === \"otc\";\n setPriceRates(updatedRates, recalculateReceive);\n };\n\n const drivingToken = isReversed ? tokenFrom : tokenTo;\n\n return {\n type: \"otc\",\n drivingToken,\n amount: otcPriceAmount,\n isLoading,\n isLocked,\n isReversed,\n priceDiff,\n onAmountChange,\n onReset: () => resetPrice(rates),\n onToggleLock: () => togglePriceLock(),\n onToggleReverse: () => togglePriceReverse(),\n onFocus: () => setCurrentOtcInput(\"otc\"),\n };\n};\n"],"mappings":"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"}