@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":"Drawers.js","names":["Dispatch","SetStateAction","ControlledDrawer","DrawerControls","FillableOtcOrderItem","FillOtcReviewAndConfirm","OrderItem","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","LimitOrderDetails","OtcOrderDetails","TransactionDetails","TransactionReceipt","CancelDeltaOrdersReturn","isStandaloneTransactionItem","OrderDetailsDrawer","t0","$","_c","selectedOrder","setSelectedOrder","drawerControls","onDismiss","_onDismiss","t1","isLimitOrderSelected","t2","isOtcOrderItemSelected","t3","onClose","t4","logger","successRes","prevOrder","state","dropped","replacementTx","hash","transactionHash","action","info","onCancelSuccess","t5","error","message","onCancelError","t6","t7","ReviewAndConfirmDrawer","fillableOrder","onFlowStart"],"sources":["../../../../../src/components/widget/AppHeader/Activities/Drawers.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { ControlledDrawer } from \"../../Drawer\";\nimport { type DrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport type { FillableOtcOrderItem } from \"../../OtcOrderItem/types\";\nimport { FillOtcReviewAndConfirm } from \"../../ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm\";\nimport {\n type OrderItem,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n} from \"./utils\";\n\nimport { LimitOrderDetails } from \"../../LimitOrderItem/LimitOrderDetails/LimitOrderDetails\";\nimport { OtcOrderDetails } from \"../../OtcOrderItem/OtcOrderDetails/OtcOrderDetails\";\nimport { TransactionDetails } from \"../../TransactionDetails/LimitOrderDetails/TransactionDetails\";\nimport type { TransactionReceipt } from \"viem\";\nimport type { CancelDeltaOrdersReturn } from \"@/hooks/swap/prices/delta/mutations/useCancelDeltaOrders\";\nimport { isStandaloneTransactionItem } from \"@/transactions/utils\";\n\nexport const OrderDetailsDrawer = ({\n selectedOrder,\n setSelectedOrder,\n drawerControls,\n onDismiss: _onDismiss,\n}: {\n selectedOrder: OrderItem;\n setSelectedOrder: Dispatch<SetStateAction<OrderItem | null>>;\n drawerControls: DrawerControls;\n onDismiss?: () => void;\n}) => {\n const isLimitOrderSelected = isLimitOrderItem(selectedOrder);\n const isOtcOrderItemSelected = isOtcOrderItem(selectedOrder);\n\n const onDismiss = () => {\n _onDismiss?.();\n drawerControls.onClose();\n setSelectedOrder(null);\n };\n\n const onCancelSuccess = (\n successRes: TransactionReceipt | CancelDeltaOrdersReturn\n ) => {\n setSelectedOrder((prevOrder) => {\n if (prevOrder) {\n // LimitOrderItem CANCELLED status are updated via API polling\n // OtcOrderItem CANCELLED status is updated optimistically\n\n if (isOtcOrderItem(prevOrder) && prevOrder.state !== \"CANCELLED\")\n return { ...prevOrder, state: \"CANCELLED\" };\n\n if (\n // TransactionListItem for Swap txs is updated in store,\n // but currently selectedOrder is now stale, so update it manually.\n // Can use useFocusAtom for the selectedOrder, or useSplitAtom for all Orders together,\n // if selectedOrder needs to be reactive (all orders changed -> selectedOrder changed)\n isTransactionListItem(prevOrder) &&\n isStandaloneTransactionItem(prevOrder) &&\n \"transactionHash\" in successRes\n ) {\n return {\n ...prevOrder,\n dropped: true,\n replacementTx: {\n hash: successRes.transactionHash,\n action: \"cancel\",\n },\n };\n }\n }\n\n return prevOrder;\n });\n\n drawerControls.logger.info(\n \"Order cancelled successfully\",\n selectedOrder,\n successRes\n );\n };\n\n const onCancelError = (error: Error) => {\n drawerControls.logger.error(\n \"Order cancellation failed\",\n selectedOrder,\n error.message\n );\n };\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Order Details\"\n showGoBackButton\n >\n {isLimitOrderSelected ? (\n <LimitOrderDetails\n order={selectedOrder}\n logger={drawerControls.logger}\n onDismiss={onDismiss}\n onCancelSuccess={onCancelSuccess}\n onCancelError={onCancelError}\n />\n ) : isOtcOrderItemSelected ? (\n <OtcOrderDetails\n order={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n ) : (\n <TransactionDetails\n txItem={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n )}\n </ControlledDrawer>\n );\n};\n\nexport const ReviewAndConfirmDrawer = ({\n fillableOrder,\n drawerControls,\n onFlowStart,\n onDismiss,\n}: {\n fillableOrder: FillableOtcOrderItem;\n drawerControls: DrawerControls;\n onFlowStart: () => void;\n onDismiss?: () => void;\n}) => {\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Trade Overview\"\n showGoBackButton\n >\n <FillOtcReviewAndConfirm\n fillableOrder={fillableOrder}\n onFlowStart={onFlowStart}\n onDismiss={() => {\n onDismiss?.();\n drawerControls.onClose();\n }}\n />\n </ControlledDrawer>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Drawers.js","names":["Dispatch","SetStateAction","ControlledDrawer","DrawerControls","FillableOtcOrderItem","FillOtcReviewAndConfirm","OrderItem","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","LimitOrderDetails","OtcOrderDetails","TransactionDetails","TransactionReceipt","CancelDeltaOrdersReturn","isStandaloneTransactionItem","OrderDetailsDrawer","t0","$","_c","selectedOrder","setSelectedOrder","drawerControls","onDismiss","_onDismiss","t1","isLimitOrderSelected","t2","isOtcOrderItemSelected","t3","onClose","t4","logger","successRes","prevOrder","state","dropped","replacementTx","hash","transactionHash","action","info","onCancelSuccess","t5","error","message","onCancelError","t6","t7","ReviewAndConfirmDrawer","fillableOrder","onFlowStart"],"sources":["../../../../../src/components/widget/AppHeader/Activities/Drawers.tsx"],"sourcesContent":["import { type Dispatch, type SetStateAction } from \"react\";\nimport { ControlledDrawer } from \"../../Drawer\";\nimport { type DrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport type { FillableOtcOrderItem } from \"../../OtcOrderItem/types\";\nimport { FillOtcReviewAndConfirm } from \"../../ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm\";\nimport {\n type OrderItem,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n} from \"./utils\";\n\nimport { LimitOrderDetails } from \"../../LimitOrderItem/LimitOrderDetails/LimitOrderDetails\";\nimport { OtcOrderDetails } from \"../../OtcOrderItem/OtcOrderDetails/OtcOrderDetails\";\nimport { TransactionDetails } from \"../../TransactionDetails/LimitOrderDetails/TransactionDetails\";\nimport type { TransactionReceipt } from \"viem\";\nimport type { CancelDeltaOrdersReturn } from \"@/hooks/swap/prices/delta/mutations/useCancelDeltaOrders\";\nimport { isStandaloneTransactionItem } from \"@/transactions/utils\";\n\nexport const OrderDetailsDrawer = ({\n selectedOrder,\n setSelectedOrder,\n drawerControls,\n onDismiss: _onDismiss,\n}: {\n selectedOrder: OrderItem;\n setSelectedOrder: Dispatch<SetStateAction<OrderItem | null>>;\n drawerControls: DrawerControls;\n onDismiss?: () => void;\n}) => {\n const isLimitOrderSelected = isLimitOrderItem(selectedOrder);\n const isOtcOrderItemSelected = isOtcOrderItem(selectedOrder);\n\n const onDismiss = () => {\n _onDismiss?.();\n drawerControls.onClose();\n setSelectedOrder(null);\n };\n\n const onCancelSuccess = (\n successRes: TransactionReceipt | CancelDeltaOrdersReturn\n ) => {\n setSelectedOrder((prevOrder) => {\n if (prevOrder) {\n // LimitOrderItem CANCELLED status are updated via API polling\n // OtcOrderItem CANCELLED status is updated optimistically\n\n if (isOtcOrderItem(prevOrder) && prevOrder.state !== \"CANCELLED\")\n return { ...prevOrder, state: \"CANCELLED\" };\n\n if (\n // TransactionListItem for Swap txs is updated in store,\n // but currently selectedOrder is now stale, so update it manually.\n // Can use useFocusAtom for the selectedOrder, or useSplitAtom for all Orders together,\n // if selectedOrder needs to be reactive (all orders changed -> selectedOrder changed)\n isTransactionListItem(prevOrder) &&\n isStandaloneTransactionItem(prevOrder) &&\n \"transactionHash\" in successRes\n ) {\n return {\n ...prevOrder,\n dropped: true,\n replacementTx: {\n hash: successRes.transactionHash,\n action: \"cancel\",\n },\n };\n }\n }\n\n return prevOrder;\n });\n\n drawerControls.logger.info(\n \"Order cancelled successfully\",\n selectedOrder,\n successRes\n );\n };\n\n const onCancelError = (error: Error) => {\n drawerControls.logger.error(\n \"Order cancellation failed\",\n selectedOrder,\n error.message\n );\n };\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Order Details\"\n showGoBackButton\n >\n {isLimitOrderSelected ? (\n <LimitOrderDetails\n order={selectedOrder}\n logger={drawerControls.logger}\n onDismiss={onDismiss}\n onCancelSuccess={onCancelSuccess}\n onCancelError={onCancelError}\n />\n ) : isOtcOrderItemSelected ? (\n <OtcOrderDetails\n order={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n ) : (\n <TransactionDetails\n txItem={selectedOrder}\n onDismiss={onDismiss}\n onCancelTxSuccess={onCancelSuccess}\n onCancelTxError={onCancelError}\n />\n )}\n </ControlledDrawer>\n );\n};\n\nexport const ReviewAndConfirmDrawer = ({\n fillableOrder,\n drawerControls,\n onFlowStart,\n onDismiss,\n}: {\n fillableOrder: FillableOtcOrderItem;\n drawerControls: DrawerControls;\n onFlowStart: () => void;\n onDismiss?: () => void;\n}) => {\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Trade Overview\"\n showGoBackButton\n >\n <FillOtcReviewAndConfirm\n fillableOrder={fillableOrder}\n onFlowStart={onFlowStart}\n onDismiss={() => {\n onDismiss?.();\n drawerControls.onClose();\n }}\n />\n </ControlledDrawer>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","names":["useUserLimitOrdersQuery","DeltaOrderStatusChecker","useUserDeltaOrdersQuery","useFetchTokens","AllChainsTokenMap","prepTokenKey","useTokensByAddressAllChains","emptyArray","LONG_STALE_TIME_FOR_REACTIVENESS","gatherObjectsByProp","SupportedChainId","constructTokenFromFetchedTokenInfo","DeltaAuction","LimitOrdersApiResponse","useAccount","useChainId","defaultOrderParams","activeOrderParams","LimitOrderItem","constructLimitOrderItem","OTC_ORDERS_QUERY_PARAMS","constructOtcOrderItem","filterByActiveAndCompletedOrders","isFillableOrderItem","getNotAvailableTokens","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","sortOrdersFn","OrderItem","useState","useDrawerControls","LimitOrderStateChecker","useSwapTxHistory","useUserPendingTransactionsOnEnabledChains","useUserSwapTransactionsOnEnabledChains","constructSwapTransactionsData","useAllEnabledChains","useAllEnabledChainsWithDelta","isFilledArray","useSwapTransactionItems","t0","$","_c","selectedNetwork","tokensAllChains","address","account","enabledChains","t1","limit","t2","select","txs","filter","t3","chainId","includes","params","query","data","t4","isLoading","swapTxsHistory","undefined","localSwapTxs","t5","missingTokens","tokens","t6","fetchedTokens","map","allTokens","allChainsTokenMap","t7","useOtcOrderItems","Symbol","for","staleTime","orderParams","asMaker","asTaker","otcOrdersAsMaker","orders","otcOrdersAsTaker","activeOrdersAsMaker","completedOrdersAsMaker","otcOrderItemsAsMaker","otcOrderItemsAsTaker","order","order_0","completedOrders","activeOrders","t8","length","completedOrdersAsTaker","activeOrdersAsTaker","asMakerIsLoading","asTakerIsLoading","t9","allOrders","t10","t11","useLimitOrderItems","enabledChainsWithDelta","allOrdersIsLoading","allOrdersData","activeOrdersIsLoading","activeOrdersData","allLimitOrdersSelect","activeLimitOrdersSelect","useOrderItems","appChainId","otcOrders","limitOrders","swapTxs","allTxs","sort","activeTxs","completedTxs","orderItem","push","completed","has","status","orderItems","useUserHasActiveLimitOrders","type","useUserHasActiveMarketDeltaOrders","selectOtc","state","active","useUserHasActiveOtcOrders","hasActiveAsMaker","hasActiveAsTaker","useUserHasActivities","hasActiveLimitOrders","hasActiveOtcOrders","pendingTransactions","hasActiveMarketDeltaOrders","hasLimitOrOtcOrders","hasPendingTransactions","useActivityProps","setSelectedNetwork","selectedOrder","setSelectedOrder","drawerId","orderDetailsDrawerControls","reviewAndConfirmDrawerControls","onOpen","Error","onSelectOrder"],"sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"sourcesContent":["import { useUserLimitOrdersQuery } from \"@/hooks/otc/queries/useLimitOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useUserDeltaOrdersQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport { useFetchTokens } from \"@/hooks/tokens/data/useFetchTokens\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport {\n prepTokenKey,\n useTokensByAddressAllChains,\n} from \"@/hooks/tokens/useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { constructTokenFromFetchedTokenInfo } from \"@/tokens/constructor\";\nimport type { DeltaAuction, LimitOrdersApiResponse } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport {\n defaultOrderParams,\n activeOrderParams,\n} from \"../../LimitOrderItem/constants\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport { constructLimitOrderItem } from \"../../LimitOrderItem/utils\";\nimport { OTC_ORDERS_QUERY_PARAMS } from \"../../OtcOrderItem/constants\";\nimport {\n constructOtcOrderItem,\n filterByActiveAndCompletedOrders,\n isFillableOrderItem,\n} from \"../../OtcOrderItem/utils\";\nimport {\n getNotAvailableTokens,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n sortOrdersFn,\n type OrderItem,\n} from \"./utils\";\nimport { useState } from \"react\";\nimport { useDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport { useSwapTxHistory } from \"@/hooks/txs/queries/useTxHistory\";\nimport {\n useUserPendingTransactionsOnEnabledChains,\n useUserSwapTransactionsOnEnabledChains,\n} from \"@/transactions/state/hooks/useTransactions\";\nimport { constructSwapTransactionsData } from \"../../TransactionDetails/utils\";\nimport {\n useAllEnabledChains,\n useAllEnabledChainsWithDelta,\n} from \"@/core/state/enabledChainsAtom\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\n\nfunction useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n const enabledChains = useAllEnabledChains();\n\n const { data: swapTxsHistory = emptyArray, isLoading } = useSwapTxHistory({\n params: { account, limit: 500 },\n query: {\n select: (txs) =>\n txs.filter(({ chainId }) => enabledChains.includes(chainId)),\n },\n });\n const localSwapTxs = useUserSwapTransactionsOnEnabledChains();\n\n const missingTokens = getNotAvailableTokens(\n [...localSwapTxs, ...swapTxsHistory],\n tokensAllChains\n );\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(missingTokens);\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n return {\n ...constructSwapTransactionsData({\n swapTxsHistory,\n localSwapTxs,\n allChainsTokenMap: allTokens,\n selectedNetwork,\n }),\n isLoading,\n };\n}\n\nfunction useOtcOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId;\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const asMaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: true,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const asTaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: false,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const otcOrdersAsMaker = asMaker.data?.orders ?? emptyArray;\n const otcOrdersAsTaker = asTaker.data?.orders ?? emptyArray;\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...otcOrdersAsMaker, ...otcOrdersAsTaker],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const otcOrderItemsAsMaker = otcOrdersAsMaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n const otcOrderItemsAsTaker = otcOrdersAsTaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n\n const {\n completedOrders: completedOrdersAsMaker = emptyArray,\n activeOrders: activeOrdersAsMaker = emptyArray,\n } =\n otcOrdersAsMaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsMaker)\n : {};\n\n const {\n completedOrders: completedOrdersAsTaker = emptyArray,\n activeOrders: activeOrdersAsTaker = emptyArray,\n } =\n otcOrdersAsTaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsTaker)\n : {};\n\n const asMakerIsLoading = asMaker.isLoading;\n const asTakerIsLoading = asTaker.isLoading;\n\n return {\n asMaker: {\n allOrders: otcOrderItemsAsMaker,\n activeOrders: activeOrdersAsMaker,\n completedOrders: completedOrdersAsMaker,\n isLoading: asMakerIsLoading,\n },\n asTaker: {\n allOrders: otcOrderItemsAsTaker,\n activeOrders: activeOrdersAsTaker,\n completedOrders: completedOrdersAsTaker,\n isLoading: asTakerIsLoading,\n },\n };\n}\n\nfunction useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n\n const { data: allOrdersData = emptyArray, isLoading: allOrdersIsLoading } =\n useUserDeltaOrdersQuery({\n orderParams: {\n ...defaultOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const {\n data: activeOrdersData = emptyArray,\n isLoading: activeOrdersIsLoading,\n } = useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...allOrdersData, ...activeOrdersData],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const { allOrders, completedOrders } = allLimitOrdersSelect({\n orders: allOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const activeOrders = activeLimitOrdersSelect({\n orders: activeOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const isLoading = allOrdersIsLoading || activeOrdersIsLoading;\n\n return {\n allOrders,\n activeOrders,\n completedOrders,\n isLoading,\n };\n}\n\nexport function useOrderItems({\n selectedNetwork,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const appChainId = useChainId();\n const tokensAllChains = useTokensByAddressAllChains();\n\n const otcOrders = useOtcOrderItems({\n // @TODO add all networks support on lorders API\n selectedNetwork: selectedNetwork === \"all\" ? appChainId : selectedNetwork,\n tokensAllChains,\n });\n const limitOrders = useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n const swapTxs = useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n return {\n asMaker: {\n allOrders: [\n ...otcOrders.asMaker.allOrders,\n ...limitOrders.allOrders,\n ...swapTxs.allTxs,\n ].sort(sortOrdersFn),\n activeOrders: [\n ...otcOrders.asMaker.activeOrders,\n ...limitOrders.activeOrders,\n ...swapTxs.activeTxs,\n ].sort(sortOrdersFn),\n completedOrders: [\n ...otcOrders.asMaker.completedOrders,\n ...limitOrders.completedOrders,\n ...swapTxs.completedTxs,\n ].sort(sortOrdersFn),\n isLoading:\n otcOrders.asMaker.isLoading ||\n limitOrders.isLoading ||\n swapTxs.isLoading,\n },\n asTaker: {\n allOrders: otcOrders.asTaker.allOrders,\n activeOrders: otcOrders.asTaker.activeOrders,\n completedOrders: otcOrders.asTaker.completedOrders,\n isLoading: otcOrders.asTaker.isLoading,\n },\n };\n}\n\nconst allLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const allOrders: LimitOrderItem[] = [];\n const completedOrders: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n allOrders.push(orderItem);\n\n if (DeltaOrderStatusChecker.completed.has(order.status)) {\n completedOrders.push(orderItem);\n }\n }\n }\n\n return { allOrders, completedOrders };\n};\n\nconst activeLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const orderItems: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n orderItems.push(orderItem);\n }\n }\n\n return orderItems;\n};\n\nconst useUserHasActiveLimitOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"LIMIT\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst useUserHasActiveMarketDeltaOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"MARKET\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst selectOtc = ({ orders }: LimitOrdersApiResponse) =>\n orders.filter(({ state }) => LimitOrderStateChecker.active.has(state))\n .length > 0;\n\nconst useUserHasActiveOtcOrders = () => {\n const appChainId = useChainId();\n\n const { data: hasActiveAsMaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n // @TODO add all networks support on lorders API\n asMaker: true,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const { data: hasActiveAsTaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n // @TODO add all networks support on lorders API\n chainId: appChainId,\n asMaker: false,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n return !!(hasActiveAsMaker || hasActiveAsTaker);\n};\n\nexport const useUserHasActivities = () => {\n const hasActiveLimitOrders = useUserHasActiveLimitOrders();\n const hasActiveOtcOrders = useUserHasActiveOtcOrders();\n const pendingTransactions = useUserPendingTransactionsOnEnabledChains();\n const hasActiveMarketDeltaOrders = useUserHasActiveMarketDeltaOrders();\n\n return {\n hasLimitOrOtcOrders: hasActiveLimitOrders.data || hasActiveOtcOrders,\n hasPendingTransactions: pendingTransactions.length > 0,\n hasActiveMarketDeltaOrders: !!hasActiveMarketDeltaOrders.data,\n };\n};\n\nexport function useActivityProps() {\n const enabledChains = useAllEnabledChains();\n\n const [selectedNetwork, setSelectedNetwork] = useState<\n SupportedChainId | \"all\"\n >(enabledChains.length === 1 ? enabledChains[0] : \"all\");\n const [selectedOrder, setSelectedOrder] = useState<OrderItem | null>(null);\n\n const orderDetailsDrawerControls = useDrawerControls({\n drawerId: \"order-details\",\n });\n const reviewAndConfirmDrawerControls = useDrawerControls({\n drawerId: \"fill-order-review-and-confirm-drawer\",\n });\n\n const onSelectOrder = (order: OrderItem) => {\n setSelectedOrder(order);\n\n if (isLimitOrderItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n if (isOtcOrderItem(order)) {\n if (isFillableOrderItem(order)) {\n reviewAndConfirmDrawerControls.onOpen();\n } else {\n orderDetailsDrawerControls.onOpen();\n }\n return;\n }\n\n if (isTransactionListItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n throw new Error(\"Unsupported order item type\");\n };\n\n return {\n selectedNetwork,\n setSelectedNetwork,\n selectedOrder,\n onSelectOrder,\n setSelectedOrder,\n orderDetailsDrawerControls,\n reviewAndConfirmDrawerControls,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,SAAAwC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAiC,EAAAC,oBAAAC,uBAAAJ,GAO/B,EAAAK,SAAAC,MAA6BjC,GAAY,EACzCkC,IAAsBX,GAAqB,EAACY;AAAA,CAAAP,EAAA,OAAAK,IAGXE,IAAAP,EAAA,MAAvBO,IAAA;EAAAF;EAAAG,OAAkB;EAAK,EAAAR,EAAA,KAAAK,GAAAL,EAAA,KAAAO;CAAA,IAAAE;AAAA,CAAAT,EAAA,OAAAM,IAI9BG,IAAAT,EAAA,MAHMS,IAAA,EAAAC,SACGC,MACNA,EAAGC,QAAQC,MAAA;EAAC,IAAA,EAAAC,eAAAD;AAAW,SAAKP,EAAaS,SAAUD,EAAQ;GAAA,EAC9D,EAAAd,EAAA,KAAAM,GAAAN,EAAA,KAAAS;CAAA,IAAAI;AAAA,CAAAb,EAAA,OAAAO,KAAAP,EAAA,OAAAS,KALuEI,IAAA;EAAAG,QAChET;EAAuBU,OACxBR;EAIR,EAAAT,EAAA,KAAAO,GAAAP,EAAA,KAAAS,GAAAT,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAND,IAAA,EAAAkB,MAAAC,GAAAC,iBAAyD7B,EAAiBsB,EAMxE,EANYQ,IAAAF,MAAAG,KAAAA,IAAAzD,IAAAsD,GAOdI,IAAqB9B,GAAwC,EAAC+B;AAAA,CAAAxB,EAAA,OAAAuB,KAAAvB,EAAA,OAAAqB,KAAArB,EAAA,OAAAG,KAExCqB,IAAA1C,EACpB,CAAA,GAAIyC,GAAY,GAAKF,EAAe,EACpClB,EACD,EAAAH,EAAA,KAAAuB,GAAAvB,EAAA,KAAAqB,GAAArB,EAAA,KAAAG,GAAAH,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA;CAID,IAAA,EAAA0B,cAAmBjE,EAPG+D,EAO0B,EAACG;AAAA,CAAA3B,EAAA,QAAAuB,KAAAvB,EAAA,QAAAE,KAAAF,EAAA,QAAAqB,KAAArB,EAAA,QAAA0B,KAAA1B,EAAA,QAAAG,KAa5CwB,IAAAjC,EAA8B;EAAA2B;EAAAE;EAAAQ,mBANjB;GAAA,GALuBhE,EACvC2D,EAAMG,IAAK5D,EAAmC,EAC9CN,EACD;GAGiB,GACbwC;GACJ;EAM+BD;EAE7B,CAAC,EAAAF,EAAA,MAAAuB,GAAAvB,EAAA,MAAAE,GAAAF,EAAA,MAAAqB,GAAArB,EAAA,MAAA0B,GAAA1B,EAAA,MAAAG,GAAAH,EAAA,MAAA2B,KAAAA,IAAA3B,EAAA;CAAA,IAAAgC;AAEH,QAFGhC,EAAA,QAAAoB,KAAApB,EAAA,QAAA2B,KANGK,IAAA;EAAA,GACFL;EAKDP;EAEH,EAAApB,EAAA,MAAAoB,GAAApB,EAAA,MAAA2B,GAAA3B,EAAA,MAAAgC,KAAAA,IAAAhC,EAAA,KARMgC;;AAWT,SAAAC,EAAAlC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA0B,EAAAC,oBAAAC,uBAAAJ,GAOxB,EAAAK,SAAAC,MAA6BjC,GAAY,EAACmC;AAAA,CAAAP,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IAMjC5B,IAAA,EAAA6B,WACMtE,GACZ,EAAAkC,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAS;AAAA,CAAAT,EAAA,OAAAE,IACFO,IAAAT,EAAA,MAPuCS,IAAA;EAAA4B,aACzB3D;EAAuBoC,SAC3BZ;EAAeoC,SACf;EAAIrB,OACNV;EAGR,EAAAP,EAAA,KAAAE,GAAAF,EAAA,KAAAS;CAPD,IAAA6B,IAAgBhF,EAAwBmD,EAOtC,EAACI;AAAA,CAAAb,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IAMMtB,IAAA,EAAAuB,WACMtE,GACZ,EAAAkC,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAmB;AAAA,CAAAnB,EAAA,OAAAE,IACFiB,IAAAnB,EAAA,MAPuCmB,IAAA;EAAAkB,aACzB3D;EAAuBoC,SAC3BZ;EAAeoC,SACf;EAAKrB,OACPJ;EAGR,EAAAb,EAAA,KAAAE,GAAAF,EAAA,KAAAmB;CAPD,IAAAoB,IAAgBjF,EAAwB6D,EAOtC,EAEFqB,IAAyBF,EAAOpB,MAAauB,UAApB5E,GACzB6E,IAAyBH,EAAOrB,MAAauB,UAApB5E,GAAmC2D;AAAA,CAAAxB,EAAA,OAAAwC,KAAAxC,EAAA,OAAA0C,KAAA1C,EAAA,OAAAG,KAK1DqB,IAAA1C,EACE,CAAA,GAAI0D,GAAgB,GAAKE,EAAiB,EAC1CvC,EACD,EAAAH,EAAA,KAAAwC,GAAAxC,EAAA,KAAA0C,GAAA1C,EAAA,KAAAG,GAAAH,EAAA,KAAAwB,KAAAA,IAAAxB,EAAA;CAJH,IAAA,EAAA0B,cAAmBjE,EACjB+D,EAID,EAACmB,GAAAC,GAAAC,GAAAC,GAAAnB;AAAA,KAAA3B,EAAA,QAAAK,KAAAL,EAAA,QAAAwC,KAAAxC,EAAA,QAAA0C,KAAA1C,EAAA,QAAA0B,KAAA1B,EAAA,QAAAG,GAAA;EAOF,IAAA2B,IAAkB;GAAA,GALuB/D,EACvC2D,EAAMG,IAAK5D,EAAmC,EAC9CN,EACD;GAGiB,GACbwC;GACJ;AAKD2C,EAHAD,IAA6BL,EAAgBX,KAAKkB,MAChDpE,EAAsBoE,GAAOjB,GAAWzB,EAC1C,CAAC,EACDyC,IAA6BJ,EAAgBb,KAAKmB,MAChDrE,EAAsBoE,GAAOjB,GAAWzB,EAC1C,CAAC;EAED,IAAA,EAAA4C,iBAAAjB,GAAAkB,cAAAC,MAIEX,EAAgBY,SAAU,IACtBxE,EAAiCiE,EAC/B,GAFN,EAEM;AAQA7C,EAbW4C,IAAAZ,MAAAV,KAAAA,IAAAzD,IAAAmE,GACHW,IAAAQ,MAAA7B,KAAAA,IAAAzD,IAAAsF,GAUdxB,IAAAe,EAAgBU,SAAU,IACtBxE,EAAiCkE,EAC/B,GAFN,EAEM,EAAA9C,EAAA,MAAAK,GAAAL,EAAA,MAAAwC,GAAAxC,EAAA,MAAA0C,GAAA1C,EAAA,MAAA0B,GAAA1B,EAAA,MAAAG,GAAAH,EAAA,MAAA2C,GAAA3C,EAAA,MAAA4C,GAAA5C,EAAA,MAAA6C,GAAA7C,EAAA,MAAA8C,GAAA9C,EAAA,MAAA2B;OAAAA,CAAAgB,IAAA3C,EAAA,KAAA4C,IAAA5C,EAAA,KAAA6C,IAAA7C,EAAA,KAAA8C,IAAA9C,EAAA,KAAA2B,IAAA3B,EAAA;CANR,IAAA,EAAAiD,iBAAAjB,GAAAkB,cAAAC,MAIExB,GAHiB0B,IAAArB,MAAAV,KAAAA,IAAAzD,IAAAmE,GACHsB,IAAAH,MAAA7B,KAAAA,IAAAzD,IAAAsF,GAMhBI,IAAyBjB,EAAOlB,WAChCoC,IAAyBjB,EAAOnB,WAAWqC;AAAA,CAAAzD,EAAA,QAAA2C,KAAA3C,EAAA,QAAAuD,KAAAvD,EAAA,QAAA4C,KAAA5C,EAAA,QAAA6C,KAGhCY,IAAA;EAAAC,WACIb;EAAoBK,cACjBP;EAAmBM,iBAChBL;EAAsBxB,WAC5BmC;EACZ,EAAAvD,EAAA,MAAA2C,GAAA3C,EAAA,MAAAuD,GAAAvD,EAAA,MAAA4C,GAAA5C,EAAA,MAAA6C,GAAA7C,EAAA,MAAAyD,KAAAA,IAAAzD,EAAA;CAAA,IAAA2D;AAAA,CAAA3D,EAAA,QAAAsD,KAAAtD,EAAA,QAAAwD,KAAAxD,EAAA,QAAAqD,KAAArD,EAAA,QAAA8C,KACQa,IAAA;EAAAD,WACIZ;EAAoBI,cACjBI;EAAmBL,iBAChBI;EAAsBjC,WAC5BoC;EACZ,EAAAxD,EAAA,MAAAsD,GAAAtD,EAAA,MAAAwD,GAAAxD,EAAA,MAAAqD,GAAArD,EAAA,MAAA8C,GAAA9C,EAAA,MAAA2D,KAAAA,IAAA3D,EAAA;CAAA,IAAA4D;AACF,QADE5D,EAAA,QAAA2D,KAAA3D,EAAA,QAAAyD,KAZIG,IAAA;EAAAtB,SACImB;EAKRlB,SACQoB;EAMV,EAAA3D,EAAA,MAAA2D,GAAA3D,EAAA,MAAAyD,GAAAzD,EAAA,MAAA4D,KAAAA,IAAA5D,EAAA,KAbM4D;;AAgBT,SAAAC,EAAA9D,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA4B,EAAAC,oBAAAC,uBAAAJ,GAO1B+D,IAA+BlE,GAA8B,EAACW;AAAA,CAAAP,EAAA,OAAA8D,IAOzDvD,IAAAP,EAAA,MAHYO,IAAA;EAAA,GACRjC;EAAkBwC,SACZgD;EACV,EAAA9D,EAAA,KAAA8D,GAAA9D,EAAA,KAAAO;CAAA,IAAAE;AAAA,CAAAT,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IACM1B,IAAA,EAAA2B,WAAatE,GAAkC,EAAAkC,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,OAAAO,IACvDM,IAAAb,EAAA,MANuBa,IAAA;EAAAwB,aACT9B;EAGZU,OACMR;EACR,EAAAT,EAAA,KAAAO,GAAAP,EAAA,KAAAa;CAPH,IAAA,EAAAK,MAAAC,GAAAC,WAAA2C,MACEvG,EAAwBqD,EAMtB,EAPUmD,IAAA7C,MAAAG,KAAAA,IAAAzD,IAAAsD,GAA0BK;AAAA,CAAAxB,EAAA,OAAA8D,IAgBrCtC,IAAAxB,EAAA,MAHYwB,IAAA;EAAA,GACRjD;EAAiBuC,SACXgD;EACV,EAAA9D,EAAA,KAAA8D,GAAA9D,EAAA,KAAAwB;CAAA,IAAAG;AAAA,CAAA3B,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IACMR,IAAA,EAAAS,WAAatE,GAAkC,EAAAkC,EAAA,KAAA2B,KAAAA,IAAA3B,EAAA;CAAA,IAAAgC;AAAA,CAAAhC,EAAA,OAAAwB,IACvDQ,IAAAhC,EAAA,MAN2BgC,IAAA;EAAAK,aACbb;EAGZP,OACMU;EACR,EAAA3B,EAAA,KAAAwB,GAAAxB,EAAA,KAAAgC;CATD,IAAA,EAAAd,MAAAiC,GAAA/B,WAAA6C,MAGIzG,EAAwBwE,EAM1B,EARMkC,IAAAf,MAAA7B,KAAAA,IAAAzD,IAAAsF,GAA6BM;AAAA,CAAAzD,EAAA,QAAAkE,KAAAlE,EAAA,QAAAgE,KAAAhE,EAAA,QAAAG,KAanCsD,IAAA3E,EACE,CAAA,GAAIkF,GAAa,GAAKE,EAAiB,EACvC/D,EACD,EAAAH,EAAA,MAAAkE,GAAAlE,EAAA,MAAAgE,GAAAhE,EAAA,MAAAG,GAAAH,EAAA,MAAAyD,KAAAA,IAAAzD,EAAA;CAJH,IAAA,EAAA0B,cAAmBjE,EACjBgG,EAID,EAACC,GAAAT,GAAAU;AAAA,KAAA3D,EAAA,QAAAkE,KAAAlE,EAAA,QAAAgE,KAAAhE,EAAA,QAAAE,KAAAF,EAAA,QAAA0B,KAAA1B,EAAA,QAAAG,GAAA;EAOF,IAAA2B,IAAkB;GAAA,GALuB/D,EACvC2D,EAAMG,IAAK5D,EAAmC,EAC9CN,EACD;GAGiB,GACbwC;GACJ;AAYCH,GAVF,qCAAuCmE,EAAqB;GAAA1B,QAClDuB;GAAa9D;GAAAwB,QAEbI;GACT,CAAC,GAEmB6B,IAAAS,EAAwB;GAAA3B,QACnCyB;GAAgBhE;GAAAwB,QAEhBI;GACT,CAAC,EAAA9B,EAAA,MAAAkE,GAAAlE,EAAA,MAAAgE,GAAAhE,EAAA,MAAAE,GAAAF,EAAA,MAAA0B,GAAA1B,EAAA,MAAAG,GAAAH,EAAA,MAAA0D,GAAA1D,EAAA,MAAAiD,GAAAjD,EAAA,MAAA2D;OAAAA,CAAAD,IAAA1D,EAAA,KAAAiD,IAAAjD,EAAA,KAAA2D,IAAA3D,EAAA;CAJF,IAAAkD,IAAqBS,GAMrBvC,IAAkB2C,KAAAE,GAA4CL;AAO7D,QAP6D5D,EAAA,QAAAkD,KAAAlD,EAAA,QAAA0D,KAAA1D,EAAA,QAAAiD,KAAAjD,EAAA,QAAAoB,KAEvDwC,IAAA;EAAAF;EAAAR;EAAAD;EAAA7B;EAKN,EAAApB,EAAA,MAAAkD,GAAAlD,EAAA,MAAA0D,GAAA1D,EAAA,MAAAiD,GAAAjD,EAAA,MAAAoB,GAAApB,EAAA,MAAA4D,KAAAA,IAAA5D,EAAA,KALM4D;;AAQT,SAAOS,EAAAtE,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAuB,EAAAC,uBAAAH,GAK5BuE,IAAmBjG,GAAY,EAC/B8B,IAAwBvC,GAA6B,EAIlC2C,IAAAL,MAAoB,QAApBoE,IAAApE,GAAwDO;AAAA,CAAAT,EAAA,OAAAO,KAAAP,EAAA,OAAAG,KAFxCM,IAAA;EAAAP,iBAEhBK;EAAwDJ;EAE1E,EAAAH,EAAA,KAAAO,GAAAP,EAAA,KAAAG,GAAAH,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAJD,IAAAuE,IAAkBtC,EAAiBxB,EAIjC,EAACI;AAAA,CAAAb,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KACoCU,IAAA;EAAAX;EAAAC;EAGtC,EAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAHD,IAAAwE,IAAoBX,EAAmBhD,EAGrC,EAACM;AAAA,CAAAnB,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAEqCgB,IAAA;EAAAjB;EAAAC;EAGvC,EAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAmB,KAAAA,IAAAnB,EAAA;CAHD,IAAAyE,IAAgB3E,EAAwBqB,EAGtC,EAACK;AAAA,CAAAxB,EAAA,OAAAwE,EAAAd,aAAA1D,EAAA,QAAAuE,EAAAjC,QAAAoB,aAAA1D,EAAA,QAAAyE,EAAAC,UAIYlD,IAAA;EAAA,GACN+C,EAASjC,QAAQoB;EAAU,GAC3Bc,EAAWd;EAAU,GACrBe,EAAOC;EACX,CAAAC,KAAMzF,EAAa,EAAAc,EAAA,KAAAwE,EAAAd,WAAA1D,EAAA,MAAAuE,EAAAjC,QAAAoB,WAAA1D,EAAA,MAAAyE,EAAAC,QAAA1E,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA;CAAA,IAAA2B;AAAA,CAAA3B,EAAA,QAAAwE,EAAAtB,gBAAAlD,EAAA,QAAAuE,EAAAjC,QAAAY,gBAAAlD,EAAA,QAAAyE,EAAAG,aACNjD,IAAA;EAAA,GACT4C,EAASjC,QAAQY;EAAa,GAC9BsB,EAAWtB;EAAa,GACxBuB,EAAOG;EACX,CAAAD,KAAMzF,EAAa,EAAAc,EAAA,MAAAwE,EAAAtB,cAAAlD,EAAA,MAAAuE,EAAAjC,QAAAY,cAAAlD,EAAA,MAAAyE,EAAAG,WAAA5E,EAAA,MAAA2B,KAAAA,IAAA3B,EAAA;CAAA,IAAAgC;AAAA,CAAAhC,EAAA,QAAAwE,EAAAvB,mBAAAjD,EAAA,QAAAuE,EAAAjC,QAAAW,mBAAAjD,EAAA,QAAAyE,EAAAI,gBACH7C,IAAA;EAAA,GACZuC,EAASjC,QAAQW;EAAgB,GACjCuB,EAAWvB;EAAgB,GAC3BwB,EAAOI;EACX,CAAAF,KAAMzF,EAAa,EAAAc,EAAA,MAAAwE,EAAAvB,iBAAAjD,EAAA,MAAAuE,EAAAjC,QAAAW,iBAAAjD,EAAA,MAAAyE,EAAAI,cAAA7E,EAAA,MAAAgC,KAAAA,IAAAhC,EAAA;CAElB,IAAAmD,IAAAoB,EAASjC,QAAQlB,aACjBoD,EAAWpD,aACXqD,EAAOrD,WAAUqC;AAAA,CAAAzD,EAAA,QAAAwB,KAAAxB,EAAA,QAAA2B,KAAA3B,EAAA,QAAAgC,KAAAhC,EAAA,QAAAmD,KAnBZM,IAAA;EAAAC,WACIlC;EAIS0B,cACNvB;EAIMsB,iBACHjB;EAIGZ,WAElB+B;EAGH,EAAAnD,EAAA,MAAAwB,GAAAxB,EAAA,MAAA2B,GAAA3B,EAAA,MAAAgC,GAAAhC,EAAA,MAAAmD,GAAAnD,EAAA,MAAAyD,KAAAA,IAAAzD,EAAA;CAAA,IAAA2D;AAAA,CAAA3D,EAAA,QAAAuE,EAAAhC,QAAAW,gBAAAlD,EAAA,QAAAuE,EAAAhC,QAAAmB,aAAA1D,EAAA,QAAAuE,EAAAhC,QAAAU,mBAAAjD,EAAA,QAAAuE,EAAAhC,QAAAnB,aACQuC,IAAA;EAAAD,WACIa,EAAShC,QAAQmB;EAAUR,cACxBqB,EAAShC,QAAQW;EAAaD,iBAC3BsB,EAAShC,QAAQU;EAAgB7B,WACvCmD,EAAShC,QAAQnB;EAC7B,EAAApB,EAAA,MAAAuE,EAAAhC,QAAAW,cAAAlD,EAAA,MAAAuE,EAAAhC,QAAAmB,WAAA1D,EAAA,MAAAuE,EAAAhC,QAAAU,iBAAAjD,EAAA,MAAAuE,EAAAhC,QAAAnB,WAAApB,EAAA,MAAA2D,KAAAA,IAAA3D,EAAA;CAAA,IAAA4D;AACF,QADE5D,EAAA,QAAA2D,KAAA3D,EAAA,QAAAyD,KA3BIG,IAAA;EAAAtB,SACImB;EAoBRlB,SACQoB;EAMV,EAAA3D,EAAA,MAAA2D,GAAA3D,EAAA,MAAAyD,GAAAzD,EAAA,MAAA4D,KAAAA,IAAA5D,EAAA,KA5BM4D;;AA+BT,IAAMO,KAAwB,EAC5B1B,WACAvC,oBACAwB,gBAKI;CACJ,IAAMgC,IAA8B,EAAE,EAChCT,IAAoC,EAAE;AAE5C,MAAK,IAAMF,KAASN,EAClB,KAAIvC,MAAoB,SAAS6C,EAAMjC,YAAYZ,GAAiB;EAClE,IAAM4E,IAAYrG,EAAwBsE,GAAOrB,EAAO;AAGxD,EAFAgC,EAAUqB,KAAKD,EAAU,EAErBvH,EAAwByH,UAAUC,IAAIlC,EAAMmC,OAAO,IACrDjC,EAAgB8B,KAAKD,EAAU;;AAKrC,QAAO;EAAEpB;EAAWT;EAAiB;GAGjCmB,KAA2B,EAC/B3B,WACAvC,oBACAwB,gBAKI;CACJ,IAAMyD,IAA+B,EAAE;AAEvC,MAAK,IAAMpC,KAASN,EAClB,KAAIvC,MAAoB,SAAS6C,EAAMjC,YAAYZ,GAAiB;EAClE,IAAM4E,IAAYrG,EAAwBsE,GAAOrB,EAAO;AACxDyD,IAAWJ,KAAKD,EAAU;;AAI9B,QAAOK;GAGHC,UAA8B;CAAA,IAAApF,IAAAC,EAAA,EAAA,EAClC6D,IAA+BlE,GAA8B,EAACG;AAAA,CAAAC,EAAA,OAAA8D,IAM3D/D,IAAAC,EAAA,MAJYD,IAAA;EAAA,GACRxB;EAAiB8G,MACd;EAAOvE,SACJgD;EACV,EAAA9D,EAAA,KAAA8D,GAAA9D,EAAA,KAAAD;CAAA,IAAAQ;AAAA,CAAAP,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IACM5B,IAAA;EAAAG,QACGb;EAAauC,WACVtE;EACZ,EAAAkC,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAS;AACF,QADET,EAAA,OAAAD,IACFU,IAAAT,EAAA,MAV8BS,IAAA;EAAA4B,aAChBtC;EAIZkB,OACMV;EAIR,EAAAP,EAAA,KAAAD,GAAAC,EAAA,KAAAS,IAVMjD,EAAwBiD,EAU7B;GAGE6E,UAAoC;CAAA,IAAAtF,IAAAC,EAAA,EAAA,EACxC6D,IAA+BlE,GAA8B,EAACG;AAAA,CAAAC,EAAA,OAAA8D,IAM3D/D,IAAAC,EAAA,MAJYD,IAAA;EAAA,GACRxB;EAAiB8G,MACd;EAAQvE,SACLgD;EACV,EAAA9D,EAAA,KAAA8D,GAAA9D,EAAA,KAAAD;CAAA,IAAAQ;AAAA,CAAAP,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IACM5B,IAAA;EAAAG,QACGb;EAAauC,WACVtE;EACZ,EAAAkC,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAS;AACF,QADET,EAAA,OAAAD,IACFU,IAAAT,EAAA,MAV8BS,IAAA;EAAA4B,aAChBtC;EAIZkB,OACMV;EAIR,EAAAP,EAAA,KAAAD,GAAAC,EAAA,KAAAS,IAVMjD,EAAwBiD,EAU7B;GAGE8E,KAAa,EAAE9C,gBACnBA,EAAO7B,QAAQ,EAAE4E,eAAYlG,EAAuBmG,OAAOR,IAAIO,EAAM,CAAC,CACnEpC,SAAS,GAERsC,UAA4B;CAAA,IAAA1F,IAAAC,EAAA,EAAA,EAChCqE,IAAmBjG,GAAY,EAAC0B;AAAA,CAAAC,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IAOvBpC,IAAA;EAAAW,QACG6E;EAASnD,WACNtE;EACZ,EAAAkC,EAAA,KAAAD,KAAAA,IAAAC,EAAA;CAAA,IAAAO;AAAA,CAAAP,EAAA,OAAAsE,IACF/D,IAAAP,EAAA,MAT0DO,IAAA;EAAA8B,aAC5C3D;EAAuBoC,SAC3BwD;EAAUhC,SAEV;EAAIrB,OACNlB;EAIR,EAAAC,EAAA,KAAAsE,GAAAtE,EAAA,KAAAO;CATD,IAAA,EAAAW,MAAAyE,MAAmCrI,EAAwBiD,EASzD,EAACE;AAAA,CAAAT,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IAMM1B,IAAA;EAAAC,QACG6E;EAASnD,WACNtE;EACZ,EAAAkC,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,OAAAsE,IACFzD,IAAAb,EAAA,MAT0Da,IAAA;EAAAwB,aAC5C3D;EAAuBoC,SAE3BwD;EAAUhC,SACV;EAAKrB,OACPR;EAIR,EAAAT,EAAA,KAAAsE,GAAAtE,EAAA,KAAAa;CATD,IAAA,EAAAK,MAAA0E,MAAmCtI,EAAwBuD,EASzD;AAAC,QAEI,CAAC,EAAE8E,KAAAC;GAGCC,UAAuB;CAAA,IAAA7F,IAAAC,EAAA,EAAA,EAClC6F,IAA6BV,GAA6B,EAC1DW,IAA2BL,GAA2B,EACtDM,IAA4BxG,GAA2C,EACvEyG,IAAmCX,GAAmC,EAG/CvF,IAAA+F,EAAoB5E,QAApB6E,GACGxF,IAAAyF,EAAmB5C,SAAU,GACzB3C,IAAA,CAAC,CAACwF,EAA0B/E,MAAKL;AAC9D,QAD8Db,EAAA,OAAAD,KAAAC,EAAA,OAAAO,KAAAP,EAAA,OAAAS,KAHxDI,IAAA;EAAAqF,qBACgBnG;EAA+CoG,wBAC5C5F;EAA8B0F,4BAC1BxF;EAC7B,EAAAT,EAAA,KAAAD,GAAAC,EAAA,KAAAO,GAAAP,EAAA,KAAAS,GAAAT,EAAA,KAAAa,KAAAA,IAAAb,EAAA,IAJMa;;AAOT,SAAOuF,IAAA;CAAA,IAAApG,IAAAC,EAAA,GAAA,EACLK,IAAsBX,GAAqB,EAE3C,CAAAO,GAAAmG,KAA8CjH,EAE5CkB,EAAa8C,WAAY,IAAI9C,EAAa,KAA1C,MAAsD,EACxD,CAAAgG,GAAAC,KAA0CnH,EAA2B,KAAK,EAACW;AAAA,CAAAC,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IAEtBpC,IAAA,EAAAyG,UACzC,iBACX,EAAAxG,EAAA,KAAAD,KAAAA,IAAAC,EAAA;CAFD,IAAAyG,IAAmCpH,EAAkBU,EAEnD,EAACQ;AAAA,CAAAP,EAAA,OAAAkC,OAAAC,IAAA,4BAAA,IACsD5B,IAAA,EAAAiG,UAC7C,wCACX,EAAAxG,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAFD,IAAA0G,IAAuCrH,EAAkBkB,EAEvD,EAACE;AAAA,CAAAT,EAAA,OAAAyG,KAAAzG,EAAA,OAAA0G,KAEmBjG,KAAAsC,MAAA;AAGpB,MAFAwD,EAAiBxD,EAAM,EAEnBhE,EAAiBgE,EAAM,EAAA;AACzB0D,KAA0BE,QAAS;AAAA;;AAIrC,MAAI3H,EAAe+D,EAAM,EAAA;AACvB,GAAIlE,EAAoBkE,EAAM,GAC5B2D,EAA8BC,QAAS,GAEvCF,EAA0BE,QAAS;AACpC;;AAIH,MAAI1H,EAAsB8D,EAAM,EAAA;AAC9B0D,KAA0BE,QAAS;AAAA;;AAIrC,QAAUC,MAAM,8BAA8B;IAC/C5G,EAAA,KAAAyG,GAAAzG,EAAA,KAAA0G,GAAA1G,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAvBD,IAAA6G,IAAsBpG,GAuBpBI;AAUD,QAVCb,EAAA,OAAA6G,KAAA7G,EAAA,OAAAyG,KAAAzG,EAAA,OAAA0G,KAAA1G,EAAA,OAAAE,KAAAF,EAAA,OAAAsG,KAEKzF,IAAA;EAAAX;EAAAmG;EAAAC;EAAAO;EAAAN;EAAAE;EAAAC;EAQN,EAAA1G,EAAA,KAAA6G,GAAA7G,EAAA,KAAAyG,GAAAzG,EAAA,KAAA0G,GAAA1G,EAAA,KAAAE,GAAAF,EAAA,KAAAsG,GAAAtG,EAAA,MAAAa,KAAAA,IAAAb,EAAA,KARMa"}
1
+ {"version":3,"file":"hooks.js","names":["useUserLimitOrdersQuery","DeltaOrderStatusChecker","useUserDeltaOrdersQuery","useFetchTokens","AllChainsTokenMap","prepTokenKey","useTokensByAddressAllChains","emptyArray","LONG_STALE_TIME_FOR_REACTIVENESS","gatherObjectsByProp","SupportedChainId","constructTokenFromFetchedTokenInfo","DeltaAuction","LimitOrdersApiResponse","useAccount","useChainId","defaultOrderParams","activeOrderParams","LimitOrderItem","constructLimitOrderItem","OTC_ORDERS_QUERY_PARAMS","constructOtcOrderItem","filterByActiveAndCompletedOrders","isFillableOrderItem","getNotAvailableTokens","isLimitOrderItem","isOtcOrderItem","isTransactionListItem","sortOrdersFn","OrderItem","useState","useDrawerControls","LimitOrderStateChecker","useSwapTxHistory","useUserPendingTransactionsOnEnabledChains","useUserSwapTransactionsOnEnabledChains","constructSwapTransactionsData","useAllEnabledChains","useAllEnabledChainsWithDelta","isFilledArray","useSwapTransactionItems","t0","$","_c","selectedNetwork","tokensAllChains","address","account","enabledChains","t1","limit","t2","select","txs","filter","t3","chainId","includes","params","query","data","t4","isLoading","swapTxsHistory","undefined","localSwapTxs","t5","missingTokens","tokens","t6","fetchedTokens","map","allTokens","allChainsTokenMap","t7","useOtcOrderItems","Symbol","for","staleTime","orderParams","asMaker","asTaker","otcOrdersAsMaker","orders","otcOrdersAsTaker","activeOrdersAsMaker","completedOrdersAsMaker","otcOrderItemsAsMaker","otcOrderItemsAsTaker","order","order_0","completedOrders","activeOrders","t8","length","completedOrdersAsTaker","activeOrdersAsTaker","asMakerIsLoading","asTakerIsLoading","t9","allOrders","t10","t11","useLimitOrderItems","enabledChainsWithDelta","allOrdersIsLoading","allOrdersData","activeOrdersIsLoading","activeOrdersData","allLimitOrdersSelect","activeLimitOrdersSelect","useOrderItems","appChainId","otcOrders","limitOrders","swapTxs","allTxs","sort","activeTxs","completedTxs","orderItem","push","completed","has","status","orderItems","useUserHasActiveLimitOrders","type","useUserHasActiveMarketDeltaOrders","selectOtc","state","active","useUserHasActiveOtcOrders","hasActiveAsMaker","hasActiveAsTaker","useUserHasActivities","hasActiveLimitOrders","hasActiveOtcOrders","pendingTransactions","hasActiveMarketDeltaOrders","hasLimitOrOtcOrders","hasPendingTransactions","useActivityProps","setSelectedNetwork","selectedOrder","setSelectedOrder","drawerId","orderDetailsDrawerControls","reviewAndConfirmDrawerControls","onOpen","Error","onSelectOrder"],"sources":["../../../../../src/components/widget/AppHeader/Activities/hooks.ts"],"sourcesContent":["import { useUserLimitOrdersQuery } from \"@/hooks/otc/queries/useLimitOrders\";\nimport { DeltaOrderStatusChecker } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useUserDeltaOrdersQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport { useFetchTokens } from \"@/hooks/tokens/data/useFetchTokens\";\nimport type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport {\n prepTokenKey,\n useTokensByAddressAllChains,\n} from \"@/hooks/tokens/useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { LONG_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { constructTokenFromFetchedTokenInfo } from \"@/tokens/constructor\";\nimport type { DeltaAuction, LimitOrdersApiResponse } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport {\n defaultOrderParams,\n activeOrderParams,\n} from \"../../LimitOrderItem/constants\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport { constructLimitOrderItem } from \"../../LimitOrderItem/utils\";\nimport { OTC_ORDERS_QUERY_PARAMS } from \"../../OtcOrderItem/constants\";\nimport {\n constructOtcOrderItem,\n filterByActiveAndCompletedOrders,\n isFillableOrderItem,\n} from \"../../OtcOrderItem/utils\";\nimport {\n getNotAvailableTokens,\n isLimitOrderItem,\n isOtcOrderItem,\n isTransactionListItem,\n sortOrdersFn,\n type OrderItem,\n} from \"./utils\";\nimport { useState } from \"react\";\nimport { useDrawerControls } from \"../../Drawer/state/useDrawerControls\";\nimport { LimitOrderStateChecker } from \"@/hooks/otc/queries/utils\";\nimport { useSwapTxHistory } from \"@/hooks/txs/queries/useTxHistory\";\nimport {\n useUserPendingTransactionsOnEnabledChains,\n useUserSwapTransactionsOnEnabledChains,\n} from \"@/transactions/state/hooks/useTransactions\";\nimport { constructSwapTransactionsData } from \"../../TransactionDetails/utils\";\nimport {\n useAllEnabledChains,\n useAllEnabledChainsWithDelta,\n} from \"@/core/state/enabledChainsAtom\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\n\nfunction useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n const enabledChains = useAllEnabledChains();\n\n const { data: swapTxsHistory = emptyArray, isLoading } = useSwapTxHistory({\n params: { account, limit: 500 },\n query: {\n select: (txs) =>\n txs.filter(({ chainId }) => enabledChains.includes(chainId)),\n },\n });\n const localSwapTxs = useUserSwapTransactionsOnEnabledChains();\n\n const missingTokens = getNotAvailableTokens(\n [...localSwapTxs, ...swapTxsHistory],\n tokensAllChains\n );\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(missingTokens);\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n return {\n ...constructSwapTransactionsData({\n swapTxsHistory,\n localSwapTxs,\n allChainsTokenMap: allTokens,\n selectedNetwork,\n }),\n isLoading,\n };\n}\n\nfunction useOtcOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId;\n tokensAllChains: AllChainsTokenMap;\n}) {\n const { address: account } = useAccount();\n\n const asMaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: true,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const asTaker = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: selectedNetwork,\n asMaker: false,\n query: {\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n const otcOrdersAsMaker = asMaker.data?.orders ?? emptyArray;\n const otcOrdersAsTaker = asTaker.data?.orders ?? emptyArray;\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...otcOrdersAsMaker, ...otcOrdersAsTaker],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const otcOrderItemsAsMaker = otcOrdersAsMaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n const otcOrderItemsAsTaker = otcOrdersAsTaker.map((order) =>\n constructOtcOrderItem(order, allTokens, account)\n );\n\n const {\n completedOrders: completedOrdersAsMaker = emptyArray,\n activeOrders: activeOrdersAsMaker = emptyArray,\n } =\n otcOrdersAsMaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsMaker)\n : {};\n\n const {\n completedOrders: completedOrdersAsTaker = emptyArray,\n activeOrders: activeOrdersAsTaker = emptyArray,\n } =\n otcOrdersAsTaker.length > 0\n ? filterByActiveAndCompletedOrders(otcOrderItemsAsTaker)\n : {};\n\n const asMakerIsLoading = asMaker.isLoading;\n const asTakerIsLoading = asTaker.isLoading;\n\n return {\n asMaker: {\n allOrders: otcOrderItemsAsMaker,\n activeOrders: activeOrdersAsMaker,\n completedOrders: completedOrdersAsMaker,\n isLoading: asMakerIsLoading,\n },\n asTaker: {\n allOrders: otcOrderItemsAsTaker,\n activeOrders: activeOrdersAsTaker,\n completedOrders: completedOrdersAsTaker,\n isLoading: asTakerIsLoading,\n },\n };\n}\n\nfunction useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n tokensAllChains: AllChainsTokenMap;\n}) {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n\n const { data: allOrdersData = emptyArray, isLoading: allOrdersIsLoading } =\n useUserDeltaOrdersQuery({\n orderParams: {\n ...defaultOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const {\n data: activeOrdersData = emptyArray,\n isLoading: activeOrdersIsLoading,\n } = useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n chainId: enabledChainsWithDelta,\n },\n query: { staleTime: LONG_STALE_TIME_FOR_REACTIVENESS },\n });\n\n // useFetchTokens can fetch tokens on chains where it's not needed\n // @TODO rewrite this to fetch missing tokens in components where needed (OrderDetails, TransactionDetails, etc)\n const { tokens } = useFetchTokens(\n getNotAvailableTokens(\n [...allOrdersData, ...activeOrdersData],\n tokensAllChains\n )\n );\n\n const fetchedTokens: AllChainsTokenMap = gatherObjectsByProp(\n tokens.map(constructTokenFromFetchedTokenInfo),\n prepTokenKey\n );\n\n const allTokens = {\n ...fetchedTokens,\n ...tokensAllChains,\n };\n\n const { allOrders, completedOrders } = allLimitOrdersSelect({\n orders: allOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const activeOrders = activeLimitOrdersSelect({\n orders: activeOrdersData,\n selectedNetwork,\n tokens: allTokens,\n });\n\n const isLoading = allOrdersIsLoading || activeOrdersIsLoading;\n\n return {\n allOrders,\n activeOrders,\n completedOrders,\n isLoading,\n };\n}\n\nexport function useOrderItems({\n selectedNetwork,\n}: {\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const appChainId = useChainId();\n const tokensAllChains = useTokensByAddressAllChains();\n\n const otcOrders = useOtcOrderItems({\n // @TODO add all networks support on lorders API\n selectedNetwork: selectedNetwork === \"all\" ? appChainId : selectedNetwork,\n tokensAllChains,\n });\n const limitOrders = useLimitOrderItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n const swapTxs = useSwapTransactionItems({\n selectedNetwork,\n tokensAllChains,\n });\n\n return {\n asMaker: {\n allOrders: [\n ...otcOrders.asMaker.allOrders,\n ...limitOrders.allOrders,\n ...swapTxs.allTxs,\n ].sort(sortOrdersFn),\n activeOrders: [\n ...otcOrders.asMaker.activeOrders,\n ...limitOrders.activeOrders,\n ...swapTxs.activeTxs,\n ].sort(sortOrdersFn),\n completedOrders: [\n ...otcOrders.asMaker.completedOrders,\n ...limitOrders.completedOrders,\n ...swapTxs.completedTxs,\n ].sort(sortOrdersFn),\n isLoading:\n otcOrders.asMaker.isLoading ||\n limitOrders.isLoading ||\n swapTxs.isLoading,\n },\n asTaker: {\n allOrders: otcOrders.asTaker.allOrders,\n activeOrders: otcOrders.asTaker.activeOrders,\n completedOrders: otcOrders.asTaker.completedOrders,\n isLoading: otcOrders.asTaker.isLoading,\n },\n };\n}\n\nconst allLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const allOrders: LimitOrderItem[] = [];\n const completedOrders: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n allOrders.push(orderItem);\n\n if (DeltaOrderStatusChecker.completed.has(order.status)) {\n completedOrders.push(orderItem);\n }\n }\n }\n\n return { allOrders, completedOrders };\n};\n\nconst activeLimitOrdersSelect = ({\n orders,\n selectedNetwork,\n tokens,\n}: {\n orders: DeltaAuction[];\n selectedNetwork: SupportedChainId | \"all\";\n tokens: AllChainsTokenMap;\n}) => {\n const orderItems: LimitOrderItem[] = [];\n\n for (const order of orders) {\n if (selectedNetwork === \"all\" || order.chainId === selectedNetwork) {\n const orderItem = constructLimitOrderItem(order, tokens);\n orderItems.push(orderItem);\n }\n }\n\n return orderItems;\n};\n\nconst useUserHasActiveLimitOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"LIMIT\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst useUserHasActiveMarketDeltaOrders = () => {\n const enabledChainsWithDelta = useAllEnabledChainsWithDelta();\n return useUserDeltaOrdersQuery({\n orderParams: {\n ...activeOrderParams,\n type: \"MARKET\",\n chainId: enabledChainsWithDelta,\n },\n query: {\n select: isFilledArray,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n};\n\nconst selectOtc = ({ orders }: LimitOrdersApiResponse) =>\n orders.filter(({ state }) => LimitOrderStateChecker.active.has(state))\n .length > 0;\n\nconst useUserHasActiveOtcOrders = () => {\n const appChainId = useChainId();\n\n const { data: hasActiveAsMaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n chainId: appChainId,\n // @TODO add all networks support on lorders API\n asMaker: true,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const { data: hasActiveAsTaker } = useUserLimitOrdersQuery({\n orderParams: OTC_ORDERS_QUERY_PARAMS,\n // @TODO add all networks support on lorders API\n chainId: appChainId,\n asMaker: false,\n query: {\n select: selectOtc,\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n\n return !!(hasActiveAsMaker || hasActiveAsTaker);\n};\n\nexport const useUserHasActivities = () => {\n const hasActiveLimitOrders = useUserHasActiveLimitOrders();\n const hasActiveOtcOrders = useUserHasActiveOtcOrders();\n const pendingTransactions = useUserPendingTransactionsOnEnabledChains();\n const hasActiveMarketDeltaOrders = useUserHasActiveMarketDeltaOrders();\n\n return {\n hasLimitOrOtcOrders: hasActiveLimitOrders.data || hasActiveOtcOrders,\n hasPendingTransactions: pendingTransactions.length > 0,\n hasActiveMarketDeltaOrders: !!hasActiveMarketDeltaOrders.data,\n };\n};\n\nexport function useActivityProps() {\n const enabledChains = useAllEnabledChains();\n\n const [selectedNetwork, setSelectedNetwork] = useState<\n SupportedChainId | \"all\"\n >(enabledChains.length === 1 ? enabledChains[0] : \"all\");\n const [selectedOrder, setSelectedOrder] = useState<OrderItem | null>(null);\n\n const orderDetailsDrawerControls = useDrawerControls({\n drawerId: \"order-details\",\n });\n const reviewAndConfirmDrawerControls = useDrawerControls({\n drawerId: \"fill-order-review-and-confirm-drawer\",\n });\n\n const onSelectOrder = (order: OrderItem) => {\n setSelectedOrder(order);\n\n if (isLimitOrderItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n if (isOtcOrderItem(order)) {\n if (isFillableOrderItem(order)) {\n reviewAndConfirmDrawerControls.onOpen();\n } else {\n orderDetailsDrawerControls.onOpen();\n }\n return;\n }\n\n if (isTransactionListItem(order)) {\n orderDetailsDrawerControls.onOpen();\n return;\n }\n\n throw new Error(\"Unsupported order item type\");\n };\n\n return {\n selectedNetwork,\n setSelectedNetwork,\n selectedOrder,\n onSelectOrder,\n setSelectedOrder,\n orderDetailsDrawerControls,\n reviewAndConfirmDrawerControls,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["AllChainsTokenMap","LimitOrderItem","OtcOrderItem","Address","Prettify","SupportedChainId","prepTokenKey","isSupportedChainId","getAuctionDestChainId","getOrderTokenAddresses","DeltaAuction","LimitOrderFromApi","TransactionListItem","TransactionItemSwap","OrderItem","RawOrderItem","isOtcOrderItem","item","itemType","isLimitOrderItem","isTransactionListItem","OrderComparisonData","Pick","sortOrdersFn","a","b","itemAComparisonValue","createdAt","timestamp","itemBComparisonValue","undefined","Date","getTime","getTokenAddresses","srcToken","makerAsset","destToken","takerAsset","order","transactionSpecificData","srcTokenAddress","destTokenAddress","getNotAvailableTokens","orderItems","tokenMap","addresses","chainIds","Set","forEach","srcChainId","chainId","destChainId","srcTokenKey","address","network","add","destTokenKey","Array","from"],"sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport type { OtcOrderItem } from \"../../OtcOrderItem/types\";\nimport type { Address, Prettify } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n getAuctionDestChainId,\n getOrderTokenAddresses,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { DeltaAuction, LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type { TransactionListItem } from \"../../TransactionDetails/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\n\nexport type OrderItem = OtcOrderItem | LimitOrderItem | TransactionListItem;\nexport type RawOrderItem =\n | LimitOrderFromApi\n | DeltaAuction\n | TransactionItemSwap;\n\nexport function isOtcOrderItem(item: OrderItem): item is OtcOrderItem {\n return item.itemType === \"otc-order\";\n}\n\nexport function isLimitOrderItem(item: OrderItem): item is LimitOrderItem {\n return item.itemType === \"limit-order\";\n}\nexport function isTransactionListItem(\n item: OrderItem\n): item is TransactionListItem {\n return item.itemType === \"transaction\";\n}\n\ntype OrderComparisonData = Prettify<\n | Pick<DeltaAuction | LimitOrderFromApi, \"createdAt\">\n | Pick<TransactionItemSwap, \"timestamp\">\n>;\n\nexport function sortOrdersFn(a: OrderComparisonData, b: OrderComparisonData) {\n const itemAComparisonValue = \"createdAt\" in a ? a.createdAt : a.timestamp;\n const itemBComparisonValue = \"createdAt\" in b ? b.createdAt : b.timestamp;\n\n if (\n itemAComparisonValue === undefined ||\n itemBComparisonValue === undefined\n ) {\n return 0;\n }\n\n return (\n new Date(itemBComparisonValue).getTime() -\n new Date(itemAComparisonValue).getTime()\n );\n}\n\nfunction getTokenAddresses(item: RawOrderItem) {\n if (\"makerAsset\" in item)\n return {\n srcToken: item.makerAsset,\n destToken: item.takerAsset,\n };\n\n if (\"order\" in item) return getOrderTokenAddresses(item.order);\n\n return {\n srcToken: item.transactionSpecificData.srcTokenAddress,\n destToken: item.transactionSpecificData.destTokenAddress,\n };\n}\n\nexport function getNotAvailableTokens(\n orderItems: RawOrderItem[],\n tokenMap: AllChainsTokenMap\n): {\n addresses: Address[];\n chainIds: SupportedChainId[];\n} {\n const addresses = new Set<Address>();\n const chainIds = new Set<SupportedChainId>();\n\n orderItems.forEach((item) => {\n const { srcToken, destToken } = getTokenAddresses(item);\n // item.order indicates it's a DeltaAuction\n const order = \"order\" in item ? item.order : undefined;\n\n const srcChainId = item.chainId;\n const destChainId = order\n ? getAuctionDestChainId({ order, chainId: item.chainId })\n : item.chainId;\n\n if (isSupportedChainId(srcChainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcToken,\n network: srcChainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(srcToken as Address);\n chainIds.add(srcChainId);\n }\n }\n\n if (isSupportedChainId(destChainId)) {\n const destTokenKey = prepTokenKey({\n address: destToken,\n network: destChainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(destToken as Address);\n chainIds.add(destChainId);\n }\n }\n });\n\n return {\n addresses: Array.from(addresses),\n chainIds: Array.from(chainIds),\n };\n}\n"],"mappings":";;;;AAqBA,SAAgBgB,EAAeC,GAAuC;AACpE,QAAOA,EAAKC,aAAa;;AAG3B,SAAgBC,EAAiBF,GAAyC;AACxE,QAAOA,EAAKC,aAAa;;AAE3B,SAAgBE,EACdH,GAC6B;AAC7B,QAAOA,EAAKC,aAAa;;AAQ3B,SAAgBK,EAAaC,GAAwBC,GAAwB;CAC3E,IAAMC,IAAuB,eAAeF,IAAIA,EAAEG,YAAYH,EAAEI,WAC1DC,IAAuB,eAAeJ,IAAIA,EAAEE,YAAYF,EAAEG;AAShE,QANEF,MAAyBI,KAAAA,KACzBD,MAAyBC,KAAAA,IAElB,IAIP,IAAIC,KAAKF,EAAqB,CAACG,SAAS,GACxC,IAAID,KAAKL,EAAqB,CAACM,SAAS;;AAI5C,SAASC,EAAkBhB,GAAoB;AAS7C,QARI,gBAAgBA,IACX;EACLiB,UAAUjB,EAAKkB;EACfC,WAAWnB,EAAKoB;EACjB,GAEC,WAAWpB,IAAaR,EAAuBQ,EAAKqB,MAAM,GAEvD;EACLJ,UAAUjB,EAAKsB,wBAAwBC;EACvCJ,WAAWnB,EAAKsB,wBAAwBE;EACzC;;AAGH,SAAgBC,EACdC,GACAC,GAIA;CACA,IAAMC,oBAAY,IAAIE,KAAc,EAC9BD,oBAAW,IAAIC,KAAuB;AAqC5C,QAnCAJ,EAAWK,SAAS/B,MAAS;EAC3B,IAAM,EAAEiB,aAAUE,iBAAcH,EAAkBhB,EAAK,EAEjDqB,IAAQ,WAAWrB,IAAOA,EAAKqB,QAAQR,KAAAA,GAEvCmB,IAAahC,EAAKiC,SAClBC,IAAcb,IAChB9B,EAAsB;GAAE8B;GAAOY,SAASjC,EAAKiC;GAAS,CAAC,GACvDjC,EAAKiC;AAcT,EAZI3C,EAAmB0C,EAAW,KAM3BL,EALetC,EAAa;GAC/B+C,SAASnB;GACToB,SAASL;GACV,CAAC,MAGAJ,EAAUU,IAAIrB,EAAoB,EAClCY,EAASS,IAAIN,EAAW,IAIxB1C,EAAmB4C,EAAY,KAM5BP,EALgBtC,EAAa;GAChC+C,SAASjB;GACTkB,SAASH;GACV,CAAC,MAGAN,EAAUU,IAAInB,EAAqB,EACnCU,EAASS,IAAIJ,EAAY;GAG7B,EAEK;EACLN,WAAWY,MAAMC,KAAKb,EAAU;EAChCC,UAAUW,MAAMC,KAAKZ,EAAQ;EAC9B"}
1
+ {"version":3,"file":"utils.js","names":["AllChainsTokenMap","LimitOrderItem","OtcOrderItem","Address","Prettify","SupportedChainId","prepTokenKey","isSupportedChainId","getAuctionDestChainId","getOrderTokenAddresses","DeltaAuction","LimitOrderFromApi","TransactionListItem","TransactionItemSwap","OrderItem","RawOrderItem","isOtcOrderItem","item","itemType","isLimitOrderItem","isTransactionListItem","OrderComparisonData","Pick","sortOrdersFn","a","b","itemAComparisonValue","createdAt","timestamp","itemBComparisonValue","undefined","Date","getTime","getTokenAddresses","srcToken","makerAsset","destToken","takerAsset","order","transactionSpecificData","srcTokenAddress","destTokenAddress","getNotAvailableTokens","orderItems","tokenMap","addresses","chainIds","Set","forEach","srcChainId","chainId","destChainId","srcTokenKey","address","network","add","destTokenKey","Array","from"],"sources":["../../../../../src/components/widget/AppHeader/Activities/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport type { LimitOrderItem } from \"../../LimitOrderItem/types\";\nimport type { OtcOrderItem } from \"../../OtcOrderItem/types\";\nimport type { Address, Prettify } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n getAuctionDestChainId,\n getOrderTokenAddresses,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport type { DeltaAuction, LimitOrderFromApi } from \"@velora-dex/sdk\";\nimport type { TransactionListItem } from \"../../TransactionDetails/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\n\nexport type OrderItem = OtcOrderItem | LimitOrderItem | TransactionListItem;\nexport type RawOrderItem =\n | LimitOrderFromApi\n | DeltaAuction\n | TransactionItemSwap;\n\nexport function isOtcOrderItem(item: OrderItem): item is OtcOrderItem {\n return item.itemType === \"otc-order\";\n}\n\nexport function isLimitOrderItem(item: OrderItem): item is LimitOrderItem {\n return item.itemType === \"limit-order\";\n}\nexport function isTransactionListItem(\n item: OrderItem\n): item is TransactionListItem {\n return item.itemType === \"transaction\";\n}\n\ntype OrderComparisonData = Prettify<\n | Pick<DeltaAuction | LimitOrderFromApi, \"createdAt\">\n | Pick<TransactionItemSwap, \"timestamp\">\n>;\n\nexport function sortOrdersFn(a: OrderComparisonData, b: OrderComparisonData) {\n const itemAComparisonValue = \"createdAt\" in a ? a.createdAt : a.timestamp;\n const itemBComparisonValue = \"createdAt\" in b ? b.createdAt : b.timestamp;\n\n if (\n itemAComparisonValue === undefined ||\n itemBComparisonValue === undefined\n ) {\n return 0;\n }\n\n return (\n new Date(itemBComparisonValue).getTime() -\n new Date(itemAComparisonValue).getTime()\n );\n}\n\nfunction getTokenAddresses(item: RawOrderItem) {\n if (\"makerAsset\" in item)\n return {\n srcToken: item.makerAsset,\n destToken: item.takerAsset,\n };\n\n if (\"order\" in item) return getOrderTokenAddresses(item.order);\n\n return {\n srcToken: item.transactionSpecificData.srcTokenAddress,\n destToken: item.transactionSpecificData.destTokenAddress,\n };\n}\n\nexport function getNotAvailableTokens(\n orderItems: RawOrderItem[],\n tokenMap: AllChainsTokenMap\n): {\n addresses: Address[];\n chainIds: SupportedChainId[];\n} {\n const addresses = new Set<Address>();\n const chainIds = new Set<SupportedChainId>();\n\n orderItems.forEach((item) => {\n const { srcToken, destToken } = getTokenAddresses(item);\n // item.order indicates it's a DeltaAuction\n const order = \"order\" in item ? item.order : undefined;\n\n const srcChainId = item.chainId;\n const destChainId = order\n ? getAuctionDestChainId({ order, chainId: item.chainId })\n : item.chainId;\n\n if (isSupportedChainId(srcChainId)) {\n const srcTokenKey = prepTokenKey({\n address: srcToken,\n network: srcChainId,\n });\n\n if (!tokenMap[srcTokenKey]) {\n addresses.add(srcToken as Address);\n chainIds.add(srcChainId);\n }\n }\n\n if (isSupportedChainId(destChainId)) {\n const destTokenKey = prepTokenKey({\n address: destToken,\n network: destChainId,\n });\n\n if (!tokenMap[destTokenKey]) {\n addresses.add(destToken as Address);\n chainIds.add(destChainId);\n }\n }\n });\n\n return {\n addresses: Array.from(addresses),\n chainIds: Array.from(chainIds),\n };\n}\n"],"mappings":";;;;AAqBA,SAAgBgB,EAAeC,GAAuC;CACpE,OAAOA,EAAKC,aAAa;;AAG3B,SAAgBC,EAAiBF,GAAyC;CACxE,OAAOA,EAAKC,aAAa;;AAE3B,SAAgBE,EACdH,GAC6B;CAC7B,OAAOA,EAAKC,aAAa;;AAQ3B,SAAgBK,EAAaC,GAAwBC,GAAwB;CAC3E,IAAMC,IAAuB,eAAeF,IAAIA,EAAEG,YAAYH,EAAEI,WAC1DC,IAAuB,eAAeJ,IAAIA,EAAEE,YAAYF,EAAEG;CAShE,OANEF,MAAyBI,KAAAA,KACzBD,MAAyBC,KAAAA,IAElB,IAIP,IAAIC,KAAKF,EAAqB,CAACG,SAAS,GACxC,IAAID,KAAKL,EAAqB,CAACM,SAAS;;AAI5C,SAASC,EAAkBhB,GAAoB;CAS7C,OARI,gBAAgBA,IACX;EACLiB,UAAUjB,EAAKkB;EACfC,WAAWnB,EAAKoB;EACjB,GAEC,WAAWpB,IAAaR,EAAuBQ,EAAKqB,MAAM,GAEvD;EACLJ,UAAUjB,EAAKsB,wBAAwBC;EACvCJ,WAAWnB,EAAKsB,wBAAwBE;EACzC;;AAGH,SAAgBC,EACdC,GACAC,GAIA;CACA,IAAMC,oBAAY,IAAIE,KAAc,EAC9BD,oBAAW,IAAIC,KAAuB;CAqC5C,OAnCAJ,EAAWK,SAAS/B,MAAS;EAC3B,IAAM,EAAEiB,aAAUE,iBAAcH,EAAkBhB,EAAK,EAEjDqB,IAAQ,WAAWrB,IAAOA,EAAKqB,QAAQR,KAAAA,GAEvCmB,IAAahC,EAAKiC,SAClBC,IAAcb,IAChB9B,EAAsB;GAAE8B;GAAOY,SAASjC,EAAKiC;GAAS,CAAC,GACvDjC,EAAKiC;EAcT,AAZI3C,EAAmB0C,EAAW,KAM3BL,EALetC,EAAa;GAC/B+C,SAASnB;GACToB,SAASL;GACV,CAEaG,MACZP,EAAUU,IAAIrB,EAAoB,EAClCY,EAASS,IAAIN,EAAW,IAIxB1C,EAAmB4C,EAAY,KAM5BP,EALgBtC,EAAa;GAChC+C,SAASjB;GACTkB,SAASH;GACV,CAEaK,MACZX,EAAUU,IAAInB,EAAqB,EACnCU,EAASS,IAAIJ,EAAY;GAG7B,EAEK;EACLN,WAAWY,MAAMC,KAAKb,EAAU;EAChCC,UAAUW,MAAMC,KAAKZ,EAAQ;EAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityButton.js","names":["ReactComponent","ReceiptSVG","EllipseIcon","useUserHasActivities","useSetScreen","LoaderCircle","excludeUIAtom","useAtomValue","ActivityButton","$","_c","showActivitiesScreen","excludeUI","hasLimitOrOtcOrders","hasActiveMarketDeltaOrders","hasPendingTransactions","t0","includes","showLoader","showEllipseIcon","t1","t2","Symbol","for","t3","t4","t5","t6","t7"],"sources":["../../../../src/components/widget/AppHeader/ActivityButton.tsx"],"sourcesContent":["import { ReactComponent as ReceiptSVG } from \"@/assets/receipt.svg\";\nimport { EllipseIcon } from \"../Icon/EllipseIcon\";\n\nimport { useUserHasActivities } from \"./Activities/hooks\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const ActivityButton = () => {\n const { showActivitiesScreen } = useSetScreen();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const {\n hasLimitOrOtcOrders,\n hasActiveMarketDeltaOrders,\n hasPendingTransactions,\n } = useUserHasActivities();\n\n const showLoader =\n excludeUI.includes(\"snackbars\") &&\n (hasPendingTransactions || hasActiveMarketDeltaOrders);\n const showEllipseIcon = hasLimitOrOtcOrders || showLoader;\n\n return (\n <div\n className=\"group flex items-center justify-center hover:bg-contrast-8 dark:hover:bg-contrast-1 rounded-full p-1.5 cursor-pointer transition-colors duration-200\"\n onClick={() => {\n showActivitiesScreen();\n }}\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"relative\">\n <ReceiptSVG className=\"fill-contrast-1 dark:fill-contrast-5 dark:group-hover:fill-contrast-7 size-5 transition-colors\" />\n {showEllipseIcon && (\n <EllipseIcon className=\"absolute top-[-1px] right-[-1px] stroke-contrast-9 dark:stroke-contrast-3\" />\n )}\n </div>\n {showLoader && (\n <LoaderCircle\n size={16}\n className=\"animate-spin direction-reverse stroke-secondary-orange-peel-1\"\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AASA,IAAaQ,UAAiB;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAC5B,EAAAC,4BAAiCP,GAAc,EAC/CQ,IAAkBL,EAAaD,EAAc,EAE7C,EAAAO,wBAAAC,+BAAAC,8BAIIZ,GAAsB,EAACa;AAAA,CAAAP,EAAA,OAAAG,KAAAH,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAGzBC,IAAAJ,EAASK,SAAU,YACmC,KAArDF,KAAAD,IAAqDL,EAAA,KAAAG,GAAAH,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAFxD,IAAAS,IACEF,GAEFG,IAAwBN,KAAAK,GAAkCE;AAAA,CAAAX,EAAA,OAAAE,IAOrDS,IAAAX,EAAA,MAFQW,UAAA;AACPT,KAAsB;IACvBF,EAAA,KAAAE,GAAAF,EAAA,KAAAW;CAAA,IAAAC;AAAA,CAAAZ,EAAA,OAAAa,OAAAC,IAAA,4BAAA,IAIGF,IAAA,kBAAC,GAAD,EAAsB,WAAA,kGAAmG,CAAA,EAAAZ,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAe;AAAA,CAAAf,EAAA,OAAAU,IAGxHK,IAAAf,EAAA,MAFAe,IAAAL,KACC,kBAAC,GAAD,EAAuB,WAAA,6EACxB,CAAA,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAe;CAAA,IAAAC;AAAA,CAAAhB,EAAA,OAAAe,IACGC,IAAAhB,EAAA,OALNgB,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEJ,GACCG,EAGG;KAAAf,EAAA,KAAAe,GAAAf,EAAA,MAAAgB;CAAA,IAAAC;AAAA,CAAAjB,EAAA,QAAAS,IAMLQ,IAAAjB,EAAA,OALAiB,IAAAR,KACC,kBAAC,GAAD;EACQ,MAAA;EACI,WAAA;EAEb,CAAA,EAAAT,EAAA,MAAAS,GAAAT,EAAA,MAAAiB;CAAA,IAAAC;AAAA,CAAAlB,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAZHC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEF,GAMCC,EAMG;KAAAjB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAAA,IAAAmB;AACF,QADEnB,EAAA,QAAAW,KAAAX,EAAA,QAAAkB,KAnBRC,IAAA,kBAAA,OAAA;EACY,WAAA;EACD,SAAAR;YAITO;EAcI,CAAA,EAAAlB,EAAA,MAAAW,GAAAX,EAAA,MAAAkB,GAAAlB,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KApBNmB"}
1
+ {"version":3,"file":"ActivityButton.js","names":["ReactComponent","ReceiptSVG","EllipseIcon","useUserHasActivities","useSetScreen","LoaderCircle","excludeUIAtom","useAtomValue","ActivityButton","$","_c","showActivitiesScreen","excludeUI","hasLimitOrOtcOrders","hasActiveMarketDeltaOrders","hasPendingTransactions","t0","includes","showLoader","showEllipseIcon","t1","t2","Symbol","for","t3","t4","t5","t6","t7"],"sources":["../../../../src/components/widget/AppHeader/ActivityButton.tsx"],"sourcesContent":["import { ReactComponent as ReceiptSVG } from \"@/assets/receipt.svg\";\nimport { EllipseIcon } from \"../Icon/EllipseIcon\";\n\nimport { useUserHasActivities } from \"./Activities/hooks\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { LoaderCircle } from \"lucide-react\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const ActivityButton = () => {\n const { showActivitiesScreen } = useSetScreen();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const {\n hasLimitOrOtcOrders,\n hasActiveMarketDeltaOrders,\n hasPendingTransactions,\n } = useUserHasActivities();\n\n const showLoader =\n excludeUI.includes(\"snackbars\") &&\n (hasPendingTransactions || hasActiveMarketDeltaOrders);\n const showEllipseIcon = hasLimitOrOtcOrders || showLoader;\n\n return (\n <div\n className=\"group flex items-center justify-center hover:bg-contrast-8 dark:hover:bg-contrast-1 rounded-full p-1.5 cursor-pointer transition-colors duration-200\"\n onClick={() => {\n showActivitiesScreen();\n }}\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"relative\">\n <ReceiptSVG className=\"fill-contrast-1 dark:fill-contrast-5 dark:group-hover:fill-contrast-7 size-5 transition-colors\" />\n {showEllipseIcon && (\n <EllipseIcon className=\"absolute top-[-1px] right-[-1px] stroke-contrast-9 dark:stroke-contrast-3\" />\n )}\n </div>\n {showLoader && (\n <LoaderCircle\n size={16}\n className=\"animate-spin direction-reverse stroke-secondary-orange-peel-1\"\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AASA,IAAaQ,UAAiB;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAC5B,EAAAC,4BAAiCP,GAAc,EAC/CQ,IAAkBL,EAAaD,EAAc,EAE7C,EAAAO,wBAAAC,+BAAAC,8BAIIZ,GAAsB,EAACa;CAAA,AAAAP,EAAA,OAAAG,KAAAH,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAGzBC,IAAAJ,EAASK,SAAU,YACmC,KAArDF,KAAAD,IAAqDL,EAAA,KAAAG,GAAAH,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAFxD,IAAAS,IACEF,GAEFG,IAAwBN,KAAAK,GAAkCE;CAAA,AAAAX,EAAA,OAAAE,IAOrDS,IAAAX,EAAA,MAFQW,UAAA;EACPT,GAAsB;IACvBF,EAAA,KAAAE,GAAAF,EAAA,KAAAW;CAAA,IAAAC;CAAA,AAAAZ,EAAA,OAAAa,OAAAC,IAAA,4BAAA,IAIGF,IAAA,kBAAC,GAAD,EAAsB,WAAA,kGAAmG,CAAA,EAAAZ,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAe;CAAA,AAAAf,EAAA,OAAAU,IAGxHK,IAAAf,EAAA,MAFAe,IAAAL,KACC,kBAAC,GAAD,EAAuB,WAAA,6EACxB,CAAA,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAe;CAAA,IAAAC;CAAA,AAAAhB,EAAA,OAAAe,IACGC,IAAAhB,EAAA,OALNgB,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEJ,GACCG,EAGG;KAAAf,EAAA,KAAAe,GAAAf,EAAA,MAAAgB;CAAA,IAAAC;CAAA,AAAAjB,EAAA,QAAAS,IAMLQ,IAAAjB,EAAA,OALAiB,IAAAR,KACC,kBAAC,GAAD;EACQ,MAAA;EACI,WAAA;EAEb,CAAA,EAAAT,EAAA,MAAAS,GAAAT,EAAA,MAAAiB;CAAA,IAAAC;CAAA,AAAAlB,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAZHC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEF,GAMCC,EAMG;KAAAjB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAAA,IAAAmB;CACF,OADEnB,EAAA,QAAAW,KAAAX,EAAA,QAAAkB,KAnBRC,IAAA,kBAAA,OAAA;EACY,WAAA;EACD,SAAAR;YAITO;EAcI,CAAA,EAAAlB,EAAA,MAAAW,GAAAX,EAAA,MAAAkB,GAAAlB,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KApBNmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.js","names":["useState","WithClasses","cn","useDrawerControls","ControlledDrawer","TradeParameters","useIsNotDefaultAnyParameter","AccountButton","ActivityButton","TradeModeSwitcher","useAccount","useAtomValue","excludeUIAtom","SettingsButton","useResetDraftBridgePreferences","useResetDraftPreferencesState","resetDraftBridgePreferences","AppHeader","t0","$","_c","classes","address","account","resetDraftPreferencesState","showDegenConfirmation","setShowDegenConfirmation","t1","drawerId","onOpen","t2","drawerProps","isNotDefaultAnyParameter","excludeUI","t3","includes","excludeWalletManagement","t4","excludeActivities","showWalletButton","showActivityButton","tradeModeSwitcherAsDropdown","t5","handleOpen","t6","t7","t8","Symbol","for","t9","onClose","t10","drawer","t11","root","t12","t13","t14","t15","t16","t17","t18"],"sources":["../../../../src/components/widget/AppHeader/AppHeader.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { cn } from \"@/lib/utils\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { TradeParameters } from \"../TradeParameters/TradeParameters\";\nimport { useIsNotDefaultAnyParameter } from \"../TradeParameters/hooks/useIsNotDefaultAnyParameter\";\nimport { AccountButton } from \"@/components/web3/AccountButton\";\nimport { ActivityButton } from \"./ActivityButton\";\nimport { TradeModeSwitcher } from \"./TradeModeSwitcher\";\nimport { useAccount } from \"wagmi\";\nimport { useAtomValue } from \"@/core/store\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { SettingsButton } from \"../SettingsButton/SettingsButton\";\nimport { useResetDraftBridgePreferences } from \"../TradeParameters/state/bridgePreferences/useBridgePreferences\";\n\nfunction useResetDraftPreferencesState() {\n const resetDraftBridgePreferences = useResetDraftBridgePreferences();\n\n return resetDraftBridgePreferences;\n}\n\nexport const AppHeader = ({ classes }: WithClasses<\"root\">) => {\n const { address: account } = useAccount();\n\n const resetDraftPreferencesState = useResetDraftPreferencesState();\n const [showDegenConfirmation, setShowDegenConfirmation] = useState(false);\n\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"trade-parameters-drawer\",\n onOpen: resetDraftPreferencesState,\n });\n const isNotDefaultAnyParameter = useIsNotDefaultAnyParameter();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const excludeWalletManagement = excludeUI.includes(\"wallet-management\");\n const excludeActivities = excludeUI.includes(\"activities\");\n\n const showWalletButton = !excludeWalletManagement;\n const showActivityButton = !!account && !excludeActivities;\n\n // If wallet management is excluded, we have more space in the header, so we can show the trade mode switcher as a row instead of a dropdown\n // If wallet management is included, we show the trade mode switcher as a dropdown to save space\n // Need to revisit this when adding another trade mode\n const tradeModeSwitcherAsDropdown = showWalletButton;\n\n const handleOpen = () => {\n setShowDegenConfirmation(false);\n onOpen();\n };\n\n const drawer = (\n <ControlledDrawer\n {...drawerProps}\n title={\n showDegenConfirmation ? \"Activate Degen Mode\" : \"Trading Parameters\"\n }\n showCloseButton={!showDegenConfirmation}\n showGoBackButton={showDegenConfirmation}\n onGoBack={() => setShowDegenConfirmation(false)}\n >\n <TradeParameters\n onCloseDrawer={drawerProps.onClose}\n onOpenDrawer={handleOpen}\n showDegenConfirmation={showDegenConfirmation}\n setShowDegenConfirmation={setShowDegenConfirmation}\n />\n </ControlledDrawer>\n );\n\n return (\n <div\n className={cn(\"flex items-center justify-between gap-2\", classes?.root)}\n >\n <TradeModeSwitcher asDropdown={tradeModeSwitcherAsDropdown} />\n <div className=\"flex items-center gap-2\">\n {showWalletButton && <AccountButton />}\n {showActivityButton && <ActivityButton />}\n <SettingsButton\n onClick={handleOpen}\n showEllipseIcon={isNotDefaultAnyParameter}\n />\n </div>\n {drawer}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"AppHeader.js","names":["useState","WithClasses","cn","useDrawerControls","ControlledDrawer","TradeParameters","useIsNotDefaultAnyParameter","AccountButton","ActivityButton","TradeModeSwitcher","useAccount","useAtomValue","excludeUIAtom","SettingsButton","useResetDraftBridgePreferences","useResetDraftPreferencesState","resetDraftBridgePreferences","AppHeader","t0","$","_c","classes","address","account","resetDraftPreferencesState","showDegenConfirmation","setShowDegenConfirmation","t1","drawerId","onOpen","t2","drawerProps","isNotDefaultAnyParameter","excludeUI","t3","includes","excludeWalletManagement","t4","excludeActivities","showWalletButton","showActivityButton","tradeModeSwitcherAsDropdown","t5","handleOpen","t6","t7","t8","Symbol","for","t9","onClose","t10","drawer","t11","root","t12","t13","t14","t15","t16","t17","t18"],"sources":["../../../../src/components/widget/AppHeader/AppHeader.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { cn } from \"@/lib/utils\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { TradeParameters } from \"../TradeParameters/TradeParameters\";\nimport { useIsNotDefaultAnyParameter } from \"../TradeParameters/hooks/useIsNotDefaultAnyParameter\";\nimport { AccountButton } from \"@/components/web3/AccountButton\";\nimport { ActivityButton } from \"./ActivityButton\";\nimport { TradeModeSwitcher } from \"./TradeModeSwitcher\";\nimport { useAccount } from \"wagmi\";\nimport { useAtomValue } from \"@/core/store\";\nimport { excludeUIAtom } from \"@/core/state/configAtom\";\nimport { SettingsButton } from \"../SettingsButton/SettingsButton\";\nimport { useResetDraftBridgePreferences } from \"../TradeParameters/state/bridgePreferences/useBridgePreferences\";\n\nfunction useResetDraftPreferencesState() {\n const resetDraftBridgePreferences = useResetDraftBridgePreferences();\n\n return resetDraftBridgePreferences;\n}\n\nexport const AppHeader = ({ classes }: WithClasses<\"root\">) => {\n const { address: account } = useAccount();\n\n const resetDraftPreferencesState = useResetDraftPreferencesState();\n const [showDegenConfirmation, setShowDegenConfirmation] = useState(false);\n\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"trade-parameters-drawer\",\n onOpen: resetDraftPreferencesState,\n });\n const isNotDefaultAnyParameter = useIsNotDefaultAnyParameter();\n const excludeUI = useAtomValue(excludeUIAtom);\n\n const excludeWalletManagement = excludeUI.includes(\"wallet-management\");\n const excludeActivities = excludeUI.includes(\"activities\");\n\n const showWalletButton = !excludeWalletManagement;\n const showActivityButton = !!account && !excludeActivities;\n\n // If wallet management is excluded, we have more space in the header, so we can show the trade mode switcher as a row instead of a dropdown\n // If wallet management is included, we show the trade mode switcher as a dropdown to save space\n // Need to revisit this when adding another trade mode\n const tradeModeSwitcherAsDropdown = showWalletButton;\n\n const handleOpen = () => {\n setShowDegenConfirmation(false);\n onOpen();\n };\n\n const drawer = (\n <ControlledDrawer\n {...drawerProps}\n title={\n showDegenConfirmation ? \"Activate Degen Mode\" : \"Trading Parameters\"\n }\n showCloseButton={!showDegenConfirmation}\n showGoBackButton={showDegenConfirmation}\n onGoBack={() => setShowDegenConfirmation(false)}\n >\n <TradeParameters\n onCloseDrawer={drawerProps.onClose}\n onOpenDrawer={handleOpen}\n showDegenConfirmation={showDegenConfirmation}\n setShowDegenConfirmation={setShowDegenConfirmation}\n />\n </ControlledDrawer>\n );\n\n return (\n <div\n className={cn(\"flex items-center justify-between gap-2\", classes?.root)}\n >\n <TradeModeSwitcher asDropdown={tradeModeSwitcherAsDropdown} />\n <div className=\"flex items-center gap-2\">\n {showWalletButton && <AccountButton />}\n {showActivityButton && <ActivityButton />}\n <SettingsButton\n onClick={handleOpen}\n showEllipseIcon={isNotDefaultAnyParameter}\n />\n </div>\n {drawer}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,SAAAe,IAAA;CACuE,OAAjCD,GAE7BE;;AAGT,IAAaC,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,eAAAH,GACxB,EAAAI,SAAAC,MAA6Bb,GAAY,EAEzCc,IAAmCT,GAA+B,EAClE,CAAAU,GAAAC,KAA0D1B,EAAS,GAAM,EAAC2B;CAAA,AAAAR,EAAA,OAAAK,IAKzEG,IAAAR,EAAA,MAHoDQ,IAAA;EAAAC,UACzC;EAAyBC,QAC3BL;EACT,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAQ;CAHkC,IAAAG,IAAA3B,EAAkBwB,EAGnD,EAAAI,GAAAF;CAAA,AAAAV,EAAA,OAAAW,KAACC,IAAAZ,EAAA,IAAAU,IAAAV,EAAA,OAHH,eAAAY,KAAmCD,GAGhCX,EAAA,KAAAW,GAAAX,EAAA,KAAAY,GAAAZ,EAAA,KAAAU;CACH,IAAAG,IAAiC1B,GAA6B,EAC9D2B,IAAkBtB,EAAaC,EAAc,EAACsB;CAAA,AAAAf,EAAA,OAAAc,IAEyBC,IAAAf,EAAA,MAAvCe,IAAAD,EAASE,SAAU,oBAAoB,EAAAhB,EAAA,KAAAc,GAAAd,EAAA,KAAAe;CAAvE,IAAAE,IAAgCF,GAAwCG;CAAA,AAAAlB,EAAA,OAAAc,IACdI,IAAAlB,EAAA,MAAhCkB,IAAAJ,EAASE,SAAU,aAAa,EAAAhB,EAAA,KAAAc,GAAAd,EAAA,KAAAkB;CAA1D,IAAAC,IAA0BD,GAE1BE,IAAyB,CAACH,GAC1BI,IAA2B,CAAC,CAACjB,KAAF,CAAce,GAKzCG,IAAoCF,GAAiBG;CAAA,AAAAvB,EAAA,OAAAU,IAKpDa,IAAAvB,EAAA,OAHkBuB,UAAA;EAEjBb,AADAH,EAAyB,GAAM,EAC/BG,GAAQ;IACTV,EAAA,KAAAU,GAAAV,EAAA,MAAAuB;CAHD,IAAAC,IAAmBD,GASbE,IAAAnB,IAAA,wBAAA,sBAEeoB,IAAA,CAACpB,GAAqBqB;CAAA,AAAA3B,EAAA,QAAA4B,OAAAC,IAAA,4BAAA,IAE7BF,UAAMpB,EAAyB,GAAM,EAAAP,EAAA,MAAA2B,KAAAA,IAAA3B,EAAA;CAAA,IAAA8B;CAAA,AAAA9B,EAAA,QAAAY,EAAAmB,WAAA/B,EAAA,QAAAwB,KAAAxB,EAAA,QAAAM,KAE/CwB,IAAA,kBAAC,GAAD;EACiB,eAAAlB,EAAWmB;EACZP,cAAAA;EACSlB;EACGC;EAC1B,CAAA,EAAAP,EAAA,MAAAY,EAAAmB,SAAA/B,EAAA,MAAAwB,GAAAxB,EAAA,MAAAM,GAAAN,EAAA,MAAA8B,KAAAA,IAAA9B,EAAA;CAAA,IAAAgC;CAAA,AAAAhC,EAAA,QAAAY,KAAAZ,EAAA,QAAAM,KAAAN,EAAA,QAAAyB,KAAAzB,EAAA,QAAA0B,KAAA1B,EAAA,QAAA8B,KAdJE,IAAA,kBAAC,GAAD;EAAiB,GACXpB;EAEF,OAAAa;EAEe,iBAAAC;EACCpB,kBAAAA;EACR,UAAAqB;YAEVG;EAMiB,CAAA,EAAA9B,EAAA,MAAAY,GAAAZ,EAAA,MAAAM,GAAAN,EAAA,MAAAyB,GAAAzB,EAAA,MAAA0B,GAAA1B,EAAA,MAAA8B,GAAA9B,EAAA,MAAAgC,KAAAA,IAAAhC,EAAA;CAhBrB,IAAAiC,IACED,GAoB2DE,IAAAhC,GAAOiC,MAAMC;CAAA,AAAApC,EAAA,QAAAkC,IAACE,IAAApC,EAAA,OAA5DoC,IAAArD,EAAG,2CAA2CmD,EAAc,EAAAlC,EAAA,MAAAkC,GAAAlC,EAAA,MAAAoC;CAAA,IAAAC;CAAA,AAAArC,EAAA,QAAAsB,IAETe,IAAArC,EAAA,OAA9DqC,IAAA,kBAAC,GAAD,EAA+Bf,YAAAA,GAA+B,CAAA,EAAAtB,EAAA,MAAAsB,GAAAtB,EAAA,MAAAqC;CAAA,IAAAC;CAAA,AAAAtC,EAAA,QAAAoB,IAEtBkB,IAAAtC,EAAA,OAArCsC,IAAAlB,KAAoB,kBAAC,GAAD,EAAiB,CAAA,EAAApB,EAAA,MAAAoB,GAAApB,EAAA,MAAAsC;CAAA,IAAAC;CAAA,AAAAvC,EAAA,QAAAqB,IACGkB,IAAAvC,EAAA,OAAxCuC,IAAAlB,KAAsB,kBAAC,GAAD,EAAkB,CAAA,EAAArB,EAAA,MAAAqB,GAAArB,EAAA,MAAAuC;CAAA,IAAAC;CAAA,AAAAxC,EAAA,QAAAwB,KAAAxB,EAAA,QAAAa,KACzC2B,IAAA,kBAAC,GAAD;EACWhB,SAAAA;EACQX,iBAAAA;EACjB,CAAA,EAAAb,EAAA,MAAAwB,GAAAxB,EAAA,MAAAa,GAAAb,EAAA,MAAAwC,KAAAA,IAAAxC,EAAA;CAAA,IAAAyC;CAAA,AAAAzC,EAAA,QAAAsC,KAAAtC,EAAA,QAAAuC,KAAAvC,EAAA,QAAAwC,KANJC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf;GACGH;GACAC;GACDC;GAII;KAAAxC,EAAA,MAAAsC,GAAAtC,EAAA,MAAAuC,GAAAvC,EAAA,MAAAwC,GAAAxC,EAAA,MAAAyC,KAAAA,IAAAzC,EAAA;CAAA,IAAA0C;CAEF,OAFE1C,EAAA,QAAAiC,KAAAjC,EAAA,QAAAoC,KAAApC,EAAA,QAAAqC,KAAArC,EAAA,QAAAyC,KAXRC,IAAA,kBAAA,OAAA;EACa,WAAAN;YADb;GAGEC;GACAI;GAQCR;GACG;KAAAjC,EAAA,MAAAiC,GAAAjC,EAAA,MAAAoC,GAAApC,EAAA,MAAAqC,GAAArC,EAAA,MAAAyC,GAAAzC,EAAA,MAAA0C,KAAAA,IAAA1C,EAAA,KAbN0C"}
@@ -1 +1 @@
1
- {"version":3,"file":"TradeModeSwitcher.js","names":["tradeModeAtom","userTradeModeAtom","TradeMode","useAtomValue","useSetAtom","DropdownWithItems","ChevronIcon","DropdownItem","availableTradeModesAtom","enabledTradeModesFromConfigAtom","cn","Button","sortTradeModes","tradeModeLabel","Record","swap","limit","otc","twap","TradeModeSwitcher","t0","$","_c","asDropdown","setTradeMode","currentTradeMode","enabledTradeModesFromConfig","availableTradeModes","t1","Set","availableTradeModesSet","isDisabled","length","t2","tradeModesToShow","Array","from","t3","mode","label","onSelect","selected","disabled","has","sort","map","items","t4","MenuTrigger","tradeMode","t5","RelaxedDropdownItem","Omit","TradeModesRow","tradeModeItems","_temp"],"sources":["../../../../src/components/widget/AppHeader/TradeModeSwitcher.tsx"],"sourcesContent":["import {\n tradeModeAtom,\n userTradeModeAtom,\n type TradeMode,\n} from \"@/core/state/tradeModeAtom\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { DropdownWithItems } from \"../Dropdown/DropdownWithItems\";\nimport { ChevronIcon } from \"../Icon/ChevronIcon\";\nimport type { DropdownItem } from \"../Dropdown/types\";\nimport {\n availableTradeModesAtom,\n enabledTradeModesFromConfigAtom,\n} from \"@/core/state/enabledTradeModesAtom\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport { sortTradeModes } from \"@/lib/tradeMode\";\n\nconst tradeModeLabel: Record<TradeMode, string> = {\n swap: \"Swap\",\n limit: \"Limit\",\n otc: \"OTC\",\n twap: \"TWAP\",\n};\n\nexport const TradeModeSwitcher = ({ asDropdown }: { asDropdown?: boolean }) => {\n const setTradeMode = useSetAtom(userTradeModeAtom);\n const currentTradeMode = useAtomValue(tradeModeAtom);\n const enabledTradeModesFromConfig = useAtomValue(\n enabledTradeModesFromConfigAtom\n );\n const availableTradeModes = useAtomValue(availableTradeModesAtom);\n\n const availableTradeModesSet = new Set(availableTradeModes);\n const isDisabled = enabledTradeModesFromConfig.length === 1;\n\n if (isDisabled)\n return <MenuTrigger tradeMode={currentTradeMode} isDisabled={isDisabled} />;\n\n const tradeModesToShow = Array.from(\n new Set([currentTradeMode, ...enabledTradeModesFromConfig])\n ) as typeof enabledTradeModesFromConfig; // inherit NonEmptyArray<TradeMode>\n\n const items = tradeModesToShow.sort(sortTradeModes).map((mode) => ({\n label: tradeModeLabel[mode],\n onSelect: () => setTradeMode(mode),\n selected: currentTradeMode === mode,\n disabled: !availableTradeModesSet.has(mode),\n })) satisfies DropdownItem[];\n\n if (asDropdown) {\n return (\n <DropdownWithItems\n menuTrigger={\n <MenuTrigger tradeMode={currentTradeMode} isDisabled={isDisabled} />\n }\n items={items}\n />\n );\n }\n\n return <TradeModesRow tradeModeItems={items} />;\n};\n\nconst MenuTrigger = ({\n tradeMode,\n isDisabled,\n}: {\n tradeMode: TradeMode;\n isDisabled: boolean;\n}) => {\n return (\n <div\n className={cn(\n \"flex items-center gap-2 font-medium text-contrast-3 dark:text-contrast-8\",\n {\n \"cursor-pointer\": !isDisabled,\n }\n )}\n >\n {tradeModeLabel[tradeMode]}{\" \"}\n {!isDisabled && (\n <ChevronIcon width={8} className=\"pt-[2px] dark:text-contrast-5\" />\n )}\n </div>\n );\n};\n\ntype RelaxedDropdownItem = Omit<DropdownItem, \"label\" | \"onSelect\"> & {\n label: string; // allows to pass key={label}\n onSelect: () => void; // allows to pass onClick={onSelect}\n};\n\nconst TradeModesRow = ({\n tradeModeItems,\n}: {\n tradeModeItems: RelaxedDropdownItem[];\n}) => {\n return (\n <div className=\"flex items-center gap-6\">\n {tradeModeItems.map(({ selected, label, onSelect, disabled }) => (\n <Button\n variant=\"ghost\"\n key={label}\n className={cn(\n \"cursor-pointer text-contrast-5 font-medium text-base p-0 hover:bg-transparent dark:hover:bg-transparent h-min\",\n {\n \"text-contrast-3 dark:text-contrast-9\": selected,\n \"hover:text-contrast-5\": disabled,\n }\n )}\n onClick={onSelect}\n disabled={disabled}\n >\n {label}\n </Button>\n ))}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"TradeModeSwitcher.js","names":["tradeModeAtom","userTradeModeAtom","TradeMode","useAtomValue","useSetAtom","DropdownWithItems","ChevronIcon","DropdownItem","availableTradeModesAtom","enabledTradeModesFromConfigAtom","cn","Button","sortTradeModes","tradeModeLabel","Record","swap","limit","otc","twap","TradeModeSwitcher","t0","$","_c","asDropdown","setTradeMode","currentTradeMode","enabledTradeModesFromConfig","availableTradeModes","t1","Set","availableTradeModesSet","isDisabled","length","t2","tradeModesToShow","Array","from","t3","mode","label","onSelect","selected","disabled","has","sort","map","items","t4","MenuTrigger","tradeMode","t5","RelaxedDropdownItem","Omit","TradeModesRow","tradeModeItems","_temp"],"sources":["../../../../src/components/widget/AppHeader/TradeModeSwitcher.tsx"],"sourcesContent":["import {\n tradeModeAtom,\n userTradeModeAtom,\n type TradeMode,\n} from \"@/core/state/tradeModeAtom\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { DropdownWithItems } from \"../Dropdown/DropdownWithItems\";\nimport { ChevronIcon } from \"../Icon/ChevronIcon\";\nimport type { DropdownItem } from \"../Dropdown/types\";\nimport {\n availableTradeModesAtom,\n enabledTradeModesFromConfigAtom,\n} from \"@/core/state/enabledTradeModesAtom\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport { sortTradeModes } from \"@/lib/tradeMode\";\n\nconst tradeModeLabel: Record<TradeMode, string> = {\n swap: \"Swap\",\n limit: \"Limit\",\n otc: \"OTC\",\n twap: \"TWAP\",\n};\n\nexport const TradeModeSwitcher = ({ asDropdown }: { asDropdown?: boolean }) => {\n const setTradeMode = useSetAtom(userTradeModeAtom);\n const currentTradeMode = useAtomValue(tradeModeAtom);\n const enabledTradeModesFromConfig = useAtomValue(\n enabledTradeModesFromConfigAtom\n );\n const availableTradeModes = useAtomValue(availableTradeModesAtom);\n\n const availableTradeModesSet = new Set(availableTradeModes);\n const isDisabled = enabledTradeModesFromConfig.length === 1;\n\n if (isDisabled)\n return <MenuTrigger tradeMode={currentTradeMode} isDisabled={isDisabled} />;\n\n const tradeModesToShow = Array.from(\n new Set([currentTradeMode, ...enabledTradeModesFromConfig])\n ) as typeof enabledTradeModesFromConfig; // inherit NonEmptyArray<TradeMode>\n\n const items = tradeModesToShow.sort(sortTradeModes).map((mode) => ({\n label: tradeModeLabel[mode],\n onSelect: () => setTradeMode(mode),\n selected: currentTradeMode === mode,\n disabled: !availableTradeModesSet.has(mode),\n })) satisfies DropdownItem[];\n\n if (asDropdown) {\n return (\n <DropdownWithItems\n menuTrigger={\n <MenuTrigger tradeMode={currentTradeMode} isDisabled={isDisabled} />\n }\n items={items}\n />\n );\n }\n\n return <TradeModesRow tradeModeItems={items} />;\n};\n\nconst MenuTrigger = ({\n tradeMode,\n isDisabled,\n}: {\n tradeMode: TradeMode;\n isDisabled: boolean;\n}) => {\n return (\n <div\n className={cn(\n \"flex items-center gap-2 font-medium text-contrast-3 dark:text-contrast-8\",\n {\n \"cursor-pointer\": !isDisabled,\n }\n )}\n >\n {tradeModeLabel[tradeMode]}{\" \"}\n {!isDisabled && (\n <ChevronIcon width={8} className=\"pt-[2px] dark:text-contrast-5\" />\n )}\n </div>\n );\n};\n\ntype RelaxedDropdownItem = Omit<DropdownItem, \"label\" | \"onSelect\"> & {\n label: string; // allows to pass key={label}\n onSelect: () => void; // allows to pass onClick={onSelect}\n};\n\nconst TradeModesRow = ({\n tradeModeItems,\n}: {\n tradeModeItems: RelaxedDropdownItem[];\n}) => {\n return (\n <div className=\"flex items-center gap-6\">\n {tradeModeItems.map(({ selected, label, onSelect, disabled }) => (\n <Button\n variant=\"ghost\"\n key={label}\n className={cn(\n \"cursor-pointer text-contrast-5 font-medium text-base p-0 hover:bg-transparent dark:hover:bg-transparent h-min\",\n {\n \"text-contrast-3 dark:text-contrast-9\": selected,\n \"hover:text-contrast-5\": disabled,\n }\n )}\n onClick={onSelect}\n disabled={disabled}\n >\n {label}\n </Button>\n ))}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"showMoreAtom.js","names":["atom","INITIAL_ITEMS","initialCount","active","history","asMakerCountAtom","asTakerCountAtom","resetOrdersCountAtom","_get","set","ordersCountAtomMap","asMaker","asTaker"],"sources":["../../../../../src/components/widget/AppHeader/state/showMoreAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\n\nconst INITIAL_ITEMS = 2;\n\nconst initialCount = {\n active: INITIAL_ITEMS,\n history: INITIAL_ITEMS,\n};\n\nconst asMakerCountAtom = atom(initialCount);\nconst asTakerCountAtom = atom(initialCount);\n\nexport const resetOrdersCountAtom = atom(null, (_get, set) => {\n set(asMakerCountAtom, initialCount);\n set(asTakerCountAtom, initialCount);\n});\n\nexport const ordersCountAtomMap = {\n asMaker: asMakerCountAtom,\n asTaker: asTakerCountAtom,\n};\n"],"mappings":";;AAEA,IAAMC,IAAgB,GAEhBC,IAAe;CACnBC,QAAQF;CACRG,SAASH;CACV,EAEKI,IAAmBL,EAAKE,EAAa,EACrCI,IAAmBN,EAAKE,EAAa,EAE9BK,IAAuBP,EAAK,OAAOQ,GAAMC,MAAQ;AAE5DA,CADAA,EAAIJ,GAAkBH,EAAa,EACnCO,EAAIH,GAAkBJ,EAAa;EACnC,EAEWQ,IAAqB;CAChCC,SAASN;CACTO,SAASN;CACV"}
1
+ {"version":3,"file":"showMoreAtom.js","names":["atom","INITIAL_ITEMS","initialCount","active","history","asMakerCountAtom","asTakerCountAtom","resetOrdersCountAtom","_get","set","ordersCountAtomMap","asMaker","asTaker"],"sources":["../../../../../src/components/widget/AppHeader/state/showMoreAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\n\nconst INITIAL_ITEMS = 2;\n\nconst initialCount = {\n active: INITIAL_ITEMS,\n history: INITIAL_ITEMS,\n};\n\nconst asMakerCountAtom = atom(initialCount);\nconst asTakerCountAtom = atom(initialCount);\n\nexport const resetOrdersCountAtom = atom(null, (_get, set) => {\n set(asMakerCountAtom, initialCount);\n set(asTakerCountAtom, initialCount);\n});\n\nexport const ordersCountAtomMap = {\n asMaker: asMakerCountAtom,\n asTaker: asTakerCountAtom,\n};\n"],"mappings":";;AAEA,IAAMC,IAAgB,GAEhBC,IAAe;CACnBC,QAAQF;CACRG,SAASH;CACV,EAEKI,IAAmBL,EAAKE,EAAa,EACrCI,IAAmBN,EAAKE,EAAa,EAE9BK,IAAuBP,EAAK,OAAOQ,GAAMC,MAAQ;CAE5DA,AADAA,EAAIJ,GAAkBH,EAAa,EACnCO,EAAIH,GAAkBJ,EAAa;EACnC,EAEWQ,IAAqB;CAChCC,SAASN;CACTO,SAASN;CACV"}
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeListItem.js","names":["TokenBadge","formatUnits","formatTokenAmount","SwapRate","formatPriceImpactPercent","getPriceImpact","TriangleAlert","ReactComponent","PriceImpactSVG","SpeedometerSVG","Duration","BridgeListItemProps","PropsWithChildren","cn","Tooltip","TooltipContent","TooltipTrigger","BridgeListItem","props","$","_c","isSelected","onClick","recommended","restProps","t0","t1","tokenBadgeTextClassName","tokenBadgeClasses","root","logo","symbol","amount","const","BridgeListItemBase","srcUSD","destUSD","srcAmount","destAmount","tokenFrom","tokenTo","protocolDisplayName","protocolIcon","estimatedTimeMs","fastest","bestReturn","undefined","t2","decimals","destAmountUnit","BigInt","formattedDestAmount","PriceImpactIcon","T0","T1","priceImpactPercent","t3","t4","t5","t6","t7","t8","t9","priceImpact","isHighImpact","isUnavailable","t10","address","img","network","t11","Symbol","for","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","Wrapper","children","stickerClassName","BestReturnSticker","FastestSticker","BridgeSticker"],"sources":["../../../../src/components/widget/BridgeList/BridgeListItem.tsx"],"sourcesContent":["import { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport { formatUnits } from \"viem\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport {\n formatPriceImpactPercent,\n getPriceImpact,\n} from \"@/lib/utils/priceImpact\";\n\nimport { TriangleAlert } from \"lucide-react\";\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport { ReactComponent as SpeedometerSVG } from \"@/assets/speedometer.svg\";\n\nimport { Duration } from \"../Duration/Duration\";\nimport type { BridgeListItemProps } from \"./types\";\nimport type { PropsWithChildren } from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\n\nexport const BridgeListItem = (props: BridgeListItemProps) => {\n const { recommended, isSelected, onClick, ...restProps } = props;\n\n return (\n <Wrapper\n isSelected={isSelected}\n recommended={recommended}\n onClick={onClick}\n >\n <BridgeListItemBase {...restProps} />\n </Wrapper>\n );\n};\n\nconst tokenBadgeTextClassName =\n \"text-sm font-inter font-medium text-contrast-3 dark:text-contrast-9\";\nconst tokenBadgeClasses = {\n root: \"gap-[7px]\",\n logo: \"size-6 min-w-6\",\n symbol: tokenBadgeTextClassName,\n amount: tokenBadgeTextClassName,\n} as const;\n\nconst BridgeListItemBase = ({\n srcUSD,\n destUSD,\n srcAmount,\n destAmount,\n tokenFrom,\n tokenTo,\n protocolDisplayName = \"Unknown\",\n protocolIcon, // @TODO fallback icon?\n estimatedTimeMs,\n fastest,\n bestReturn,\n}: Omit<BridgeListItemProps, \"recommended\" | \"isSelected\" | \"onClick\">) => {\n const destAmountUnit = formatUnits(BigInt(destAmount), tokenTo.decimals);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const { priceImpact, isHighImpact, isUnavailable } = getPriceImpact({\n srcUSD,\n destUSD,\n });\n const priceImpactPercent =\n isUnavailable || priceImpact === undefined\n ? \"-\"\n : formatPriceImpactPercent(priceImpact);\n const PriceImpactIcon =\n isHighImpact || isUnavailable ? TriangleAlert : PriceImpactSVG;\n\n return (\n <div\n className={\n \"bg-contrast-9 dark:bg-contrast-3 p-4 rounded-sm shadow-card-1\"\n }\n >\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-baseline-last gap-[7px] truncate\">\n <TokenBadge\n address={tokenTo.address}\n symbol={tokenTo.symbol}\n img={tokenTo.img}\n chainId={tokenTo.network}\n amount={formattedDestAmount}\n amountUSD={destUSD}\n amountPosition=\"right\"\n showNetworkIcon\n classes={tokenBadgeClasses}\n />\n <span className=\"text-contrast-5 text-xs\">via</span>\n <span className=\"text-contrast-4 dark:text-contrast-8 text-xs flex items-center gap-1\">\n {protocolIcon && (\n <img\n src={protocolIcon}\n alt={protocolDisplayName}\n className=\"size-4\"\n />\n )}\n {protocolDisplayName}\n </span>\n </div>\n <BridgeSticker bestReturn={bestReturn} fastest={fastest} />\n </div>\n <div className=\"flex items-center justify-between\">\n <div className=\"text-xs font-geist-mono text-contrast-4 dark:text-contrast-6 truncate\">\n <SwapRate\n srcAmountWei={srcAmount}\n destAmountWei={destAmount}\n srcToken={tokenFrom}\n destToken={tokenTo}\n />\n </div>\n <div className=\"flex items-center gap-3 text-xs font-geist-mono text-contrast-4 dark:text-contrast-6\">\n <Tooltip>\n <TooltipTrigger\n className={cn(\"flex items-center gap-1\", {\n \"text-secondary-orange-peel-1\": isHighImpact,\n })}\n >\n <PriceImpactIcon className=\"size-[16px]\" />\n {priceImpactPercent}\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger className=\"flex items-center gap-1\">\n <SpeedometerSVG className=\"size-[16px] text-contrast-5\" />\n <Duration timeMs={estimatedTimeMs} showSeconds />\n </TooltipTrigger>\n <TooltipContent>Estimated Bridge Time</TooltipContent>\n </Tooltip>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nconst Wrapper = ({\n children,\n isSelected,\n recommended,\n onClick,\n}: PropsWithChildren<\n Pick<BridgeListItemProps, \"isSelected\" | \"recommended\" | \"onClick\">\n>) => {\n return (\n <div\n className={cn(\"rounded-sm cursor-pointer\", {\n \"outline-1 bg-primary-azul-1 outline-primary-azul-1\": isSelected, // selected -- primary outline+bg\n \"bg-contrast-6 dark:bg-contrast-4\": !isSelected, // not selected -- gray bg\n \"outline-1 outline-contrast-6 dark:outline-contrast-4\":\n !isSelected && recommended, // not selected but recommended -- gray outline\n })}\n onClick={onClick}\n >\n {recommended && (\n <div\n className={cn(\"text-xs flex items-center h-6 pl-2\", {\n \"text-secondary-light-slate-3\": isSelected,\n \"text-contrast-5 dark:text-contrast-6\": !isSelected,\n })}\n >\n Recommended\n </div>\n )}\n {children}\n </div>\n );\n};\n\nconst stickerClassName =\n \"text-[10px] font-geist-mono flex justify-center items-center py-0.5 px-2 rounded-[40px] whitespace-nowrap\";\n\nconst BestReturnSticker = () => {\n return (\n <div\n className={cn(\n stickerClassName,\n \"bg-[#34CA9A1A] text-secondary-shamrock-green-2\"\n )}\n >\n Best Return\n </div>\n );\n};\n\nconst FastestSticker = () => {\n return (\n <div\n className={cn(stickerClassName, \"bg-[#F75C2A26] text-primary-papaya-1\")}\n >\n Fastest\n </div>\n );\n};\n\nexport const BridgeSticker = ({\n bestReturn,\n fastest,\n}: {\n bestReturn: boolean;\n fastest: boolean;\n}) => {\n // @TODO design for both true case\n if (bestReturn) return <BestReturnSticker />;\n if (fastest) return <FastestSticker />;\n return null;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"BridgeListItem.js","names":["TokenBadge","formatUnits","formatTokenAmount","SwapRate","formatPriceImpactPercent","getPriceImpact","TriangleAlert","ReactComponent","PriceImpactSVG","SpeedometerSVG","Duration","BridgeListItemProps","PropsWithChildren","cn","Tooltip","TooltipContent","TooltipTrigger","BridgeListItem","props","$","_c","isSelected","onClick","recommended","restProps","t0","t1","tokenBadgeTextClassName","tokenBadgeClasses","root","logo","symbol","amount","const","BridgeListItemBase","srcUSD","destUSD","srcAmount","destAmount","tokenFrom","tokenTo","protocolDisplayName","protocolIcon","estimatedTimeMs","fastest","bestReturn","undefined","t2","decimals","destAmountUnit","BigInt","formattedDestAmount","PriceImpactIcon","T0","T1","priceImpactPercent","t3","t4","t5","t6","t7","t8","t9","priceImpact","isHighImpact","isUnavailable","t10","address","img","network","t11","Symbol","for","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","Wrapper","children","stickerClassName","BestReturnSticker","FastestSticker","BridgeSticker"],"sources":["../../../../src/components/widget/BridgeList/BridgeListItem.tsx"],"sourcesContent":["import { TokenBadge } from \"../TokenBadge/TokenBadge\";\nimport { formatUnits } from \"viem\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport {\n formatPriceImpactPercent,\n getPriceImpact,\n} from \"@/lib/utils/priceImpact\";\n\nimport { TriangleAlert } from \"lucide-react\";\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport { ReactComponent as SpeedometerSVG } from \"@/assets/speedometer.svg\";\n\nimport { Duration } from \"../Duration/Duration\";\nimport type { BridgeListItemProps } from \"./types\";\nimport type { PropsWithChildren } from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\n\nexport const BridgeListItem = (props: BridgeListItemProps) => {\n const { recommended, isSelected, onClick, ...restProps } = props;\n\n return (\n <Wrapper\n isSelected={isSelected}\n recommended={recommended}\n onClick={onClick}\n >\n <BridgeListItemBase {...restProps} />\n </Wrapper>\n );\n};\n\nconst tokenBadgeTextClassName =\n \"text-sm font-inter font-medium text-contrast-3 dark:text-contrast-9\";\nconst tokenBadgeClasses = {\n root: \"gap-[7px]\",\n logo: \"size-6 min-w-6\",\n symbol: tokenBadgeTextClassName,\n amount: tokenBadgeTextClassName,\n} as const;\n\nconst BridgeListItemBase = ({\n srcUSD,\n destUSD,\n srcAmount,\n destAmount,\n tokenFrom,\n tokenTo,\n protocolDisplayName = \"Unknown\",\n protocolIcon, // @TODO fallback icon?\n estimatedTimeMs,\n fastest,\n bestReturn,\n}: Omit<BridgeListItemProps, \"recommended\" | \"isSelected\" | \"onClick\">) => {\n const destAmountUnit = formatUnits(BigInt(destAmount), tokenTo.decimals);\n const formattedDestAmount = formatTokenAmount(destAmountUnit);\n\n const { priceImpact, isHighImpact, isUnavailable } = getPriceImpact({\n srcUSD,\n destUSD,\n });\n const priceImpactPercent =\n isUnavailable || priceImpact === undefined\n ? \"-\"\n : formatPriceImpactPercent(priceImpact);\n const PriceImpactIcon =\n isHighImpact || isUnavailable ? TriangleAlert : PriceImpactSVG;\n\n return (\n <div\n className={\n \"bg-contrast-9 dark:bg-contrast-3 p-4 rounded-sm shadow-card-1\"\n }\n >\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-baseline-last gap-[7px] truncate\">\n <TokenBadge\n address={tokenTo.address}\n symbol={tokenTo.symbol}\n img={tokenTo.img}\n chainId={tokenTo.network}\n amount={formattedDestAmount}\n amountUSD={destUSD}\n amountPosition=\"right\"\n showNetworkIcon\n classes={tokenBadgeClasses}\n />\n <span className=\"text-contrast-5 text-xs\">via</span>\n <span className=\"text-contrast-4 dark:text-contrast-8 text-xs flex items-center gap-1\">\n {protocolIcon && (\n <img\n src={protocolIcon}\n alt={protocolDisplayName}\n className=\"size-4\"\n />\n )}\n {protocolDisplayName}\n </span>\n </div>\n <BridgeSticker bestReturn={bestReturn} fastest={fastest} />\n </div>\n <div className=\"flex items-center justify-between\">\n <div className=\"text-xs font-geist-mono text-contrast-4 dark:text-contrast-6 truncate\">\n <SwapRate\n srcAmountWei={srcAmount}\n destAmountWei={destAmount}\n srcToken={tokenFrom}\n destToken={tokenTo}\n />\n </div>\n <div className=\"flex items-center gap-3 text-xs font-geist-mono text-contrast-4 dark:text-contrast-6\">\n <Tooltip>\n <TooltipTrigger\n className={cn(\"flex items-center gap-1\", {\n \"text-secondary-orange-peel-1\": isHighImpact,\n })}\n >\n <PriceImpactIcon className=\"size-[16px]\" />\n {priceImpactPercent}\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger className=\"flex items-center gap-1\">\n <SpeedometerSVG className=\"size-[16px] text-contrast-5\" />\n <Duration timeMs={estimatedTimeMs} showSeconds />\n </TooltipTrigger>\n <TooltipContent>Estimated Bridge Time</TooltipContent>\n </Tooltip>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nconst Wrapper = ({\n children,\n isSelected,\n recommended,\n onClick,\n}: PropsWithChildren<\n Pick<BridgeListItemProps, \"isSelected\" | \"recommended\" | \"onClick\">\n>) => {\n return (\n <div\n className={cn(\"rounded-sm cursor-pointer\", {\n \"outline-1 bg-primary-azul-1 outline-primary-azul-1\": isSelected, // selected -- primary outline+bg\n \"bg-contrast-6 dark:bg-contrast-4\": !isSelected, // not selected -- gray bg\n \"outline-1 outline-contrast-6 dark:outline-contrast-4\":\n !isSelected && recommended, // not selected but recommended -- gray outline\n })}\n onClick={onClick}\n >\n {recommended && (\n <div\n className={cn(\"text-xs flex items-center h-6 pl-2\", {\n \"text-secondary-light-slate-3\": isSelected,\n \"text-contrast-5 dark:text-contrast-6\": !isSelected,\n })}\n >\n Recommended\n </div>\n )}\n {children}\n </div>\n );\n};\n\nconst stickerClassName =\n \"text-[10px] font-geist-mono flex justify-center items-center py-0.5 px-2 rounded-[40px] whitespace-nowrap\";\n\nconst BestReturnSticker = () => {\n return (\n <div\n className={cn(\n stickerClassName,\n \"bg-[#34CA9A1A] text-secondary-shamrock-green-2\"\n )}\n >\n Best Return\n </div>\n );\n};\n\nconst FastestSticker = () => {\n return (\n <div\n className={cn(stickerClassName, \"bg-[#F75C2A26] text-primary-papaya-1\")}\n >\n Fastest\n </div>\n );\n};\n\nexport const BridgeSticker = ({\n bestReturn,\n fastest,\n}: {\n bestReturn: boolean;\n fastest: boolean;\n}) => {\n // @TODO design for both true case\n if (bestReturn) return <BestReturnSticker />;\n if (fastest) return <FastestSticker />;\n return null;\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeProtocolsList.js","names":["Switch","emptyArray","ListItemWithSwitch","BridgeProtocolResponse","NonEmptyArray","DisabledBridges","BridgeProtocolsList","t0","$","_c","bridgeProtocols","disabledBridges","onDisabledBridgesChange","t1","Set","disabledBridgesSet","t2","map","_temp","allProtocols","isAllEnabled","length","t3","checked","onEnableAllChange","t4","checked_0","protocol_0","disabledBridgesUpdate","filter","b","protocol","onItemChange","t5","t6","t7","t8","t9","t10","protocol_1","displayName","icon","has","checked_1","BridgeNameWithIcon"],"sources":["../../../../src/components/widget/BridgeList/BridgeProtocolsList.tsx"],"sourcesContent":["import { Switch } from \"@/components/ui/switch\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { ListItemWithSwitch } from \"@/components/widget/ListItem/ListItemWithSwitch\";\nimport type { BridgeProtocolResponse } from \"@velora-dex/sdk\";\nimport type { NonEmptyArray } from \"ts-essentials\";\nimport type { DisabledBridges } from \"../TradeParameters/state/bridgePreferences/types\";\n\nexport const BridgeProtocolsList = ({\n bridgeProtocols,\n disabledBridges,\n onDisabledBridgesChange,\n}: {\n bridgeProtocols: NonEmptyArray<BridgeProtocolResponse>;\n disabledBridges: DisabledBridges;\n onDisabledBridgesChange: (bridges: DisabledBridges) => void;\n}) => {\n // faster lookup when checking individual items\n const disabledBridgesSet = new Set(disabledBridges);\n\n const allProtocols = bridgeProtocols.map(({ protocol }) => protocol);\n const isAllEnabled = disabledBridges.length === 0;\n\n const onEnableAllChange = (checked: boolean) => {\n onDisabledBridgesChange(checked ? emptyArray : allProtocols);\n };\n\n const onItemChange = (checked: boolean, protocol: string) => {\n const disabledBridgesUpdate = checked\n ? disabledBridges.filter((b) => b !== protocol)\n : [...disabledBridges, protocol];\n onDisabledBridgesChange(disabledBridgesUpdate);\n };\n\n return (\n <div className=\"px-6 h-[420px] overflow-auto\">\n <div className=\"flex items-center justify-between gap-2 py-4 border-b border-b-contrast-7 dark:border-b-contrast-3\">\n <div className=\"text-sm dark:text-contrast-7\">\n Enable All Bridges ({bridgeProtocols.length})\n </div>\n <Switch\n checked={isAllEnabled}\n onCheckedChange={onEnableAllChange}\n className=\"cursor-pointer\"\n />\n </div>\n {bridgeProtocols.map(({ protocol, displayName, icon }) => (\n <ListItemWithSwitch\n key={protocol}\n label={<BridgeNameWithIcon icon={icon} displayName={displayName} />}\n checked={!disabledBridgesSet.has(protocol)}\n onCheckedChange={(checked) => {\n onItemChange(checked, protocol);\n }}\n />\n ))}\n </div>\n );\n};\n\nconst BridgeNameWithIcon = ({\n icon,\n displayName,\n}: Pick<BridgeProtocolResponse, \"icon\" | \"displayName\">) => {\n return (\n <div className=\"text-sm dark:text-contrast-7 flex items-center gap-2\">\n <img src={icon} alt={displayName} className=\"size-5.5\" />\n {displayName}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"BridgeProtocolsList.js","names":["Switch","emptyArray","ListItemWithSwitch","BridgeProtocolResponse","NonEmptyArray","DisabledBridges","BridgeProtocolsList","t0","$","_c","bridgeProtocols","disabledBridges","onDisabledBridgesChange","t1","Set","disabledBridgesSet","t2","map","_temp","allProtocols","isAllEnabled","length","t3","checked","onEnableAllChange","t4","checked_0","protocol_0","disabledBridgesUpdate","filter","b","protocol","onItemChange","t5","t6","t7","t8","t9","t10","protocol_1","displayName","icon","has","checked_1","BridgeNameWithIcon"],"sources":["../../../../src/components/widget/BridgeList/BridgeProtocolsList.tsx"],"sourcesContent":["import { Switch } from \"@/components/ui/switch\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { ListItemWithSwitch } from \"@/components/widget/ListItem/ListItemWithSwitch\";\nimport type { BridgeProtocolResponse } from \"@velora-dex/sdk\";\nimport type { NonEmptyArray } from \"ts-essentials\";\nimport type { DisabledBridges } from \"../TradeParameters/state/bridgePreferences/types\";\n\nexport const BridgeProtocolsList = ({\n bridgeProtocols,\n disabledBridges,\n onDisabledBridgesChange,\n}: {\n bridgeProtocols: NonEmptyArray<BridgeProtocolResponse>;\n disabledBridges: DisabledBridges;\n onDisabledBridgesChange: (bridges: DisabledBridges) => void;\n}) => {\n // faster lookup when checking individual items\n const disabledBridgesSet = new Set(disabledBridges);\n\n const allProtocols = bridgeProtocols.map(({ protocol }) => protocol);\n const isAllEnabled = disabledBridges.length === 0;\n\n const onEnableAllChange = (checked: boolean) => {\n onDisabledBridgesChange(checked ? emptyArray : allProtocols);\n };\n\n const onItemChange = (checked: boolean, protocol: string) => {\n const disabledBridgesUpdate = checked\n ? disabledBridges.filter((b) => b !== protocol)\n : [...disabledBridges, protocol];\n onDisabledBridgesChange(disabledBridgesUpdate);\n };\n\n return (\n <div className=\"px-6 h-[420px] overflow-auto\">\n <div className=\"flex items-center justify-between gap-2 py-4 border-b border-b-contrast-7 dark:border-b-contrast-3\">\n <div className=\"text-sm dark:text-contrast-7\">\n Enable All Bridges ({bridgeProtocols.length})\n </div>\n <Switch\n checked={isAllEnabled}\n onCheckedChange={onEnableAllChange}\n className=\"cursor-pointer\"\n />\n </div>\n {bridgeProtocols.map(({ protocol, displayName, icon }) => (\n <ListItemWithSwitch\n key={protocol}\n label={<BridgeNameWithIcon icon={icon} displayName={displayName} />}\n checked={!disabledBridgesSet.has(protocol)}\n onCheckedChange={(checked) => {\n onItemChange(checked, protocol);\n }}\n />\n ))}\n </div>\n );\n};\n\nconst BridgeNameWithIcon = ({\n icon,\n displayName,\n}: Pick<BridgeProtocolResponse, \"icon\" | \"displayName\">) => {\n return (\n <div className=\"text-sm dark:text-contrast-7 flex items-center gap-2\">\n <img src={icon} alt={displayName} className=\"size-5.5\" />\n {displayName}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BridgesList.js","names":["Button","BridgeListItem","BridgeListItemProps","WithClasses","Skeleton","BridgesListProps","bridges","totalLength","showViewAllButton","isLoading","onViewAllClick","BridgesList","t0","$","_c","t1","classes","_showViewAllButton","undefined","length","t2","root","t3","Array","from","map","_temp","_temp2","t4","t5","t6","_","i","props","protocolName"],"sources":["../../../../src/components/widget/BridgeList/BridgesList.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { BridgeListItem } from \"./BridgeListItem\";\nimport type { BridgeListItemProps } from \"./types\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\ntype BridgesListProps = {\n bridges: BridgeListItemProps[];\n totalLength?: number;\n showViewAllButton?: boolean;\n isLoading?: boolean;\n onViewAllClick?: () => void;\n} & WithClasses<\"root\">;\n\nexport const BridgesList = ({\n bridges,\n totalLength,\n showViewAllButton: _showViewAllButton = true,\n isLoading,\n onViewAllClick,\n classes,\n}: BridgesListProps) => {\n const showViewAllButton =\n _showViewAllButton &&\n onViewAllClick &&\n !isLoading &&\n totalLength !== undefined &&\n totalLength > bridges.length;\n\n return (\n <div className={classes?.root}>\n <div className=\"flex flex-col gap-4 pb-2\">\n {isLoading && !bridges.length\n ? Array.from({ length: 3 }).map((_, i) => (\n <Skeleton className=\"h-[100px]\" key={i} />\n ))\n : bridges.map((props) => (\n <BridgeListItem key={props.protocolName} {...props} />\n ))}\n </div>\n {showViewAllButton && (\n <div className=\"flex justify-center\">\n <Button\n variant=\"link\"\n className=\"underline text-primary-azul-1 text-xs h-min w-min\"\n onClick={onViewAllClick}\n >\n View All ({totalLength})\n </Button>\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;AAcA,IAAaW,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAR,YAAAC,gBAAAC,mBAAAO,GAAAN,cAAAC,mBAAAM,eAAAJ,GAQ1BJ,KALmBO,MAAAG,KAAAA,IAAA,KAAAH,MAMjBL,KAAA,CAECD,KACDF,MAAgBW,KAAAA,KAChBX,IAAcD,EAAOa,QAGLC,IAAAJ,GAAOK,MAAMC;AAAA,CAAAT,EAAA,OAAAP,KAAAO,EAAA,OAAAJ,KAExBa,IAAAb,KAAA,CAAcH,EAAOa,SAClBI,MAAKC,KAAM,EAAAL,QAAU,GAAG,CAAC,CAAAM,IAAKC,EAK5B,GAFFpB,EAAOmB,IAAKE,EAEV,EAAAd,EAAA,KAAAP,GAAAO,EAAA,KAAAJ,GAAAI,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAAe;AAAA,CAAAf,EAAA,OAAAS,IACFM,IAAAf,EAAA,MARNe,IAAA,kBAAA,OAAA;EAAe,WAAA;YACZN;EAOG,CAAA,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAe;CAAA,IAAAC;AAAA,CAAAhB,EAAA,OAAAH,KAAAG,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KACLsB,IAAArB,KACC,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GACU,SAAA;GACE,WAAA;GACDE,SAAAA;aAHX;IAIC;IACYH;IAAY;IAE3B;;EACD,CAAA,EAAAM,EAAA,KAAAH,GAAAG,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAAA,IAAAiB;AACG,QADHjB,EAAA,OAAAO,KAAAP,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KApBHC,IAAA,kBAAA,OAAA;EAAgB,WAAAV;YAAhB,CACEQ,GASCC,EAWG;KAAAhB,EAAA,KAAAO,GAAAP,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KArBNiB;;AAhBuB,SAAAJ,EAAAK,GAAAC,GAAA;AAAA,QAoBb,kBAAC,GAAD,EAAoB,WAAA,aAAsB,EAALA,EAAK;;AApB7B,SAAAL,EAAAM,GAAA;AAAA,QAuBb,kBAAC,GAAD,EAAuC,GAAMA,GAAS,EAAjCA,EAAKC,aAA4B"}
1
+ {"version":3,"file":"BridgesList.js","names":["Button","BridgeListItem","BridgeListItemProps","WithClasses","Skeleton","BridgesListProps","bridges","totalLength","showViewAllButton","isLoading","onViewAllClick","BridgesList","t0","$","_c","t1","classes","_showViewAllButton","undefined","length","t2","root","t3","Array","from","map","_temp","_temp2","t4","t5","t6","_","i","props","protocolName"],"sources":["../../../../src/components/widget/BridgeList/BridgesList.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { BridgeListItem } from \"./BridgeListItem\";\nimport type { BridgeListItemProps } from \"./types\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\ntype BridgesListProps = {\n bridges: BridgeListItemProps[];\n totalLength?: number;\n showViewAllButton?: boolean;\n isLoading?: boolean;\n onViewAllClick?: () => void;\n} & WithClasses<\"root\">;\n\nexport const BridgesList = ({\n bridges,\n totalLength,\n showViewAllButton: _showViewAllButton = true,\n isLoading,\n onViewAllClick,\n classes,\n}: BridgesListProps) => {\n const showViewAllButton =\n _showViewAllButton &&\n onViewAllClick &&\n !isLoading &&\n totalLength !== undefined &&\n totalLength > bridges.length;\n\n return (\n <div className={classes?.root}>\n <div className=\"flex flex-col gap-4 pb-2\">\n {isLoading && !bridges.length\n ? Array.from({ length: 3 }).map((_, i) => (\n <Skeleton className=\"h-[100px]\" key={i} />\n ))\n : bridges.map((props) => (\n <BridgeListItem key={props.protocolName} {...props} />\n ))}\n </div>\n {showViewAllButton && (\n <div className=\"flex justify-center\">\n <Button\n variant=\"link\"\n className=\"underline text-primary-azul-1 text-xs h-min w-min\"\n onClick={onViewAllClick}\n >\n View All ({totalLength})\n </Button>\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;AAcA,IAAaW,KAAcC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAR,YAAAC,gBAAAC,mBAAAO,GAAAN,cAAAC,mBAAAM,eAAAJ,GAQ1BJ,KALmBO,MAAAG,KAAAA,IAAA,KAAAH,MAMjBL,KAAA,CAECD,KACDF,MAAgBW,KAAAA,KAChBX,IAAcD,EAAOa,QAGLC,IAAAJ,GAAOK,MAAMC;CAAA,AAAAT,EAAA,OAAAP,KAAAO,EAAA,OAAAJ,KAExBa,IAAAb,KAAA,CAAcH,EAAOa,SAClBI,MAAKC,KAAM,EAAAL,QAAU,GAAG,CAAC,CAAAM,IAAKC,EAK5B,GAFFpB,EAAOmB,IAAKE,EAEV,EAAAd,EAAA,KAAAP,GAAAO,EAAA,KAAAJ,GAAAI,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAAe;CAAA,AAAAf,EAAA,OAAAS,IACFM,IAAAf,EAAA,MARNe,IAAA,kBAAA,OAAA;EAAe,WAAA;YACZN;EAOG,CAAA,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAe;CAAA,IAAAC;CAAA,AAAAhB,EAAA,OAAAH,KAAAG,EAAA,OAAAL,KAAAK,EAAA,OAAAN,KACLsB,IAAArB,KACC,kBAAA,OAAA;EAAe,WAAA;YACb,kBAAC,GAAD;GACU,SAAA;GACE,WAAA;GACDE,SAAAA;aAHX;IAIC;IACYH;IAAY;IAE3B;;EACD,CAAA,EAAAM,EAAA,KAAAH,GAAAG,EAAA,KAAAL,GAAAK,EAAA,KAAAN,GAAAM,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAAA,IAAAiB;CACG,OADHjB,EAAA,OAAAO,KAAAP,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KApBHC,IAAA,kBAAA,OAAA;EAAgB,WAAAV;YAAhB,CACEQ,GASCC,EAWG;KAAAhB,EAAA,KAAAO,GAAAP,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA,KArBNiB;;AAhBuB,SAAAJ,EAAAK,GAAAC,GAAA;CAAA,OAoBb,kBAAC,GAAD,EAAoB,WAAA,aAAsB,EAALA,EAAK;;AApB7B,SAAAL,EAAAM,GAAA;CAAA,OAuBb,kBAAC,GAAD,EAAuC,GAAMA,GAAS,EAAjCA,EAAKC,aAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","names":["BridgePrice","AvailableBridge","useGetBridgeProtocolsMap","useWidgetTokens","BridgeListItemProps","emptyArray","BridgeProtocolsMapping","useSetAtom","protocolNameAtom","useSelectedBridgePrice","useBridgeListItems","t0","$","_c","bridgePrice","prioritize","t1","maxItems","undefined","data","bridgeProtocols","tokenFrom","tokenTo","setProtocolName","t2","price","selectedBridgePrice","t3","Symbol","for","displayedBridges","allBridges","bridgeInfo","protocolName","bridge","loweredProtocolName","toLowerCase","loweredSelectedProtocolName","onClick","isSelected","extendBridge","selectedBridge","t4","pickBridgeProps","availableBridge","getDisplayedBridges","t5","BridgeListItemBaseProps","Omit","GetDisplayedBridgesParams","getBridgesWithPriority","getAllBridges","availableBridges","addedBridgesSet","Set","has","add","bridgeProps","push","sorted","sort","sortBridgesByPriority","slice","sortBridgesRecommendedFirst","receivedDestUSD","srcUSD","srcAmount","bridgeProtocol","destUSD","destAmount","destAmountAfterBridge","protocolDisplayName","displayName","protocolIcon","icon","protocolSelector","estimatedTimeMs","recommended","bestReturn","fastest","a","b"],"sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"sourcesContent":["import type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport { useGetBridgeProtocolsMap } from \"@/hooks/useBridgeProtocols\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport type { BridgeListItemProps } from \"./types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeProtocolsMapping } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useSetAtom } from \"@/core/store\";\nimport { protocolNameAtom } from \"../TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport { useSelectedBridgePrice } from \"@/hooks/swap/prices/delta/bridge/useSelectedBridgePrice\";\n\nexport function useBridgeListItems({\n bridgePrice,\n prioritize = false,\n maxItems,\n}: {\n bridgePrice?: BridgePrice;\n /**\n @true [recommended, selected, bestReturn, fastest, others...]\n @false [recommended, others...]\n @default false\n */\n prioritize?: boolean;\n maxItems?: number;\n}): {\n displayedBridges: BridgeListItemProps[];\n allBridges: BridgeListItemProps[];\n selectedBridge?: BridgeListItemProps;\n} {\n const { data: bridgeProtocols } = useGetBridgeProtocolsMap();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const setProtocolName = useSetAtom(protocolNameAtom);\n const selectedBridgePrice = useSelectedBridgePrice({ price: bridgePrice });\n\n if (!bridgePrice || !bridgeProtocols || !tokenTo || !selectedBridgePrice)\n return { displayedBridges: emptyArray, allBridges: emptyArray };\n\n const extendBridge = (\n bridge: BridgeListItemBaseProps\n ): BridgeListItemProps => {\n const loweredProtocolName = bridge.protocolName.toLowerCase();\n const loweredSelectedProtocolName =\n selectedBridgePrice.bridgeInfo.protocolName.toLowerCase();\n\n const onClick = () => {\n setProtocolName(loweredProtocolName);\n };\n const isSelected = loweredProtocolName === loweredSelectedProtocolName;\n return { ...bridge, onClick, tokenFrom, tokenTo, isSelected };\n };\n\n const selectedBridge = extendBridge(\n pickBridgeProps({\n availableBridge: selectedBridgePrice,\n bridgeProtocols,\n })\n );\n\n const { displayedBridges, allBridges } = getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n\n return { displayedBridges, allBridges, selectedBridge };\n}\n\n// BridgeListItemProps without stateful fields\ntype BridgeListItemBaseProps = Omit<\n BridgeListItemProps,\n \"tokenFrom\" | \"tokenTo\" | \"isSelected\" | \"onClick\"\n>;\n\ntype GetDisplayedBridgesParams = {\n prioritize: boolean;\n bridgePrice: BridgePrice;\n bridgeProtocols: BridgeProtocolsMapping;\n extendBridge: (bridge: BridgeListItemBaseProps) => BridgeListItemProps;\n selectedBridge: BridgeListItemProps;\n maxItems?: number;\n};\n\nfunction getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: GetDisplayedBridgesParams) {\n if (prioritize) {\n return getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n }\n\n return getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n });\n}\n\nfunction getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [selectedBridge];\n const addedBridgesSet = new Set<string>([\n selectedBridge.protocolName.toLowerCase(),\n ]);\n\n for (const availableBridge of availableBridges) {\n const loweredProtocolName =\n availableBridge.bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesByPriority);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\" | \"selectedBridge\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [];\n const addedBridgesSet = new Set<string>();\n\n // then all others in any order\n for (const availableBridge of availableBridges) {\n const { bridgeInfo } = availableBridge;\n const loweredProtocolName = bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n addedBridgesSet.add(loweredProtocolName);\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesRecommendedFirst);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n}: {\n availableBridge: AvailableBridge;\n bridgeProtocols: BridgeProtocolsMapping;\n}): BridgeListItemBaseProps {\n const { receivedDestUSD, bridge, bridgeInfo, srcUSD, srcAmount } =\n availableBridge;\n const bridgeProtocol = bridgeProtocols[bridgeInfo.protocolName.toLowerCase()];\n\n return {\n srcUSD,\n destUSD: receivedDestUSD,\n srcAmount,\n destAmount: bridgeInfo.destAmountAfterBridge,\n protocolDisplayName: bridgeProtocol?.displayName,\n protocolIcon: bridgeProtocol?.icon,\n protocolSelector: bridge.protocolSelector,\n protocolName: bridgeInfo.protocolName,\n estimatedTimeMs: bridgeInfo.estimatedTimeMs,\n recommended: bridgeInfo.recommended,\n bestReturn: bridgeInfo.bestReturn,\n fastest: bridgeInfo.fastest,\n };\n}\n\nfunction sortBridgesByPriority(a: BridgeListItemProps, b: BridgeListItemProps) {\n // prioritize recommended > selected > bestReturn > fastest\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n if (a.isSelected && !b.isSelected) return -1;\n if (!a.isSelected && b.isSelected) return 1;\n\n if (a.bestReturn && !b.bestReturn) return -1;\n if (!a.bestReturn && b.bestReturn) return 1;\n\n if (a.fastest && !b.fastest) return -1;\n if (!a.fastest && b.fastest) return 1;\n\n return 0;\n}\n\nfunction sortBridgesRecommendedFirst(\n a: BridgeListItemProps,\n b: BridgeListItemProps\n) {\n // prioritize recommended first\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n return 0;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","names":["BridgePrice","AvailableBridge","useGetBridgeProtocolsMap","useWidgetTokens","BridgeListItemProps","emptyArray","BridgeProtocolsMapping","useSetAtom","protocolNameAtom","useSelectedBridgePrice","useBridgeListItems","t0","$","_c","bridgePrice","prioritize","t1","maxItems","undefined","data","bridgeProtocols","tokenFrom","tokenTo","setProtocolName","t2","price","selectedBridgePrice","t3","Symbol","for","displayedBridges","allBridges","bridgeInfo","protocolName","bridge","loweredProtocolName","toLowerCase","loweredSelectedProtocolName","onClick","isSelected","extendBridge","selectedBridge","t4","pickBridgeProps","availableBridge","getDisplayedBridges","t5","BridgeListItemBaseProps","Omit","GetDisplayedBridgesParams","getBridgesWithPriority","getAllBridges","availableBridges","addedBridgesSet","Set","has","add","bridgeProps","push","sorted","sort","sortBridgesByPriority","slice","sortBridgesRecommendedFirst","receivedDestUSD","srcUSD","srcAmount","bridgeProtocol","destUSD","destAmount","destAmountAfterBridge","protocolDisplayName","displayName","protocolIcon","icon","protocolSelector","estimatedTimeMs","recommended","bestReturn","fastest","a","b"],"sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"sourcesContent":["import type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport { useGetBridgeProtocolsMap } from \"@/hooks/useBridgeProtocols\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport type { BridgeListItemProps } from \"./types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeProtocolsMapping } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useSetAtom } from \"@/core/store\";\nimport { protocolNameAtom } from \"../TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport { useSelectedBridgePrice } from \"@/hooks/swap/prices/delta/bridge/useSelectedBridgePrice\";\n\nexport function useBridgeListItems({\n bridgePrice,\n prioritize = false,\n maxItems,\n}: {\n bridgePrice?: BridgePrice;\n /**\n @true [recommended, selected, bestReturn, fastest, others...]\n @false [recommended, others...]\n @default false\n */\n prioritize?: boolean;\n maxItems?: number;\n}): {\n displayedBridges: BridgeListItemProps[];\n allBridges: BridgeListItemProps[];\n selectedBridge?: BridgeListItemProps;\n} {\n const { data: bridgeProtocols } = useGetBridgeProtocolsMap();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const setProtocolName = useSetAtom(protocolNameAtom);\n const selectedBridgePrice = useSelectedBridgePrice({ price: bridgePrice });\n\n if (!bridgePrice || !bridgeProtocols || !tokenTo || !selectedBridgePrice)\n return { displayedBridges: emptyArray, allBridges: emptyArray };\n\n const extendBridge = (\n bridge: BridgeListItemBaseProps\n ): BridgeListItemProps => {\n const loweredProtocolName = bridge.protocolName.toLowerCase();\n const loweredSelectedProtocolName =\n selectedBridgePrice.bridgeInfo.protocolName.toLowerCase();\n\n const onClick = () => {\n setProtocolName(loweredProtocolName);\n };\n const isSelected = loweredProtocolName === loweredSelectedProtocolName;\n return { ...bridge, onClick, tokenFrom, tokenTo, isSelected };\n };\n\n const selectedBridge = extendBridge(\n pickBridgeProps({\n availableBridge: selectedBridgePrice,\n bridgeProtocols,\n })\n );\n\n const { displayedBridges, allBridges } = getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n\n return { displayedBridges, allBridges, selectedBridge };\n}\n\n// BridgeListItemProps without stateful fields\ntype BridgeListItemBaseProps = Omit<\n BridgeListItemProps,\n \"tokenFrom\" | \"tokenTo\" | \"isSelected\" | \"onClick\"\n>;\n\ntype GetDisplayedBridgesParams = {\n prioritize: boolean;\n bridgePrice: BridgePrice;\n bridgeProtocols: BridgeProtocolsMapping;\n extendBridge: (bridge: BridgeListItemBaseProps) => BridgeListItemProps;\n selectedBridge: BridgeListItemProps;\n maxItems?: number;\n};\n\nfunction getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: GetDisplayedBridgesParams) {\n if (prioritize) {\n return getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n }\n\n return getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n });\n}\n\nfunction getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [selectedBridge];\n const addedBridgesSet = new Set<string>([\n selectedBridge.protocolName.toLowerCase(),\n ]);\n\n for (const availableBridge of availableBridges) {\n const loweredProtocolName =\n availableBridge.bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesByPriority);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\" | \"selectedBridge\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [];\n const addedBridgesSet = new Set<string>();\n\n // then all others in any order\n for (const availableBridge of availableBridges) {\n const { bridgeInfo } = availableBridge;\n const loweredProtocolName = bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n addedBridgesSet.add(loweredProtocolName);\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesRecommendedFirst);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n}: {\n availableBridge: AvailableBridge;\n bridgeProtocols: BridgeProtocolsMapping;\n}): BridgeListItemBaseProps {\n const { receivedDestUSD, bridge, bridgeInfo, srcUSD, srcAmount } =\n availableBridge;\n const bridgeProtocol = bridgeProtocols[bridgeInfo.protocolName.toLowerCase()];\n\n return {\n srcUSD,\n destUSD: receivedDestUSD,\n srcAmount,\n destAmount: bridgeInfo.destAmountAfterBridge,\n protocolDisplayName: bridgeProtocol?.displayName,\n protocolIcon: bridgeProtocol?.icon,\n protocolSelector: bridge.protocolSelector,\n protocolName: bridgeInfo.protocolName,\n estimatedTimeMs: bridgeInfo.estimatedTimeMs,\n recommended: bridgeInfo.recommended,\n bestReturn: bridgeInfo.bestReturn,\n fastest: bridgeInfo.fastest,\n };\n}\n\nfunction sortBridgesByPriority(a: BridgeListItemProps, b: BridgeListItemProps) {\n // prioritize recommended > selected > bestReturn > fastest\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n if (a.isSelected && !b.isSelected) return -1;\n if (!a.isSelected && b.isSelected) return 1;\n\n if (a.bestReturn && !b.bestReturn) return -1;\n if (!a.bestReturn && b.bestReturn) return 1;\n\n if (a.fastest && !b.fastest) return -1;\n if (!a.fastest && b.fastest) return 1;\n\n return 0;\n}\n\nfunction sortBridgesRecommendedFirst(\n a: BridgeListItemProps,\n b: BridgeListItemProps\n) {\n // prioritize recommended first\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n return 0;\n}\n"],"mappings":"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"}