@velora-dex/widget 0.8.1-dev.0 → 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 (615) 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.d.ts +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts.map +1 -1
  17. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +30 -16
  18. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  19. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  20. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/index.js +1 -1
  23. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  24. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  27. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  28. package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
  29. package/dist/components/web3/ConnectWallets/walletIcons.js +1 -1
  30. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  31. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  32. package/dist/components/web3/providers.js.map +1 -1
  33. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  34. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  35. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  36. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  37. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  38. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  39. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  40. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  41. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  42. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +61 -53
  43. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  44. package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
  45. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  46. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  47. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
  48. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  49. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
  50. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  51. package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
  52. package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
  53. package/dist/components/widget/Button/DismissButton.js.map +1 -1
  54. package/dist/components/widget/Button/RefreshButton.d.ts +3 -0
  55. package/dist/components/widget/Button/RefreshButton.d.ts.map +1 -0
  56. package/dist/components/widget/Button/RefreshButton.js +28 -0
  57. package/dist/components/widget/Button/RefreshButton.js.map +1 -0
  58. package/dist/components/widget/Button/types.d.ts +7 -0
  59. package/dist/components/widget/Button/types.d.ts.map +1 -0
  60. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -1
  61. package/dist/components/widget/CompareQuotes/CompareQuotes.js +67 -73
  62. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
  63. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  64. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  65. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  66. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  67. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  68. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  69. package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
  70. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  71. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  72. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  73. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  74. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  75. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  76. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  77. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  78. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  79. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  80. package/dist/components/widget/Drawer/index.js.map +1 -1
  81. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  82. package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
  83. package/dist/components/widget/Dropdown/DropdownWithItems.js +3 -2
  84. package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
  85. package/dist/components/widget/Dropdown/types.d.ts +1 -1
  86. package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
  87. package/dist/components/widget/Duration/Duration.js.map +1 -1
  88. package/dist/components/widget/Duration/utils.js.map +1 -1
  89. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
  90. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
  91. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
  92. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
  93. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  94. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  95. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  96. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  97. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  98. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  99. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  100. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  101. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  102. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  103. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  104. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
  105. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
  106. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  107. package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
  108. package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
  109. package/dist/components/widget/LimitPriceInput/index.js +6 -6
  110. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  111. package/dist/components/widget/Line/Line.js.map +1 -1
  112. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
  113. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  114. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  115. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  116. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
  117. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
  118. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
  119. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
  120. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  121. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  122. package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
  123. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  124. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  125. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  126. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
  127. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
  128. package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
  129. package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
  130. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  131. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  132. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  133. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  134. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  135. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  136. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  137. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  138. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  139. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  140. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  141. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  142. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  143. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
  144. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  145. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  146. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  147. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  148. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
  149. package/dist/components/widget/SwapRate/utils.js.map +1 -1
  150. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +4 -1
  151. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -1
  152. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +51 -28
  153. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  154. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  155. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  156. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  157. package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
  158. package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
  159. package/dist/components/widget/TokenInput/InputField.js.map +1 -1
  160. package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
  161. package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
  162. package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
  163. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
  164. package/dist/components/widget/TokenInput/index.js.map +1 -1
  165. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
  167. package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
  168. package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
  169. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  170. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  172. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  174. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  176. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  178. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  179. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  180. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  181. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  182. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  183. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  184. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  185. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  186. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  187. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  188. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  189. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  190. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  191. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  192. package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
  193. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  194. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  195. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  196. package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
  197. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  198. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  199. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
  200. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
  201. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  202. package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
  203. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  204. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  205. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
  206. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
  207. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  208. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  209. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  210. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  211. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  212. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  213. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  214. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  215. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  216. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
  217. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
  218. package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
  219. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
  220. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  221. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
  222. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
  223. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  224. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  225. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  226. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  227. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  228. package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
  229. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  230. package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
  231. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  232. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  233. package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
  234. package/dist/components/widget/Twap/RateProtection.js.map +1 -1
  235. package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
  236. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  237. package/dist/components/widget/Warning/Warning.js.map +1 -1
  238. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  239. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  240. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  241. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  242. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  243. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  244. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  245. package/dist/core/LimitOrderButton.js.map +1 -1
  246. package/dist/core/LimitOrderDetails.js.map +1 -1
  247. package/dist/core/OtcOrderButton.js.map +1 -1
  248. package/dist/core/OtcOrderDetails.js.map +1 -1
  249. package/dist/core/Toaster.js.map +1 -1
  250. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  251. package/dist/core/TwapDetails.js.map +1 -1
  252. package/dist/core/Updaters.js.map +1 -1
  253. package/dist/core/Warnings.js.map +1 -1
  254. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  255. package/dist/core/across/utils.js.map +1 -1
  256. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  257. package/dist/core/index.js.map +1 -1
  258. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  259. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  260. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  261. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  262. package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
  263. package/dist/core/inputs/hooks/utils.js.map +1 -1
  264. package/dist/core/inputs/state/common.js.map +1 -1
  265. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  266. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  267. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  268. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  269. package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
  270. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  271. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  272. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  273. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
  274. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  275. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  276. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
  277. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  278. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  279. package/dist/core/limit/state/utils.js.map +1 -1
  280. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  281. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  282. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  283. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  284. package/dist/core/limit/useLimitRate.js.map +1 -1
  285. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  286. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  287. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  288. package/dist/core/logger.js.map +1 -1
  289. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  290. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  291. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  292. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  293. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  294. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  295. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  296. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  297. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  298. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  299. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  300. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  301. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  302. package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
  303. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  304. package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
  305. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  306. package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
  307. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
  308. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  309. package/dist/core/screen/state/screenAtom.js.map +1 -1
  310. package/dist/core/state/apiConfigAtom.js.map +1 -1
  311. package/dist/core/state/chainToAtom.js.map +1 -1
  312. package/dist/core/state/configActionsAtom.js.map +1 -1
  313. package/dist/core/state/configAtom.js +2 -2
  314. package/dist/core/state/configAtom.js.map +1 -1
  315. package/dist/core/state/configEffectAtom.js.map +1 -1
  316. package/dist/core/state/containerAtom.js.map +1 -1
  317. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  318. package/dist/core/state/enabledTradeModesAtom.d.ts +7 -1
  319. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
  320. package/dist/core/state/enabledTradeModesAtom.js +1 -1
  321. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  322. package/dist/core/state/externalProviderAtom.js.map +1 -1
  323. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  324. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  325. package/dist/core/state/tradeModeAtom.js +1 -1
  326. package/dist/core/state/tradeModeAtom.js.map +1 -1
  327. package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
  328. package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
  329. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  330. package/dist/core/subscriptions.js.map +1 -1
  331. package/dist/core/swapDetails/fees.js.map +1 -1
  332. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  333. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  334. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  335. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  336. package/dist/core/swapDetails/useSwapDetailsListProps.js +37 -31
  337. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  338. package/dist/core/swapDetails/youGet.js.map +1 -1
  339. package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
  340. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  341. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  342. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  343. package/dist/core/twap/state/twapSideAtom.js.map +1 -1
  344. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  345. package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -1
  346. package/dist/core/twap/useTwapDetailsListProps.js +36 -31
  347. package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
  348. package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
  349. package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
  350. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  351. package/dist/events/effects/formInput.js.map +1 -1
  352. package/dist/events/effects/price.js.map +1 -1
  353. package/dist/events/effects/swapMode.js.map +1 -1
  354. package/dist/events/getters/limit.js.map +1 -1
  355. package/dist/events/getters/otc.js.map +1 -1
  356. package/dist/events/getters/settings.js.map +1 -1
  357. package/dist/events/getters/swap.js.map +1 -1
  358. package/dist/events/getters/twap.js.map +1 -1
  359. package/dist/events/getters/widgetState.js.map +1 -1
  360. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  361. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  362. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  363. package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
  364. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  365. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  366. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  367. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  368. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  369. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  370. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  371. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  372. package/dist/hooks/gas/utils.js.map +1 -1
  373. package/dist/hooks/getCode/query.js.map +1 -1
  374. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  375. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  376. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  377. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  378. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  379. package/dist/hooks/otc/mutations/utils.js.map +1 -1
  380. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  381. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  382. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  383. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  384. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  385. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  386. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  387. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  388. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  389. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  390. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  391. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  392. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  393. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  394. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  395. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  396. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  397. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  398. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  399. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
  400. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  401. package/dist/hooks/permit/utils/constants.js.map +1 -1
  402. package/dist/hooks/permit/utils/construct.js.map +1 -1
  403. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  404. package/dist/hooks/permit/utils/detect.js.map +1 -1
  405. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  406. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  407. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  408. package/dist/hooks/permit/utils/utils.js.map +1 -1
  409. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  410. package/dist/hooks/sdk/useSpender.js.map +1 -1
  411. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  412. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  413. package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
  414. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  415. package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
  416. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  417. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
  418. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  419. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  420. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
  421. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  422. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  423. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  424. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  425. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  426. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  427. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  428. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  429. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  430. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
  431. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  432. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  433. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  434. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  435. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  436. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  437. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  438. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  439. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
  440. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  441. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  442. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  443. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  444. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  445. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  446. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  447. package/dist/hooks/swap/prices/factory.js.map +1 -1
  448. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  449. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  450. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
  451. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  452. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  453. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  454. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  455. package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -7
  456. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  457. package/dist/hooks/swap/prices/useSwapPrices.js +28 -24
  458. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  459. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  460. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  461. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  462. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  463. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  464. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  465. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  466. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  467. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
  468. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  469. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  470. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  471. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
  472. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  473. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  474. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  475. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  476. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  477. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  478. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  479. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  480. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  481. package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
  482. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  483. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  484. package/dist/hooks/tokens/allowance/utils.js.map +1 -1
  485. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  486. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  487. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  488. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  489. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  490. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  491. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
  492. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  493. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  494. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  495. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  496. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  497. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  498. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  499. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  500. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  501. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  502. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  503. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  504. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  505. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  506. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  507. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  508. package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
  509. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  510. package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
  511. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  512. package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
  513. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  514. package/dist/hooks/txs/queries/utils.js.map +1 -1
  515. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  516. package/dist/hooks/useBreakpoints.js.map +1 -1
  517. package/dist/hooks/useBridgeInfo.js.map +1 -1
  518. package/dist/hooks/useBridgeProtocols.js.map +1 -1
  519. package/dist/hooks/useCachedQueryError.js.map +1 -1
  520. package/dist/hooks/useChainMatches.js.map +1 -1
  521. package/dist/hooks/useClickOutside.js.map +1 -1
  522. package/dist/hooks/useCurrentChain.js.map +1 -1
  523. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  524. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  525. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  526. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  527. package/dist/hooks/useMinViemClient.js.map +1 -1
  528. package/dist/hooks/useSDK.js.map +1 -1
  529. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  530. package/dist/hooks/useSlippage.js.map +1 -1
  531. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  532. package/dist/lib/constants/urls.js.map +1 -1
  533. package/dist/lib/ipfs.js.map +1 -1
  534. package/dist/lib/queryClient.js.map +1 -1
  535. package/dist/lib/tradeMode.d.ts +1 -0
  536. package/dist/lib/tradeMode.d.ts.map +1 -1
  537. package/dist/lib/tradeMode.js +4 -1
  538. package/dist/lib/tradeMode.js.map +1 -1
  539. package/dist/lib/utils/approval.js.map +1 -1
  540. package/dist/lib/utils/atomWithCompare.js.map +1 -1
  541. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  542. package/dist/lib/utils/delta.js.map +1 -1
  543. package/dist/lib/utils/dexes.js.map +1 -1
  544. package/dist/lib/utils/explorer.js.map +1 -1
  545. package/dist/lib/utils/fee.js.map +1 -1
  546. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  547. package/dist/lib/utils/formatPercent.js.map +1 -1
  548. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  549. package/dist/lib/utils/index.js.map +1 -1
  550. package/dist/lib/utils/logger.js.map +1 -1
  551. package/dist/lib/utils/metabase.js.map +1 -1
  552. package/dist/lib/utils/mobile.js.map +1 -1
  553. package/dist/lib/utils/price.js.map +1 -1
  554. package/dist/lib/utils/priceImpact.js.map +1 -1
  555. package/dist/lib/utils/providerErrors.js.map +1 -1
  556. package/dist/lib/utils/rate.js.map +1 -1
  557. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  558. package/dist/lib/utils/savedAmountUSD.js.map +1 -1
  559. package/dist/lib/utils/scaleFactor.js.map +1 -1
  560. package/dist/lib/utils/slippage.js.map +1 -1
  561. package/dist/lib/utils/time.js.map +1 -1
  562. package/dist/lib/utils/toDecimal.js.map +1 -1
  563. package/dist/lib/utils/toasts.js.map +1 -1
  564. package/dist/lib/utils/tradeFlow.js.map +1 -1
  565. package/dist/lib/utils/transactionHandlers.js.map +1 -1
  566. package/dist/lib/utils/tuple.js.map +1 -1
  567. package/dist/lib/utils/twap.js.map +1 -1
  568. package/dist/lib/utils/useDateNow.js.map +1 -1
  569. package/dist/lib/web3/wagmi/config.d.ts +0 -18
  570. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  571. package/dist/lib/web3/wagmi/config.js +19 -6
  572. package/dist/lib/web3/wagmi/config.js.map +1 -1
  573. package/dist/lib/web3/wagmi/external.js.map +1 -1
  574. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  575. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  576. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  577. package/dist/styles.css +1 -1
  578. package/dist/tokens/blacklist.js.map +1 -1
  579. package/dist/tokens/constructor.js.map +1 -1
  580. package/dist/tokens/defaultTokens.js.map +1 -1
  581. package/dist/tokens/hooks.js.map +1 -1
  582. package/dist/tokens/lists/constants.js.map +1 -1
  583. package/dist/tokens/lists/download.js.map +1 -1
  584. package/dist/tokens/lists/state/effects.js.map +1 -1
  585. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  586. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  587. package/dist/tokens/overrides.js.map +1 -1
  588. package/dist/tokens/queries.js.map +1 -1
  589. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  590. package/dist/tokens/stabeCoins/index.js.map +1 -1
  591. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  592. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  593. package/dist/tokens/state/constructTokens.js.map +1 -1
  594. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  595. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  596. package/dist/tokens/utils/brand.js.map +1 -1
  597. package/dist/tokens/utils/eth.js.map +1 -1
  598. package/dist/tokens/utils/filtering.js.map +1 -1
  599. package/dist/tokens/utils/sets.js.map +1 -1
  600. package/dist/tokens/utils/sorting.js.map +1 -1
  601. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  602. package/dist/transactions/hash.js.map +1 -1
  603. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  604. package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
  605. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  606. package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
  607. package/dist/transactions/state/effects/finalize.js.map +1 -1
  608. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  609. package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
  610. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  611. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  612. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  613. package/dist/transactions/status.js.map +1 -1
  614. package/dist/transactions/utils.js.map +1 -1
  615. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"CompareQuotes.js","names":["useSwapPrices","useBridgeListItems","BridgesList","isBridgePrice","GenericScreen","useSetScreen","PRICE_REFETCH_INTERVAL_SEC","Button","ReactComponent","RefreshSVG","cn","unorderedShallowEqual","SettingsButton","useBridgePreferences","useIsNotDefaultBridgePreferences","useWidgetEvents","screenClasses","root","const","bridgeListClasses","CompareQuotesScreen","$","_c","delta","t0","price","isFetching","refetch","closeScreen","showBridgePreferencesScreen","showCompareQuotesScreen","bridgePreference","disabledBridges","setBridgePreference","setDisabledBridges","isNotDefaultPreferences","onSettingsChange","t1","undefined","bridgePrice","t2","displayedBridges","allBridges","t3","onGoBack","initialBridgePreference","initialDisabledBridges","onClose","update","event","name","params","onSettingsClick","t4","cancelRefetch","t5","t6","t7","t8","t9","t10","Symbol","for","t11","length","t12","t13"],"sources":["../../../../src/components/widget/CompareQuotes/CompareQuotes.tsx"],"sourcesContent":["import { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useBridgeListItems } from \"../BridgeList/hooks\";\nimport { BridgesList } from \"../BridgeList/BridgesList\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { GenericScreen } from \"../Screen/GenericScreen\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { PRICE_REFETCH_INTERVAL_SEC } from \"@/hooks/swap/prices/constants\";\nimport { Button } from \"@/components/ui/button\";\nimport { ReactComponent as RefreshSVG } from \"@/assets/refresh.svg\";\nimport { cn, unorderedShallowEqual } from \"@/lib/utils\";\nimport { SettingsButton } from \"../SettingsButton/SettingsButton\";\nimport {\n useBridgePreferences,\n useIsNotDefaultBridgePreferences,\n} from \"../TradeParameters/state/bridgePreferences/useBridgePreferences\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\n\nconst screenClasses = {\n root: \"min-h-[571px]\",\n} as const;\nconst bridgeListClasses = {\n root: \"px-6 pb-6 h-[406px] overflow-auto\",\n} as const;\n\nexport const CompareQuotesScreen = () => {\n const {\n delta: { price, isFetching, refetch },\n } = useSwapPrices();\n const { closeScreen, showBridgePreferencesScreen, showCompareQuotesScreen } =\n useSetScreen();\n\n const {\n bridgePreference,\n disabledBridges,\n setBridgePreference,\n setDisabledBridges,\n } = useBridgePreferences();\n\n const isNotDefaultPreferences = useIsNotDefaultBridgePreferences();\n\n const { onSettingsChange } = useWidgetEvents();\n\n const bridgePrice = price && isBridgePrice(price) ? price : undefined;\n const { displayedBridges, allBridges } = useBridgeListItems({ bridgePrice });\n\n const onSettingsClick = () =>\n showBridgePreferencesScreen({\n onGoBack: showCompareQuotesScreen,\n initialBridgePreference: bridgePreference,\n initialDisabledBridges: disabledBridges,\n onClose: (update) => {\n setBridgePreference(update.bridgePreference);\n setDisabledBridges(update.disabledBridges);\n\n if (\n bridgePreference !== update.bridgePreference ||\n !unorderedShallowEqual(disabledBridges, update.disabledBridges)\n ) {\n onSettingsChange?.({\n event: {\n name: \"Settings:changeBridgePreferences\",\n params: {\n bridgePreference: update.bridgePreference,\n disabledBridges: update.disabledBridges,\n },\n },\n });\n }\n },\n });\n\n return (\n <GenericScreen\n showBackButton\n title=\"Compare Quotes\"\n onGoBack={closeScreen}\n classes={screenClasses}\n closeButtonReplacement={\n <div className=\"flex items-center gap-3.5\">\n <Button\n variant=\"ghost\"\n onClick={() => refetch({ cancelRefetch: false })}\n disabled={isFetching}\n >\n <RefreshSVG\n className={cn(\"fill-contrast-5 dark:fill-contrast-6\", {\n \"animate-spin\": isFetching,\n })}\n />\n </Button>\n <SettingsButton\n onClick={onSettingsClick}\n showEllipseIcon={isNotDefaultPreferences}\n />\n </div>\n }\n >\n <div className=\"px-6 pb-4 text-contrast-5 text-sm leading-5\">\n Our quotes are ranked by expected output, accounting for execution\n accuracy, cost, and speed.\n </div>\n <BridgesList\n bridges={displayedBridges}\n totalLength={allBridges.length}\n isLoading={isFetching}\n showViewAllButton={false}\n classes={bridgeListClasses}\n />\n <div className=\"text-contrast-5 text-sm text-center leading-5 pb-6\">\n Refreshing quotes every {PRICE_REFETCH_INTERVAL_SEC} seconds\n </div>\n </GenericScreen>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"CompareQuotes.js","names":["useSwapPrices","useBridgeListItems","BridgesList","isBridgePrice","GenericScreen","useSetScreen","PRICE_REFETCH_INTERVAL_SEC","unorderedShallowEqual","SettingsButton","RefreshButton","useBridgePreferences","useIsNotDefaultBridgePreferences","useWidgetEvents","screenClasses","root","const","bridgeListClasses","CompareQuotesScreen","$","_c","delta","t0","price","isFetching","refetch","closeScreen","showBridgePreferencesScreen","showCompareQuotesScreen","bridgePreference","disabledBridges","setBridgePreference","setDisabledBridges","isNotDefaultPreferences","onSettingsChange","t1","undefined","bridgePrice","t2","displayedBridges","allBridges","t3","onGoBack","initialBridgePreference","initialDisabledBridges","onClose","update","event","name","params","onSettingsClick","t4","cancelRefetch","t5","t6","t7","t8","Symbol","for","t9","length","t10","t11"],"sources":["../../../../src/components/widget/CompareQuotes/CompareQuotes.tsx"],"sourcesContent":["import { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useBridgeListItems } from \"../BridgeList/hooks\";\nimport { BridgesList } from \"../BridgeList/BridgesList\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { GenericScreen } from \"../Screen/GenericScreen\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\nimport { PRICE_REFETCH_INTERVAL_SEC } from \"@/hooks/swap/prices/constants\";\nimport { unorderedShallowEqual } from \"@/lib/utils\";\nimport { SettingsButton } from \"../SettingsButton/SettingsButton\";\nimport { RefreshButton } from \"../Button/RefreshButton\";\nimport {\n useBridgePreferences,\n useIsNotDefaultBridgePreferences,\n} from \"../TradeParameters/state/bridgePreferences/useBridgePreferences\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\n\nconst screenClasses = {\n root: \"min-h-[571px]\",\n} as const;\nconst bridgeListClasses = {\n root: \"px-6 pb-6 h-[406px] overflow-auto\",\n} as const;\n\nexport const CompareQuotesScreen = () => {\n const {\n delta: { price, isFetching, refetch },\n } = useSwapPrices();\n const { closeScreen, showBridgePreferencesScreen, showCompareQuotesScreen } =\n useSetScreen();\n\n const {\n bridgePreference,\n disabledBridges,\n setBridgePreference,\n setDisabledBridges,\n } = useBridgePreferences();\n\n const isNotDefaultPreferences = useIsNotDefaultBridgePreferences();\n\n const { onSettingsChange } = useWidgetEvents();\n\n const bridgePrice = price && isBridgePrice(price) ? price : undefined;\n const { displayedBridges, allBridges } = useBridgeListItems({ bridgePrice });\n\n const onSettingsClick = () =>\n showBridgePreferencesScreen({\n onGoBack: showCompareQuotesScreen,\n initialBridgePreference: bridgePreference,\n initialDisabledBridges: disabledBridges,\n onClose: (update) => {\n setBridgePreference(update.bridgePreference);\n setDisabledBridges(update.disabledBridges);\n\n if (\n bridgePreference !== update.bridgePreference ||\n !unorderedShallowEqual(disabledBridges, update.disabledBridges)\n ) {\n onSettingsChange?.({\n event: {\n name: \"Settings:changeBridgePreferences\",\n params: {\n bridgePreference: update.bridgePreference,\n disabledBridges: update.disabledBridges,\n },\n },\n });\n }\n },\n });\n\n return (\n <GenericScreen\n showBackButton\n title=\"Compare Quotes\"\n onGoBack={closeScreen}\n classes={screenClasses}\n closeButtonReplacement={\n <div className=\"flex items-center gap-3.5\">\n <RefreshButton\n onClick={() => refetch({ cancelRefetch: false })}\n disabled={isFetching}\n animate={isFetching}\n />\n <SettingsButton\n onClick={onSettingsClick}\n showEllipseIcon={isNotDefaultPreferences}\n />\n </div>\n }\n >\n <div className=\"px-6 pb-4 text-contrast-5 text-sm leading-5\">\n Our quotes are ranked by expected output, accounting for execution\n accuracy, cost, and speed.\n </div>\n <BridgesList\n bridges={displayedBridges}\n totalLength={allBridges.length}\n isLoading={isFetching}\n showViewAllButton={false}\n classes={bridgeListClasses}\n />\n <div className=\"text-contrast-5 text-sm text-center leading-5 pb-6\">\n Refreshing quotes every {PRICE_REFETCH_INTERVAL_SEC} seconds\n </div>\n </GenericScreen>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailWithTooltip.js","names":["Tooltip","TooltipContent","TooltipTrigger","InfoIcon","DetailWithTooltipProps","cn","DetailWithTooltip","React","FC","t0","$","_c","detail","tooltip","classes","t1","root","t2","t3","icon","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/Details/DetailWithTooltip.tsx"],"sourcesContent":["import {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { InfoIcon } from \"@/components/widget/Icon/InfoIcon\";\nimport type { DetailWithTooltipProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\n\nexport const DetailWithTooltip: React.FC<DetailWithTooltipProps> = ({\n detail,\n tooltip,\n classes,\n}) => {\n return (\n <div className={cn(\"flex items-center gap-[6px] text-xs\", classes?.root)}>\n {detail}\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className={cn(\"size-[16px]\", classes?.icon)} />\n </TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n </div>\n );\n};\n"],"mappings":";;;;;;AASA,IAAaM,KAAsDG,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,WAAAC,YAAAC,eAAAL,GAMNM,IAAAD,GAAOE,MAAMC;AAAA,CAAAP,EAAA,OAAAK,IAACE,IAAAP,EAAA,MAAxDO,IAAAZ,EAAG,uCAAuCU,EAAc,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAO;CAI3B,IAAAC,IAAAJ,GAAOK,MAAMC;AAAA,CAAAV,EAAA,OAAAQ,IAACE,IAAAV,EAAA,MAAhCU,IAAAf,EAAG,eAAea,EAAc,EAAAR,EAAA,KAAAQ,GAAAR,EAAA,KAAAU;CAAA,IAAAC;AAAA,CAAAX,EAAA,OAAAU,IACtCC,IAAAX,EAAA,MAFjBW,IAAA,kBAAC,GAAD;EAAgB,SAAA;YACd,kBAAC,GAAD,EAAqB,WAAAD,GACvB,CAAA;EAAiB,CAAA,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAW;CAAA,IAAAC;AAAA,CAAAZ,EAAA,OAAAG,IACyBS,IAAAZ,EAAA,MAA1CY,IAAA,kBAAC,GAAD,EAAA,UAAiBT,GAAyB,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAY;CAAA,IAAAC;AAAA,CAAAb,EAAA,OAAAW,KAAAX,EAAA,OAAAY,KAJ5CC,IAAA,kBAAC,GAAD,EAAA,UAAA,CACEF,GAGAC,EACQ,EAAA,CAAA,EAAAZ,EAAA,KAAAW,GAAAX,EAAA,KAAAY,GAAAZ,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAc;AACN,QADMd,EAAA,QAAAE,KAAAF,EAAA,QAAAO,KAAAP,EAAA,QAAAa,KAPZC,IAAA,kBAAA,OAAA;EAAgB,WAAAP;YAAhB,CACGL,GACDW,EAMI;KAAAb,EAAA,MAAAE,GAAAF,EAAA,MAAAO,GAAAP,EAAA,MAAAa,GAAAb,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KARNc"}
1
+ {"version":3,"file":"DetailWithTooltip.js","names":["Tooltip","TooltipContent","TooltipTrigger","InfoIcon","DetailWithTooltipProps","cn","DetailWithTooltip","React","FC","t0","$","_c","detail","tooltip","classes","t1","root","t2","t3","icon","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/Details/DetailWithTooltip.tsx"],"sourcesContent":["import {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { InfoIcon } from \"@/components/widget/Icon/InfoIcon\";\nimport type { DetailWithTooltipProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\n\nexport const DetailWithTooltip: React.FC<DetailWithTooltipProps> = ({\n detail,\n tooltip,\n classes,\n}) => {\n return (\n <div className={cn(\"flex items-center gap-[6px] text-xs\", classes?.root)}>\n {detail}\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon className={cn(\"size-[16px]\", classes?.icon)} />\n </TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n </div>\n );\n};\n"],"mappings":";;;;;;AASA,IAAaM,KAAsDG,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,WAAAC,YAAAC,eAAAL,GAMNM,IAAAD,GAAOE,MAAMC;CAAA,AAAAP,EAAA,OAAAK,IAACE,IAAAP,EAAA,MAAxDO,IAAAZ,EAAG,uCAAuCU,EAAc,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAO;CAI3B,IAAAC,IAAAJ,GAAOK,MAAMC;CAAA,AAAAV,EAAA,OAAAQ,IAACE,IAAAV,EAAA,MAAhCU,IAAAf,EAAG,eAAea,EAAc,EAAAR,EAAA,KAAAQ,GAAAR,EAAA,KAAAU;CAAA,IAAAC;CAAA,AAAAX,EAAA,OAAAU,IACtCC,IAAAX,EAAA,MAFjBW,IAAA,kBAAC,GAAD;EAAgB,SAAA;YACd,kBAAC,GAAD,EAAqB,WAAAD,GACvB,CAAA;EAAiB,CAAA,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAW;CAAA,IAAAC;CAAA,AAAAZ,EAAA,OAAAG,IACyBS,IAAAZ,EAAA,MAA1CY,IAAA,kBAAC,GAAD,EAAA,UAAiBT,GAAyB,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAY;CAAA,IAAAC;CAAA,AAAAb,EAAA,OAAAW,KAAAX,EAAA,OAAAY,KAJ5CC,IAAA,kBAAC,GAAD,EAAA,UAAA,CACEF,GAGAC,EACQ,EAAA,CAAA,EAAAZ,EAAA,KAAAW,GAAAX,EAAA,KAAAY,GAAAZ,EAAA,MAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAc;CACN,OADMd,EAAA,QAAAE,KAAAF,EAAA,QAAAO,KAAAP,EAAA,QAAAa,KAPZC,IAAA,kBAAA,OAAA;EAAgB,WAAAP;YAAhB,CACGL,GACDW,EAMI;KAAAb,EAAA,MAAAE,GAAAF,EAAA,MAAAO,GAAAP,EAAA,MAAAa,GAAAb,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KARNc"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailWithValueList.js","names":["cn","DetailWithTooltip","DetailWithValueListProps","Skeleton","DetailWithValueList","React","FC","t0","$","_c","details","classes","t1","root","t2","t3","title","value","t4","t5","index","tooltip","detailClasses","tooltipClasses","key","isLoading","left","right","map"],"sources":["../../../../src/components/widget/Details/DetailWithValueList.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { DetailWithTooltip } from \"./DetailWithTooltip\";\nimport type { DetailWithValueListProps } from \"./types\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\nexport const DetailWithValueList: React.FC<DetailWithValueListProps> = ({\n details,\n classes,\n}) => {\n return (\n <div className={cn(\"flex flex-col gap-4 text-xs\", classes?.root)}>\n {details.map(\n (\n {\n title,\n value,\n tooltip,\n classes: detailClasses,\n tooltipClasses,\n key,\n isLoading,\n },\n index\n ) => {\n const left = (\n <div className={cn(classes?.title, detailClasses?.title)}>\n {tooltip ? (\n <DetailWithTooltip\n detail={title}\n tooltip={tooltip}\n classes={tooltipClasses}\n />\n ) : (\n title\n )}\n </div>\n );\n\n const right = (\n <div\n className={cn(\n \"font-geist-mono dark:text-contrast-7 text-right\",\n classes?.value,\n detailClasses?.value\n )}\n >\n {isLoading ? (\n <Skeleton className=\"min-w-[42px] h-[12px]\" />\n ) : (\n (value ?? \"-\")\n )}\n </div>\n );\n\n return (\n <div\n key={key ?? index}\n className=\"flex items-center justify-between gap-2\"\n >\n {left}\n {right}\n </div>\n );\n }\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaI,KAA0DG,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,YAAAC,eAAAJ,GAKlBK,IAAAD,GAAOE,MAAMC;AAAA,CAAAN,EAAA,OAAAI,IAACE,IAAAN,EAAA,MAAhDM,IAAAd,EAAG,+BAA+BY,EAAc,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAM;CAAA,IAAAC;AAAA,KAAAP,EAAA,OAAAG,GAAAK,SAAAR,EAAA,OAAAG,GAAAM,SAAAT,EAAA,OAAAE,GAAA;EAAA,IAAAQ;AAsD7DV,EAtD6DA,EAAA,OAAAG,GAAAK,SAAAR,EAAA,OAAAG,GAAAM,SAE5DC,KAAAC,GAAAC,MAAA;GACE,IAAA,EAAAJ,UAAAC,UAAAI,YAAAV,SAAAW,GAAAC,mBAAAC,QAAAC,iBAAAN;AAuCE,UAGA,kBAAA,OAAA;IAEY,WAAA;cAFZ,CA9BA,kBAAA,OAAA;KAAgB,WAAAnB,EAAGW,GAAOK,OAASM,GAAaN,MAAO;eACpDK,IACC,kBAAC,GAAD;MACUL,QAAAA;MACCK;MACAE,SAAAA;MAIZ,CAAA,GARAP;KASG,CAAA,EAIN,kBAAA,OAAA;KACa,WAAAhB,EACT,mDACAW,GAAOM,OACPK,GAAaL,MACf;eAECQ,IACC,kBAAC,GAAD,EAAoB,WAAA,yBAGrB,CAAA,GADER,KAAA;KAEC,CAAA,CAUA;MALCO,KAAAJ,EAKD;KAETZ,EAAA,KAAAG,GAAAK,OAAAR,EAAA,KAAAG,GAAAM,OAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IApDFO,IAAAL,EAAOkB,IACNV,EAoDD,EAAAV,EAAA,KAAAG,GAAAK,OAAAR,EAAA,KAAAG,GAAAM,OAAAT,EAAA,KAAAE,GAAAF,EAAA,KAAAO;OAAAA,KAAAP,EAAA;CAAA,IAAAU;AACG,QADHV,EAAA,OAAAM,KAAAN,EAAA,QAAAO,KAtDHG,IAAA,kBAAA,OAAA;EAAgB,WAAAJ;YACbC;EAsDG,CAAA,EAAAP,EAAA,KAAAM,GAAAN,EAAA,MAAAO,GAAAP,EAAA,MAAAU,KAAAA,IAAAV,EAAA,KAvDNU"}
1
+ {"version":3,"file":"DetailWithValueList.js","names":["cn","DetailWithTooltip","DetailWithValueListProps","Skeleton","DetailWithValueList","React","FC","t0","$","_c","details","classes","t1","root","t2","t3","title","value","t4","t5","index","tooltip","detailClasses","tooltipClasses","key","isLoading","left","right","map"],"sources":["../../../../src/components/widget/Details/DetailWithValueList.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { DetailWithTooltip } from \"./DetailWithTooltip\";\nimport type { DetailWithValueListProps } from \"./types\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\n\nexport const DetailWithValueList: React.FC<DetailWithValueListProps> = ({\n details,\n classes,\n}) => {\n return (\n <div className={cn(\"flex flex-col gap-4 text-xs\", classes?.root)}>\n {details.map(\n (\n {\n title,\n value,\n tooltip,\n classes: detailClasses,\n tooltipClasses,\n key,\n isLoading,\n },\n index\n ) => {\n const left = (\n <div className={cn(classes?.title, detailClasses?.title)}>\n {tooltip ? (\n <DetailWithTooltip\n detail={title}\n tooltip={tooltip}\n classes={tooltipClasses}\n />\n ) : (\n title\n )}\n </div>\n );\n\n const right = (\n <div\n className={cn(\n \"font-geist-mono dark:text-contrast-7 text-right\",\n classes?.value,\n detailClasses?.value\n )}\n >\n {isLoading ? (\n <Skeleton className=\"min-w-[42px] h-[12px]\" />\n ) : (\n (value ?? \"-\")\n )}\n </div>\n );\n\n return (\n <div\n key={key ?? index}\n className=\"flex items-center justify-between gap-2\"\n >\n {left}\n {right}\n </div>\n );\n }\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaI,KAA0DG,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,YAAAC,eAAAJ,GAKlBK,IAAAD,GAAOE,MAAMC;CAAA,AAAAN,EAAA,OAAAI,IAACE,IAAAN,EAAA,MAAhDM,IAAAd,EAAG,+BAA+BY,EAAc,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAM;CAAA,IAAAC;CAAA,IAAAP,EAAA,OAAAG,GAAAK,SAAAR,EAAA,OAAAG,GAAAM,SAAAT,EAAA,OAAAE,GAAA;EAAA,IAAAQ;EAsD7DV,AAtD6DA,EAAA,OAAAG,GAAAK,SAAAR,EAAA,OAAAG,GAAAM,SAE5DC,KAAAC,GAAAC,MAAA;GACE,IAAA,EAAAJ,UAAAC,UAAAI,YAAAV,SAAAW,GAAAC,mBAAAC,QAAAC,iBAAAN;GAuCE,OAGA,kBAAA,OAAA;IAEY,WAAA;cAFZ,CA9BA,kBAAA,OAAA;KAAgB,WAAAnB,EAAGW,GAAOK,OAASM,GAAaN,MAAO;eACpDK,IACC,kBAAC,GAAD;MACUL,QAAAA;MACCK;MACAE,SAAAA;MAIZ,CAAA,GARAP;KASG,CAwBHU,EApBH,kBAAA,OAAA;KACa,WAAA1B,EACT,mDACAW,GAAOM,OACPK,GAAaL,MACf;eAECQ,IACC,kBAAC,GAAD,EAAoB,WAAA,yBAGrB,CAAA,GADER,KAAA;KAEC,CASHU,CACG;MALCH,KAAAJ,EAKD;KAETZ,EAAA,KAAAG,GAAAK,OAAAR,EAAA,KAAAG,GAAAM,OAAAT,EAAA,KAAAU,KAAAA,IAAAV,EAAA,IApDFO,IAAAL,EAAOkB,IACNV,EAoDD,EAAAV,EAAA,KAAAG,GAAAK,OAAAR,EAAA,KAAAG,GAAAM,OAAAT,EAAA,KAAAE,GAAAF,EAAA,KAAAO;QAAAA,IAAAP,EAAA;CAAA,IAAAU;CACG,OADHV,EAAA,OAAAM,KAAAN,EAAA,QAAAO,KAtDHG,IAAA,kBAAA,OAAA;EAAgB,WAAAJ;YACbC;EAsDG,CAAA,EAAAP,EAAA,KAAAM,GAAAN,EAAA,MAAAO,GAAAP,EAAA,MAAAU,KAAAA,IAAAV,EAAA,KAvDNU"}
@@ -1 +1 @@
1
- {"version":3,"file":"DetailWithValueListExpandable.js","names":["Accordion","AccordionItem","AccordionTrigger","AccordionContent","DetailWithValueListExpandableProps","DetailWithValueList","DetailWithValueListExpandable","React","FC","t0","$","_c","trigger","details","classes","alwaysOpen","t1","undefined","t2","t3","root","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/Details/DetailWithValueListExpandable.tsx"],"sourcesContent":["import {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"@/components/ui/accordion\";\nimport type { DetailWithValueListExpandableProps } from \"./types\";\nimport { DetailWithValueList } from \"./DetailWithValueList\";\n\nexport const DetailWithValueListExpandable: React.FC<\n DetailWithValueListExpandableProps\n> = ({ trigger, details, classes, alwaysOpen }) => {\n return (\n <Accordion\n type=\"single\"\n value={alwaysOpen ? \"item-1\" : undefined}\n collapsible={!alwaysOpen}\n className={classes?.root}\n >\n <AccordionItem value=\"item-1\">\n <AccordionTrigger className={classes?.trigger}>\n {trigger}\n </AccordionTrigger>\n <AccordionContent>\n <DetailWithValueList details={details} />\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n"],"mappings":";;;;;AASA,IAAaM,KAETG,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,YAAAC,YAAAC,YAAAC,kBAAAN,GAIQO,IAAAD,IAAA,WAAAE,KAAAA,GACMC,IAAA,CAACH,GACHI,IAAAL,GAAOM,MAGaC,IAAAP,GAAOF,SAASU;AAAA,CAAAZ,EAAA,OAAAW,KAAAX,EAAA,OAAAE,KAA7CU,IAAA,kBAAC,GAAD;EAA6B,WAAAD;YAC1BT;EACgB,CAAA,EAAAF,EAAA,KAAAW,GAAAX,EAAA,KAAAE,GAAAF,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,OAAAG,IAGAU,IAAAb,EAAA,MAFnBa,IAAA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAA8BV,YAChC,CAAA,EAAmB,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAa;CAAA,IAAAC;AAAA,CAAAd,EAAA,OAAAY,KAAAZ,EAAA,OAAAa,KANrBC,IAAA,kBAAC,GAAD;EAAqB,OAAA;YAArB,CACEF,GAGAC,EAGc;KAAAb,EAAA,KAAAY,GAAAZ,EAAA,KAAAa,GAAAb,EAAA,KAAAc,KAAAA,IAAAd,EAAA;CAAA,IAAAe;AACN,QADMf,EAAA,OAAAM,KAAAN,EAAA,OAAAQ,KAAAR,EAAA,QAAAS,KAAAT,EAAA,QAAAc,KAblBC,IAAA,kBAAC,GAAD;EACO,MAAA;EACE,OAAAT;EACM,aAAAE;EACF,WAAAC;YAEXK;EAQU,CAAA,EAAAd,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAc,GAAAd,EAAA,MAAAe,KAAAA,IAAAf,EAAA,KAdZe"}
1
+ {"version":3,"file":"DetailWithValueListExpandable.js","names":["Accordion","AccordionItem","AccordionTrigger","AccordionContent","DetailWithValueListExpandableProps","DetailWithValueList","DetailWithValueListExpandable","React","FC","t0","$","_c","trigger","details","classes","alwaysOpen","t1","undefined","t2","t3","root","t4","t5","t6","t7","t8"],"sources":["../../../../src/components/widget/Details/DetailWithValueListExpandable.tsx"],"sourcesContent":["import {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from \"@/components/ui/accordion\";\nimport type { DetailWithValueListExpandableProps } from \"./types\";\nimport { DetailWithValueList } from \"./DetailWithValueList\";\n\nexport const DetailWithValueListExpandable: React.FC<\n DetailWithValueListExpandableProps\n> = ({ trigger, details, classes, alwaysOpen }) => {\n return (\n <Accordion\n type=\"single\"\n value={alwaysOpen ? \"item-1\" : undefined}\n collapsible={!alwaysOpen}\n className={classes?.root}\n >\n <AccordionItem value=\"item-1\">\n <AccordionTrigger className={classes?.trigger}>\n {trigger}\n </AccordionTrigger>\n <AccordionContent>\n <DetailWithValueList details={details} />\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n"],"mappings":";;;;;AASA,IAAaM,KAETG,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,YAAAC,YAAAC,YAAAC,kBAAAN,GAIQO,IAAAD,IAAA,WAAAE,KAAAA,GACMC,IAAA,CAACH,GACHI,IAAAL,GAAOM,MAGaC,IAAAP,GAAOF,SAASU;CAAA,AAAAZ,EAAA,OAAAW,KAAAX,EAAA,OAAAE,KAA7CU,IAAA,kBAAC,GAAD;EAA6B,WAAAD;YAC1BT;EACgB,CAAA,EAAAF,EAAA,KAAAW,GAAAX,EAAA,KAAAE,GAAAF,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;CAAA,AAAAb,EAAA,OAAAG,IAGAU,IAAAb,EAAA,MAFnBa,IAAA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAA8BV,YAChC,CAAA,EAAmB,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAa;CAAA,IAAAC;CAAA,AAAAd,EAAA,OAAAY,KAAAZ,EAAA,OAAAa,KANrBC,IAAA,kBAAC,GAAD;EAAqB,OAAA;YAArB,CACEF,GAGAC,EAGc;KAAAb,EAAA,KAAAY,GAAAZ,EAAA,KAAAa,GAAAb,EAAA,KAAAc,KAAAA,IAAAd,EAAA;CAAA,IAAAe;CACN,OADMf,EAAA,OAAAM,KAAAN,EAAA,OAAAQ,KAAAR,EAAA,QAAAS,KAAAT,EAAA,QAAAc,KAblBC,IAAA,kBAAC,GAAD;EACO,MAAA;EACE,OAAAT;EACM,aAAAE;EACF,WAAAC;YAEXK;EAQU,CAAA,EAAAd,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAc,GAAAd,EAAA,MAAAe,KAAAA,IAAAf,EAAA,KAdZe"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwapDetailsExpandable.js","names":["useSwapDetailsListProps","DetailWithValueListExpandable","SwapDetailsExpandable","$","_c","props","t0"],"sources":["../../../../src/components/widget/Details/SwapDetailsExpandable.tsx"],"sourcesContent":["import { useSwapDetailsListProps } from \"@/core/swapDetails/useSwapDetailsListProps\";\nimport { DetailWithValueListExpandable } from \"./DetailWithValueListExpandable\";\n\nexport const SwapDetailsExpandable = () => {\n const props = useSwapDetailsListProps();\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnCC,IAAcL,GAAyB,EAACM;AACW,QADXH,EAAA,OAAAE,IACWC,IAAAH,EAAA,MAA5CG,IAAA,kBAAC,GAAD,EAA8B,GAAKD,GAAS,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAA5CA"}
1
+ {"version":3,"file":"SwapDetailsExpandable.js","names":["useSwapDetailsListProps","DetailWithValueListExpandable","SwapDetailsExpandable","$","_c","props","t0"],"sources":["../../../../src/components/widget/Details/SwapDetailsExpandable.tsx"],"sourcesContent":["import { useSwapDetailsListProps } from \"@/core/swapDetails/useSwapDetailsListProps\";\nimport { DetailWithValueListExpandable } from \"./DetailWithValueListExpandable\";\n\nexport const SwapDetailsExpandable = () => {\n const props = useSwapDetailsListProps();\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAwB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACnCC,IAAcL,GAAyB,EAACM;CACW,OADXH,EAAA,OAAAE,IACWC,IAAAH,EAAA,MAA5CG,IAAA,kBAAC,GAAD,EAA8B,GAAKD,GAAS,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAA5CA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DexItem.js","names":["InfoIcon","Tooltip","TooltipTrigger","TooltipContent","DexItemProps","SwapRate","formatFiatPrice","ImgHTMLAttributes","JSX","SyntheticEvent","useWidgetConfig","unknownDexSVGUrl","VeloraLightSVGUrl","VeloraDarkSVGUrl","UniswapSVGUrl","ReactComponent","GasSVG","HashflowPNGUrl","BiswapPNGUrl","CheeseswapPNGUrl","ComplusswapPNGUrl","ShibaswapPNGUrl","QuickswapPNGUrl","dexIconUrls","VeloraDex","DetailWithValueList","formatUnits","toDecimalTrimmed","isTruthy","getDestAmountAfterFeeAndSlippage","useSlippage","amountAfterSlippage","DetailWithValue","dexIconUrlsMap","Record","DexItem","t0","$","_c","price","exchange","gasCostUSD","srcAmount","destAmount","savedAmountUSD","srcToken","destToken","quote","is100Percent","dexName","renamedDexes","t1","t2","t3","t4","side","t5","t6","Symbol","for","t7","t8","t9","t10","t11","t12","t13","detailsClasses","root","value","TooltipDexInfo","resolvedSlippage","decimals","symbol","srcAmountUnit","BigInt","destAmountUnit","minMaxDetail","maxSrcAmount","toFixed","maxSrcAmountUnit","formattedMaxSrcAmount","minDestAmount","slippagePercent","minDestAmountUnit","formattedMinDestAmount","formatedSrcAmount","formatedDestAmount","title","filter","details","paraswaplimitorders","uniswapforkoptimized","onDexImageError","e","HTMLImageElement","Event","currentTarget","src","DexIcon","props","DexIconComp","loweredExchange","toLowerCase","IconComp","iconComponents","iconUrl","VeloraIcon","theme","Element","velora","augustusrfq","uniswap","quickswap","hashflow","biswap","cheeseswap","shibaswap","complusswap"],"sources":["../../../../src/components/widget/DexesList/DexItem.tsx"],"sourcesContent":["import { InfoIcon } from \"lucide-react\";\n\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n} from \"@/components/ui/tooltip\";\nimport type { DexItemProps } from \"./types\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { ImgHTMLAttributes, JSX, SyntheticEvent } from \"react\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\n\nimport unknownDexSVGUrl from \"./assets/unknown-dex.svg?url\";\nimport VeloraLightSVGUrl from \"./assets/exchanges/velora-light.svg?url\";\nimport VeloraDarkSVGUrl from \"./assets/exchanges/velora-dark.svg?url\";\nimport UniswapSVGUrl from \"./assets/exchanges/uniswap.svg?url\";\nimport { ReactComponent as GasSVG } from \"./assets/gas.svg\";\n\n// following icons can't be fetched from origin source because of CloudFlare protection\nimport HashflowPNGUrl from \"./assets/exchanges/hashflow.png?url\";\nimport BiswapPNGUrl from \"./assets/exchanges/biswap.png?url\";\nimport CheeseswapPNGUrl from \"./assets/exchanges/cheeseswap.png?url\";\nimport ComplusswapPNGUrl from \"./assets/exchanges/complusswap.png?url\";\nimport ShibaswapPNGUrl from \"./assets/exchanges/shibaswap.png?url\";\nimport QuickswapPNGUrl from \"./assets/exchanges/quickswap.png?url\";\n\nimport dexIconUrls from \"./assets/exchanges/icons.json\";\nimport { VeloraDex } from \"./constants\";\nimport { DetailWithValueList } from \"../Details/DetailWithValueList\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport type { DetailWithValue } from \"../Details/types\";\n\nconst dexIconUrlsMap: Record<string, string> = dexIconUrls;\n\nexport const DexItem = ({\n price,\n exchange,\n gasCostUSD,\n srcAmount,\n destAmount,\n savedAmountUSD,\n srcToken,\n destToken,\n quote,\n is100Percent,\n}: DexItemProps) => {\n const dexName = renamedDexes[exchange] ?? exchange;\n\n return (\n <div className=\"text-xs px-3 py-2 bg-contrast-9 dark:bg-contrast-3 rounded-sm flex items-center justify-between gap-1 wrap-anywhere\">\n <div className=\"flex items-center justify-center gap-1.5\">\n <DexIconComp exchange={exchange} />\n <div className=\"font-medium text-contrast-4 dark:text-contrast-9 overflow-hidden whitespace-nowrap text-ellipsis\">\n {dexName}\n </div>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"flex flex-col gap-1\">\n <div className=\"text-contrast-3 dark:text-contrast-7 font-geist-mono text-end\">\n <SwapRate\n srcToken={srcToken}\n destToken={destToken}\n srcAmountWei={srcAmount}\n destAmountWei={destAmount}\n reverse={price.side === \"BUY\"}\n />\n </div>\n <div className=\"text-[11px] text-contrast-5 flex items-center gap-1 justify-end pr-0.5\">\n <GasSVG /> {formatFiatPrice(+gasCostUSD)}\n </div>\n </div>\n <TooltipDexInfo\n price={price}\n srcAmount={srcAmount}\n srcToken={srcToken}\n destAmount={destAmount}\n destToken={destToken}\n gasCostUSD={gasCostUSD}\n savedAmountUSD={savedAmountUSD}\n quote={quote}\n is100Percent={is100Percent}\n />\n </div>\n </div>\n );\n};\n\n// tooltip\n\nconst detailsClasses = {\n root: \"min-w-[200px]\",\n value: \"dark:text-contrast-3\",\n};\n\nconst TooltipDexInfo = ({\n price,\n srcAmount,\n srcToken,\n destAmount,\n destToken,\n savedAmountUSD,\n gasCostUSD,\n quote,\n is100Percent,\n}: Omit<DexItemProps, \"exchange\">) => {\n const { resolvedSlippage } = useSlippage(\"swap\");\n\n const srcAmountUnit = formatUnits(BigInt(srcAmount), srcToken.decimals);\n const destAmountUnit = formatUnits(BigInt(destAmount), destToken.decimals);\n\n let minMaxDetail: DetailWithValue;\n if (price.side === \"BUY\") {\n const maxSrcAmount = amountAfterSlippage(\n srcAmount,\n resolvedSlippage,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n srcToken.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n minMaxDetail = {\n title: \"Maximum to Pay\",\n value: `${formattedMaxSrcAmount} ${srcToken.symbol}`,\n };\n } else {\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent: resolvedSlippage,\n });\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n destToken.decimals\n );\n const formattedMinDestAmount = toDecimalTrimmed(minDestAmountUnit);\n\n minMaxDetail = {\n title: \"Minimum Received\",\n value: `${formattedMinDestAmount} ${destToken.symbol}`,\n };\n }\n\n const formatedSrcAmount = toDecimalTrimmed(srcAmountUnit);\n const formatedDestAmount = toDecimalTrimmed(destAmountUnit);\n\n const details = [\n {\n title: \"Quote\",\n value: `${is100Percent ? \"100% \" : \"\"} ${quote}`,\n },\n {\n title: \"You Pay\",\n value: `${formatedSrcAmount} ${srcToken.symbol}`,\n },\n {\n title: \"You Receive\",\n value: `${formatedDestAmount} ${destToken.symbol}`,\n },\n minMaxDetail,\n {\n title: \"Exp. Slippage\",\n value: `${resolvedSlippage}%`,\n },\n {\n title: \"Network Fees\",\n value: `$${gasCostUSD}`,\n },\n savedAmountUSD && {\n title: \"You Save\",\n value: `🎉 ${formatFiatPrice(savedAmountUSD)}`,\n },\n ].filter(isTruthy);\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon\n size={16}\n className=\"text-contrast-6 dark:text-contrast-5 cursor-pointer\"\n />\n </TooltipTrigger>\n <TooltipContent>\n <DetailWithValueList details={details} classes={detailsClasses} />\n </TooltipContent>\n </Tooltip>\n );\n};\n\n// names\n\nconst renamedDexes: Record<string, string> = {\n paraswaplimitorders: VeloraDex,\n uniswapforkoptimized: VeloraDex,\n};\n\n// icons\n\nfunction onDexImageError(e: SyntheticEvent<HTMLImageElement, Event>) {\n e.currentTarget.src = unknownDexSVGUrl;\n}\n\nconst DexIcon = (props: ImgHTMLAttributes<HTMLImageElement>) => {\n return <img {...props} className=\"w-4 h-4 rounded-[50%]\" />;\n};\n\nconst DexIconComp = ({ exchange }: { exchange: string }) => {\n const loweredExchange = exchange.toLowerCase();\n\n // component is the priority\n const IconComp = iconComponents[loweredExchange];\n if (IconComp) return <IconComp />;\n\n // then icons by URL since they may fail to load\n const iconUrl = dexIconUrlsMap[loweredExchange];\n if (iconUrl) return <DexIcon src={iconUrl} onError={onDexImageError} />;\n\n // fallback to unknown icon if no match\n return <DexIcon src={unknownDexSVGUrl} />;\n};\n\n// different Velora icon depending on theme mode\nconst VeloraIcon = () => {\n const { theme } = useWidgetConfig();\n const iconUrl = theme === \"dark\" ? VeloraDarkSVGUrl : VeloraLightSVGUrl;\n return <DexIcon src={iconUrl} />;\n};\n\nconst iconComponents: Record<string, () => JSX.Element> = {\n velora: VeloraIcon,\n paraswaplimitorders: VeloraIcon,\n augustusrfq: VeloraIcon,\n // Uniswap icon from origin looks bad in dark mode\n uniswap: () => <DexIcon src={UniswapSVGUrl} />,\n // Quickswap blocks hotlinking (so no <img src=\"quickswap/...\"/>)\n quickswap: () => <DexIcon src={QuickswapPNGUrl} />,\n hashflow: () => <DexIcon src={HashflowPNGUrl} />,\n biswap: () => <DexIcon src={BiswapPNGUrl} />,\n cheeseswap: () => <DexIcon src={CheeseswapPNGUrl} />,\n shibaswap: () => <DexIcon src={ShibaswapPNGUrl} />,\n complusswap: () => <DexIcon src={ComplusswapPNGUrl} />,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"DexItem.js","names":["InfoIcon","Tooltip","TooltipTrigger","TooltipContent","DexItemProps","SwapRate","formatFiatPrice","ImgHTMLAttributes","JSX","SyntheticEvent","useWidgetConfig","unknownDexSVGUrl","VeloraLightSVGUrl","VeloraDarkSVGUrl","UniswapSVGUrl","ReactComponent","GasSVG","HashflowPNGUrl","BiswapPNGUrl","CheeseswapPNGUrl","ComplusswapPNGUrl","ShibaswapPNGUrl","QuickswapPNGUrl","dexIconUrls","VeloraDex","DetailWithValueList","formatUnits","toDecimalTrimmed","isTruthy","getDestAmountAfterFeeAndSlippage","useSlippage","amountAfterSlippage","DetailWithValue","dexIconUrlsMap","Record","DexItem","t0","$","_c","price","exchange","gasCostUSD","srcAmount","destAmount","savedAmountUSD","srcToken","destToken","quote","is100Percent","dexName","renamedDexes","t1","t2","t3","t4","side","t5","t6","Symbol","for","t7","t8","t9","t10","t11","t12","t13","detailsClasses","root","value","TooltipDexInfo","resolvedSlippage","decimals","symbol","srcAmountUnit","BigInt","destAmountUnit","minMaxDetail","maxSrcAmount","toFixed","maxSrcAmountUnit","formattedMaxSrcAmount","minDestAmount","slippagePercent","minDestAmountUnit","formattedMinDestAmount","formatedSrcAmount","formatedDestAmount","title","filter","details","paraswaplimitorders","uniswapforkoptimized","onDexImageError","e","HTMLImageElement","Event","currentTarget","src","DexIcon","props","DexIconComp","loweredExchange","toLowerCase","IconComp","iconComponents","iconUrl","VeloraIcon","theme","Element","velora","augustusrfq","uniswap","quickswap","hashflow","biswap","cheeseswap","shibaswap","complusswap"],"sources":["../../../../src/components/widget/DexesList/DexItem.tsx"],"sourcesContent":["import { InfoIcon } from \"lucide-react\";\n\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n} from \"@/components/ui/tooltip\";\nimport type { DexItemProps } from \"./types\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { ImgHTMLAttributes, JSX, SyntheticEvent } from \"react\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\n\nimport unknownDexSVGUrl from \"./assets/unknown-dex.svg?url\";\nimport VeloraLightSVGUrl from \"./assets/exchanges/velora-light.svg?url\";\nimport VeloraDarkSVGUrl from \"./assets/exchanges/velora-dark.svg?url\";\nimport UniswapSVGUrl from \"./assets/exchanges/uniswap.svg?url\";\nimport { ReactComponent as GasSVG } from \"./assets/gas.svg\";\n\n// following icons can't be fetched from origin source because of CloudFlare protection\nimport HashflowPNGUrl from \"./assets/exchanges/hashflow.png?url\";\nimport BiswapPNGUrl from \"./assets/exchanges/biswap.png?url\";\nimport CheeseswapPNGUrl from \"./assets/exchanges/cheeseswap.png?url\";\nimport ComplusswapPNGUrl from \"./assets/exchanges/complusswap.png?url\";\nimport ShibaswapPNGUrl from \"./assets/exchanges/shibaswap.png?url\";\nimport QuickswapPNGUrl from \"./assets/exchanges/quickswap.png?url\";\n\nimport dexIconUrls from \"./assets/exchanges/icons.json\";\nimport { VeloraDex } from \"./constants\";\nimport { DetailWithValueList } from \"../Details/DetailWithValueList\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport type { DetailWithValue } from \"../Details/types\";\n\nconst dexIconUrlsMap: Record<string, string> = dexIconUrls;\n\nexport const DexItem = ({\n price,\n exchange,\n gasCostUSD,\n srcAmount,\n destAmount,\n savedAmountUSD,\n srcToken,\n destToken,\n quote,\n is100Percent,\n}: DexItemProps) => {\n const dexName = renamedDexes[exchange] ?? exchange;\n\n return (\n <div className=\"text-xs px-3 py-2 bg-contrast-9 dark:bg-contrast-3 rounded-sm flex items-center justify-between gap-1 wrap-anywhere\">\n <div className=\"flex items-center justify-center gap-1.5\">\n <DexIconComp exchange={exchange} />\n <div className=\"font-medium text-contrast-4 dark:text-contrast-9 overflow-hidden whitespace-nowrap text-ellipsis\">\n {dexName}\n </div>\n </div>\n <div className=\"flex items-center gap-1\">\n <div className=\"flex flex-col gap-1\">\n <div className=\"text-contrast-3 dark:text-contrast-7 font-geist-mono text-end\">\n <SwapRate\n srcToken={srcToken}\n destToken={destToken}\n srcAmountWei={srcAmount}\n destAmountWei={destAmount}\n reverse={price.side === \"BUY\"}\n />\n </div>\n <div className=\"text-[11px] text-contrast-5 flex items-center gap-1 justify-end pr-0.5\">\n <GasSVG /> {formatFiatPrice(+gasCostUSD)}\n </div>\n </div>\n <TooltipDexInfo\n price={price}\n srcAmount={srcAmount}\n srcToken={srcToken}\n destAmount={destAmount}\n destToken={destToken}\n gasCostUSD={gasCostUSD}\n savedAmountUSD={savedAmountUSD}\n quote={quote}\n is100Percent={is100Percent}\n />\n </div>\n </div>\n );\n};\n\n// tooltip\n\nconst detailsClasses = {\n root: \"min-w-[200px]\",\n value: \"dark:text-contrast-3\",\n};\n\nconst TooltipDexInfo = ({\n price,\n srcAmount,\n srcToken,\n destAmount,\n destToken,\n savedAmountUSD,\n gasCostUSD,\n quote,\n is100Percent,\n}: Omit<DexItemProps, \"exchange\">) => {\n const { resolvedSlippage } = useSlippage(\"swap\");\n\n const srcAmountUnit = formatUnits(BigInt(srcAmount), srcToken.decimals);\n const destAmountUnit = formatUnits(BigInt(destAmount), destToken.decimals);\n\n let minMaxDetail: DetailWithValue;\n if (price.side === \"BUY\") {\n const maxSrcAmount = amountAfterSlippage(\n srcAmount,\n resolvedSlippage,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n srcToken.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n minMaxDetail = {\n title: \"Maximum to Pay\",\n value: `${formattedMaxSrcAmount} ${srcToken.symbol}`,\n };\n } else {\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent: resolvedSlippage,\n });\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n destToken.decimals\n );\n const formattedMinDestAmount = toDecimalTrimmed(minDestAmountUnit);\n\n minMaxDetail = {\n title: \"Minimum Received\",\n value: `${formattedMinDestAmount} ${destToken.symbol}`,\n };\n }\n\n const formatedSrcAmount = toDecimalTrimmed(srcAmountUnit);\n const formatedDestAmount = toDecimalTrimmed(destAmountUnit);\n\n const details = [\n {\n title: \"Quote\",\n value: `${is100Percent ? \"100% \" : \"\"} ${quote}`,\n },\n {\n title: \"You Pay\",\n value: `${formatedSrcAmount} ${srcToken.symbol}`,\n },\n {\n title: \"You Receive\",\n value: `${formatedDestAmount} ${destToken.symbol}`,\n },\n minMaxDetail,\n {\n title: \"Exp. Slippage\",\n value: `${resolvedSlippage}%`,\n },\n {\n title: \"Network Fees\",\n value: `$${gasCostUSD}`,\n },\n savedAmountUSD && {\n title: \"You Save\",\n value: `🎉 ${formatFiatPrice(savedAmountUSD)}`,\n },\n ].filter(isTruthy);\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon\n size={16}\n className=\"text-contrast-6 dark:text-contrast-5 cursor-pointer\"\n />\n </TooltipTrigger>\n <TooltipContent>\n <DetailWithValueList details={details} classes={detailsClasses} />\n </TooltipContent>\n </Tooltip>\n );\n};\n\n// names\n\nconst renamedDexes: Record<string, string> = {\n paraswaplimitorders: VeloraDex,\n uniswapforkoptimized: VeloraDex,\n};\n\n// icons\n\nfunction onDexImageError(e: SyntheticEvent<HTMLImageElement, Event>) {\n e.currentTarget.src = unknownDexSVGUrl;\n}\n\nconst DexIcon = (props: ImgHTMLAttributes<HTMLImageElement>) => {\n return <img {...props} className=\"w-4 h-4 rounded-[50%]\" />;\n};\n\nconst DexIconComp = ({ exchange }: { exchange: string }) => {\n const loweredExchange = exchange.toLowerCase();\n\n // component is the priority\n const IconComp = iconComponents[loweredExchange];\n if (IconComp) return <IconComp />;\n\n // then icons by URL since they may fail to load\n const iconUrl = dexIconUrlsMap[loweredExchange];\n if (iconUrl) return <DexIcon src={iconUrl} onError={onDexImageError} />;\n\n // fallback to unknown icon if no match\n return <DexIcon src={unknownDexSVGUrl} />;\n};\n\n// different Velora icon depending on theme mode\nconst VeloraIcon = () => {\n const { theme } = useWidgetConfig();\n const iconUrl = theme === \"dark\" ? VeloraDarkSVGUrl : VeloraLightSVGUrl;\n return <DexIcon src={iconUrl} />;\n};\n\nconst iconComponents: Record<string, () => JSX.Element> = {\n velora: VeloraIcon,\n paraswaplimitorders: VeloraIcon,\n augustusrfq: VeloraIcon,\n // Uniswap icon from origin looks bad in dark mode\n uniswap: () => <DexIcon src={UniswapSVGUrl} />,\n // Quickswap blocks hotlinking (so no <img src=\"quickswap/...\"/>)\n quickswap: () => <DexIcon src={QuickswapPNGUrl} />,\n hashflow: () => <DexIcon src={HashflowPNGUrl} />,\n biswap: () => <DexIcon src={BiswapPNGUrl} />,\n cheeseswap: () => <DexIcon src={CheeseswapPNGUrl} />,\n shibaswap: () => <DexIcon src={ShibaswapPNGUrl} />,\n complusswap: () => <DexIcon src={ComplusswapPNGUrl} />,\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DexesList.js","names":["OptimalRate","DexItem","Token","getBestDexProps","getOtherDexesProps","DexesListProps","marketPrice","tokenFrom","tokenTo","DexesList","t0","$","_c","others","length","bestRoute","t1","t2","Symbol","for","bb0","bestDexProps","otherDexesProps","map","dexProps","index"],"sources":["../../../../src/components/widget/DexesList/DexesList.tsx"],"sourcesContent":["import { type OptimalRate } from \"@velora-dex/sdk\";\nimport { DexItem } from \"./DexItem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { getBestDexProps, getOtherDexesProps } from \"./getDexProps\";\n\ntype DexesListProps = {\n marketPrice: OptimalRate;\n tokenFrom: Token;\n tokenTo: Token;\n};\n\nexport const DexesList = ({\n marketPrice,\n tokenFrom,\n tokenTo,\n}: DexesListProps) => {\n if (marketPrice.others?.length === 0) return null;\n if (marketPrice.bestRoute.length === 0) return null;\n\n const bestDexProps = getBestDexProps(marketPrice);\n\n if (!bestDexProps) return null;\n\n const otherDexesProps = getOtherDexesProps({\n marketPrice,\n bestDexProps,\n });\n\n if (!otherDexesProps) return null;\n\n return (\n <div className=\"pt-4 px-2 flex flex-col gap-2\">\n <DexItem\n {...bestDexProps}\n price={marketPrice}\n srcToken={tokenFrom}\n destToken={tokenTo}\n />\n {otherDexesProps.map((dexProps, index) => (\n <DexItem\n {...dexProps}\n key={index}\n price={marketPrice}\n srcToken={tokenFrom}\n destToken={tokenTo}\n />\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;;AAWA,IAAaS,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAN,gBAAAC,cAAAC,eAAAE;AAMxB,KADIJ,EAAWO,QAAeC,WAAK,KAC/BR,EAAWS,UAAUD,WAAY,EAAC,QAAS;CAAK,IAAAE,GAAAC;AAAA,KAAAN,EAAA,OAAAL,KAAAK,EAAA,OAAAJ,KAAAI,EAAA,OAAAH,GAAA;AAI1BS,MAAAC,OAAIC,IAAJ,8BAAI;AAAAC,OAAA;GAF9B,IAAAC,IAAqBlB,EAAgBG,EAAY;AAEjD,OAAI,CAACe,GAAY;AAASJ,QAAA;AAAA,UAAAG;;GAE1B,IAAAE,IAAwBlB,EAAmB;IAAAE;IAAAe;IAG1C,CAAC;AAEF,OAAI,CAACC,GAAe;AAASL,QAAA;AAAA,UAAAG;;AAG3BJ,OAAA,kBAAA,OAAA;IAAe,WAAA;cAAf,CACE,kBAAC,GAAD;KAAQ,GACFK;KACGf,OAAAA;KACGC,UAAAA;KACCC,WAAAA;KAEZ,CAAA,EAAAc,EAAeC,KAAKC,GAAAC,MACnB,kBAAC,GAAD;KAAQ,GACFD;KACCC,KAAAA;KACEnB,OAAAA;KACGC,UAAAA;KACCC,WAAAA;KAEd,CAAA,CAAA,CACG;;;AAAAG,EAAAA,EAAA,KAAAL,GAAAK,EAAA,KAAAJ,GAAAI,EAAA,KAAAH,GAAAG,EAAA,KAAAK,GAAAL,EAAA,KAAAM;OAAAA,CAAAD,IAAAL,EAAA,IAAAM,IAAAN,EAAA;AAAA,QAAAM,MAAAC,OAAAC,IAAA,8BAAA,GAhBNH,IAgBMC"}
1
+ {"version":3,"file":"DexesList.js","names":["OptimalRate","DexItem","Token","getBestDexProps","getOtherDexesProps","DexesListProps","marketPrice","tokenFrom","tokenTo","DexesList","t0","$","_c","others","length","bestRoute","t1","t2","Symbol","for","bb0","bestDexProps","otherDexesProps","map","dexProps","index"],"sources":["../../../../src/components/widget/DexesList/DexesList.tsx"],"sourcesContent":["import { type OptimalRate } from \"@velora-dex/sdk\";\nimport { DexItem } from \"./DexItem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { getBestDexProps, getOtherDexesProps } from \"./getDexProps\";\n\ntype DexesListProps = {\n marketPrice: OptimalRate;\n tokenFrom: Token;\n tokenTo: Token;\n};\n\nexport const DexesList = ({\n marketPrice,\n tokenFrom,\n tokenTo,\n}: DexesListProps) => {\n if (marketPrice.others?.length === 0) return null;\n if (marketPrice.bestRoute.length === 0) return null;\n\n const bestDexProps = getBestDexProps(marketPrice);\n\n if (!bestDexProps) return null;\n\n const otherDexesProps = getOtherDexesProps({\n marketPrice,\n bestDexProps,\n });\n\n if (!otherDexesProps) return null;\n\n return (\n <div className=\"pt-4 px-2 flex flex-col gap-2\">\n <DexItem\n {...bestDexProps}\n price={marketPrice}\n srcToken={tokenFrom}\n destToken={tokenTo}\n />\n {otherDexesProps.map((dexProps, index) => (\n <DexItem\n {...dexProps}\n key={index}\n price={marketPrice}\n srcToken={tokenFrom}\n destToken={tokenTo}\n />\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;;AAWA,IAAaS,KAAYC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAN,gBAAAC,cAAAC,eAAAE;CAMxB,IADIJ,EAAWO,QAAeC,WAAK,KAC/BR,EAAWS,UAAUD,WAAY,GAAC,OAAS;CAAK,IAAAE,GAAAC;CAAA,IAAAN,EAAA,OAAAL,KAAAK,EAAA,OAAAJ,KAAAI,EAAA,OAAAH,GAAA;EAI1BS,IAAAC,OAAIC,IAAJ,8BAAI;EAAAC,KAAA;GAF9B,IAAAC,IAAqBlB,EAAgBG,EAAY;GAEjD,IAAI,CAACe,GAAY;IAASJ,IAAA;IAAA,MAAAG;;GAE1B,IAAAE,IAAwBlB,EAAmB;IAAAE;IAAAe;IAG1C,CAAC;GAEF,IAAI,CAACC,GAAe;IAASL,IAAA;IAAA,MAAAG;;GAG3BJ,IAAA,kBAAA,OAAA;IAAe,WAAA;cAAf,CACE,kBAAC,GAAD;KAAQ,GACFK;KACGf,OAAAA;KACGC,UAAAA;KACCC,WAAAA;KAEZ,CAAA,EAAAc,EAAeC,KAAKC,GAAAC,MACnB,kBAAC,GAAD;KAAQ,GACFD;KACCC,KAAAA;KACEnB,OAAAA;KACGC,UAAAA;KACCC,WAAAA;KAEd,CAAA,CAAA,CACG;;;EAAAG,AAAAA,EAAA,KAAAL,GAAAK,EAAA,KAAAJ,GAAAI,EAAA,KAAAH,GAAAG,EAAA,KAAAK,GAAAL,EAAA,KAAAM;QAAAA,AAAAD,IAAAL,EAAA,IAAAM,IAAAN,EAAA;CAAA,OAAAM,MAAAC,OAAAC,IAAA,8BAAA,GAhBNH,IAgBMC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDexProps.js","names":["isSimplePath","isMultiSwap","isMegaSwap","OptimalRate","DexItemProps","VeloraDex","getSavedAmountUSD","DexProps","Pick","getBestDexProps","marketPrice","bestRoute","srcAmount","destAmount","gasCostUSD","savedAmountUSD","swapExchanges","swaps","exchange","length","dropDEXStable","dropDEXVersion","data","gasUSD","quote","is100Percent","percent","getOtherDexesProps","bestDexProps","maxDexes","otherDexes","others","sortedDexes","slice","sort","a","b","diff","BigInt","addedDexes","Set","uniqueDexes","forEach","dex","trimmed","has","add","push","topDexes","versionRegex","stableRegex","dexKey","replace"],"sources":["../../../../src/components/widget/DexesList/getDexProps.ts"],"sourcesContent":["import { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { DexItemProps } from \"./types\";\nimport { VeloraDex } from \"./constants\";\nimport { getSavedAmountUSD } from \"@/lib/utils/savedAmountUSD\";\n\ntype DexProps = Pick<\n DexItemProps,\n | \"exchange\"\n | \"gasCostUSD\"\n | \"srcAmount\"\n | \"destAmount\"\n | \"savedAmountUSD\"\n | \"quote\"\n | \"is100Percent\"\n>;\n\nexport function getBestDexProps(marketPrice: OptimalRate): DexProps | null {\n const { bestRoute, srcAmount, destAmount, gasCostUSD } = marketPrice;\n\n const savedAmountUSD = getSavedAmountUSD(marketPrice);\n\n if (isSimplePath(bestRoute)) {\n const swapExchanges = bestRoute[0].swaps[0].swapExchanges;\n const exchange = swapExchanges[0];\n if (swapExchanges.length === 1 && exchange) {\n return {\n srcAmount: exchange.srcAmount,\n destAmount: exchange.destAmount,\n exchange: dropDEXStable(dropDEXVersion(exchange.exchange)),\n gasCostUSD: exchange.data.gasUSD,\n savedAmountUSD,\n quote: exchange.exchange,\n is100Percent: bestRoute[0].percent === 100,\n };\n }\n return null;\n }\n\n if (isMultiSwap(bestRoute)) {\n return {\n srcAmount,\n destAmount,\n exchange: VeloraDex,\n gasCostUSD,\n savedAmountUSD,\n quote: \"MultiSwap\",\n };\n }\n\n if (isMegaSwap(bestRoute)) {\n return {\n srcAmount,\n destAmount,\n exchange: VeloraDex,\n gasCostUSD,\n savedAmountUSD,\n quote: \"MegaSwap\",\n };\n }\n\n return null;\n}\n\nexport function getOtherDexesProps({\n marketPrice,\n bestDexProps,\n maxDexes = 2,\n}: {\n marketPrice: OptimalRate;\n bestDexProps: DexProps;\n maxDexes?: number;\n}): DexProps[] | null {\n const otherDexes = marketPrice.others;\n\n if (!otherDexes || otherDexes.length === 0) return null;\n\n // 1. sort by destAmount\n const sortedDexes = otherDexes.slice().sort((a, b) => {\n const diff = BigInt(b.destAmount) - BigInt(a.destAmount);\n if (diff > 0n) return 1;\n if (diff < 0n) return -1;\n return 0;\n });\n\n // 2. filter out bestDex and repeated dexes\n const addedDexes = new Set<string>([bestDexProps.exchange]);\n // filter out repeated dexes: [UniswapV3, UniswapV4] ---> [UniswapV3]\n const uniqueDexes: DexProps[] = [];\n\n sortedDexes.forEach((dex) => {\n const trimmed = dropDEXStable(dropDEXVersion(dex.exchange));\n\n if (!addedDexes.has(trimmed)) {\n addedDexes.add(trimmed);\n uniqueDexes.push({\n srcAmount: dex.srcAmount,\n destAmount: dex.destAmount,\n exchange: trimmed,\n gasCostUSD: dex.data.gasUSD,\n quote: dex.exchange,\n is100Percent: true,\n });\n }\n });\n\n if (uniqueDexes.length === 0) return null;\n\n // 3. take first `maxDexes` items\n const topDexes = uniqueDexes.slice(0, maxDexes);\n\n return topDexes;\n}\n\nconst versionRegex = /V\\d+(?:\\.\\d+)*$/; // UniswapV2,UniswapV3,PancakeSwapV2,PancakeswapV3,TraderJoeV2,TraderJoeV2.1\nconst stableRegex = /Stable$/i; // Zyberswap,ZyberswapStable\n\nfunction dropDEXVersion(dexKey: string): string {\n return dexKey.replace(versionRegex, \"\");\n}\nfunction dropDEXStable(dexKey: string): string {\n return dexKey.replace(stableRegex, \"\");\n}\n"],"mappings":";;;;AAiBA,SAAgBS,EAAgBC,GAA2C;CACzE,IAAM,EAAEC,cAAWC,cAAWC,eAAYC,kBAAeJ,GAEnDK,IAAiBT,EAAkBI,EAAY;AAErD,KAAIV,EAAaW,EAAU,EAAE;EAC3B,IAAMK,IAAgBL,EAAU,GAAGM,MAAM,GAAGD,eACtCE,IAAWF,EAAc;AAY/B,SAXIA,EAAcG,WAAW,KAAKD,IACzB;GACLN,WAAWM,EAASN;GACpBC,YAAYK,EAASL;GACrBK,UAAUE,EAAcC,EAAeH,EAASA,SAAS,CAAC;GAC1DJ,YAAYI,EAASI,KAAKC;GAC1BR;GACAS,OAAON,EAASA;GAChBO,cAAcd,EAAU,GAAGe,YAAY;GACxC,GAEI;;AAyBT,QAtBIzB,EAAYU,EAAU,GACjB;EACLC;EACAC;EACAK,UAAUb;EACVS;EACAC;EACAS,OAAO;EACR,GAGCtB,EAAWS,EAAU,GAChB;EACLC;EACAC;EACAK,UAAUb;EACVS;EACAC;EACAS,OAAO;EACR,GAGI;;AAGT,SAAgBG,EAAmB,EACjCjB,gBACAkB,iBACAC,cAAW,KAKS;CACpB,IAAMC,IAAapB,EAAYqB;AAE/B,KAAI,CAACD,KAAcA,EAAWX,WAAW,EAAG,QAAO;CAGnD,IAAMa,IAAcF,EAAWG,OAAO,CAACC,MAAMC,GAAGC,MAAM;EACpD,IAAMC,IAAOC,OAAOF,EAAEvB,WAAW,GAAGyB,OAAOH,EAAEtB,WAAW;AAGxD,SAFIwB,IAAO,KAAW,IAClBA,IAAO,KAAW,KACf;GACP,EAGIE,IAAa,IAAIC,IAAY,CAACZ,EAAaV,SAAS,CAAC,EAErDuB,IAA0B,EAAE;AAuBlC,QArBAT,EAAYU,SAASC,MAAQ;EAC3B,IAAMC,IAAUxB,EAAcC,EAAesB,EAAIzB,SAAS,CAAC;AAE3D,EAAKqB,EAAWM,IAAID,EAAQ,KAC1BL,EAAWO,IAAIF,EAAQ,EACvBH,EAAYM,KAAK;GACfnC,WAAW+B,EAAI/B;GACfC,YAAY8B,EAAI9B;GAChBK,UAAU0B;GACV9B,YAAY6B,EAAIrB,KAAKC;GACrBC,OAAOmB,EAAIzB;GACXO,cAAc;GACf,CAAC;GAEJ,EAEEgB,EAAYtB,WAAW,IAAU,OAGpBsB,EAAYR,MAAM,GAAGJ,EAAS;;AAKjD,IAAMoB,IAAe,mBACfC,IAAc;AAEpB,SAAS7B,EAAe8B,GAAwB;AAC9C,QAAOA,EAAOC,QAAQH,GAAc,GAAG;;AAEzC,SAAS7B,EAAc+B,GAAwB;AAC7C,QAAOA,EAAOC,QAAQF,GAAa,GAAG"}
1
+ {"version":3,"file":"getDexProps.js","names":["isSimplePath","isMultiSwap","isMegaSwap","OptimalRate","DexItemProps","VeloraDex","getSavedAmountUSD","DexProps","Pick","getBestDexProps","marketPrice","bestRoute","srcAmount","destAmount","gasCostUSD","savedAmountUSD","swapExchanges","swaps","exchange","length","dropDEXStable","dropDEXVersion","data","gasUSD","quote","is100Percent","percent","getOtherDexesProps","bestDexProps","maxDexes","otherDexes","others","sortedDexes","slice","sort","a","b","diff","BigInt","addedDexes","Set","uniqueDexes","forEach","dex","trimmed","has","add","push","topDexes","versionRegex","stableRegex","dexKey","replace"],"sources":["../../../../src/components/widget/DexesList/getDexProps.ts"],"sourcesContent":["import { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { DexItemProps } from \"./types\";\nimport { VeloraDex } from \"./constants\";\nimport { getSavedAmountUSD } from \"@/lib/utils/savedAmountUSD\";\n\ntype DexProps = Pick<\n DexItemProps,\n | \"exchange\"\n | \"gasCostUSD\"\n | \"srcAmount\"\n | \"destAmount\"\n | \"savedAmountUSD\"\n | \"quote\"\n | \"is100Percent\"\n>;\n\nexport function getBestDexProps(marketPrice: OptimalRate): DexProps | null {\n const { bestRoute, srcAmount, destAmount, gasCostUSD } = marketPrice;\n\n const savedAmountUSD = getSavedAmountUSD(marketPrice);\n\n if (isSimplePath(bestRoute)) {\n const swapExchanges = bestRoute[0].swaps[0].swapExchanges;\n const exchange = swapExchanges[0];\n if (swapExchanges.length === 1 && exchange) {\n return {\n srcAmount: exchange.srcAmount,\n destAmount: exchange.destAmount,\n exchange: dropDEXStable(dropDEXVersion(exchange.exchange)),\n gasCostUSD: exchange.data.gasUSD,\n savedAmountUSD,\n quote: exchange.exchange,\n is100Percent: bestRoute[0].percent === 100,\n };\n }\n return null;\n }\n\n if (isMultiSwap(bestRoute)) {\n return {\n srcAmount,\n destAmount,\n exchange: VeloraDex,\n gasCostUSD,\n savedAmountUSD,\n quote: \"MultiSwap\",\n };\n }\n\n if (isMegaSwap(bestRoute)) {\n return {\n srcAmount,\n destAmount,\n exchange: VeloraDex,\n gasCostUSD,\n savedAmountUSD,\n quote: \"MegaSwap\",\n };\n }\n\n return null;\n}\n\nexport function getOtherDexesProps({\n marketPrice,\n bestDexProps,\n maxDexes = 2,\n}: {\n marketPrice: OptimalRate;\n bestDexProps: DexProps;\n maxDexes?: number;\n}): DexProps[] | null {\n const otherDexes = marketPrice.others;\n\n if (!otherDexes || otherDexes.length === 0) return null;\n\n // 1. sort by destAmount\n const sortedDexes = otherDexes.slice().sort((a, b) => {\n const diff = BigInt(b.destAmount) - BigInt(a.destAmount);\n if (diff > 0n) return 1;\n if (diff < 0n) return -1;\n return 0;\n });\n\n // 2. filter out bestDex and repeated dexes\n const addedDexes = new Set<string>([bestDexProps.exchange]);\n // filter out repeated dexes: [UniswapV3, UniswapV4] ---> [UniswapV3]\n const uniqueDexes: DexProps[] = [];\n\n sortedDexes.forEach((dex) => {\n const trimmed = dropDEXStable(dropDEXVersion(dex.exchange));\n\n if (!addedDexes.has(trimmed)) {\n addedDexes.add(trimmed);\n uniqueDexes.push({\n srcAmount: dex.srcAmount,\n destAmount: dex.destAmount,\n exchange: trimmed,\n gasCostUSD: dex.data.gasUSD,\n quote: dex.exchange,\n is100Percent: true,\n });\n }\n });\n\n if (uniqueDexes.length === 0) return null;\n\n // 3. take first `maxDexes` items\n const topDexes = uniqueDexes.slice(0, maxDexes);\n\n return topDexes;\n}\n\nconst versionRegex = /V\\d+(?:\\.\\d+)*$/; // UniswapV2,UniswapV3,PancakeSwapV2,PancakeswapV3,TraderJoeV2,TraderJoeV2.1\nconst stableRegex = /Stable$/i; // Zyberswap,ZyberswapStable\n\nfunction dropDEXVersion(dexKey: string): string {\n return dexKey.replace(versionRegex, \"\");\n}\nfunction dropDEXStable(dexKey: string): string {\n return dexKey.replace(stableRegex, \"\");\n}\n"],"mappings":";;;;AAiBA,SAAgBS,EAAgBC,GAA2C;CACzE,IAAM,EAAEC,cAAWC,cAAWC,eAAYC,kBAAeJ,GAEnDK,IAAiBT,EAAkBI,EAAY;CAErD,IAAIV,EAAaW,EAAU,EAAE;EAC3B,IAAMK,IAAgBL,EAAU,GAAGM,MAAM,GAAGD,eACtCE,IAAWF,EAAc;EAY/B,OAXIA,EAAcG,WAAW,KAAKD,IACzB;GACLN,WAAWM,EAASN;GACpBC,YAAYK,EAASL;GACrBK,UAAUE,EAAcC,EAAeH,EAASA,SAAS,CAAC;GAC1DJ,YAAYI,EAASI,KAAKC;GAC1BR;GACAS,OAAON,EAASA;GAChBO,cAAcd,EAAU,GAAGe,YAAY;GACxC,GAEI;;CAyBT,OAtBIzB,EAAYU,EAAU,GACjB;EACLC;EACAC;EACAK,UAAUb;EACVS;EACAC;EACAS,OAAO;EACR,GAGCtB,EAAWS,EAAU,GAChB;EACLC;EACAC;EACAK,UAAUb;EACVS;EACAC;EACAS,OAAO;EACR,GAGI;;AAGT,SAAgBG,EAAmB,EACjCjB,gBACAkB,iBACAC,cAAW,KAKS;CACpB,IAAMC,IAAapB,EAAYqB;CAE/B,IAAI,CAACD,KAAcA,EAAWX,WAAW,GAAG,OAAO;CAGnD,IAAMa,IAAcF,EAAWG,OAAO,CAACC,MAAMC,GAAGC,MAAM;EACpD,IAAMC,IAAOC,OAAOF,EAAEvB,WAAW,GAAGyB,OAAOH,EAAEtB,WAAW;EAGxD,OAFIwB,IAAO,KAAW,IAClBA,IAAO,KAAW,KACf;GACP,EAGIE,IAAa,IAAIC,IAAY,CAACZ,EAAaV,SAAS,CAAC,EAErDuB,IAA0B,EAAE;CAuBlC,OArBAT,EAAYU,SAASC,MAAQ;EAC3B,IAAMC,IAAUxB,EAAcC,EAAesB,EAAIzB,SAAS,CAAC;EAE3D,AAAKqB,EAAWM,IAAID,EAAQ,KAC1BL,EAAWO,IAAIF,EAAQ,EACvBH,EAAYM,KAAK;GACfnC,WAAW+B,EAAI/B;GACfC,YAAY8B,EAAI9B;GAChBK,UAAU0B;GACV9B,YAAY6B,EAAIrB,KAAKC;GACrBC,OAAOmB,EAAIzB;GACXO,cAAc;GACf,CAAC;GAEJ,EAEEgB,EAAYtB,WAAW,IAAU,OAGpBsB,EAAYR,MAAM,GAAGJ,EAE/BmB;;AAGT,IAAMC,IAAe,mBACfC,IAAc;AAEpB,SAAS7B,EAAe8B,GAAwB;CAC9C,OAAOA,EAAOC,QAAQH,GAAc,GAAG;;AAEzC,SAAS7B,EAAc+B,GAAwB;CAC7C,OAAOA,EAAOC,QAAQF,GAAa,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReceiverAddressDialog.js","names":["DialogContent","Switch","ReceiverAddressProps","useState","ReceiverAddressInput","WarningWithTitle","WarningProps","Button","useAccount","isAddress","cn","useIsContractAtAddress","warningClasses","root","warningMessage","receiverWarningMessage","smartContractWarningMessage","ownAddressEnteredWarningMessage","ReceiverAddressDialog","$","_c","t0","Symbol","for","ReceiverAddressContent","onClose","address","setAddress","type","isOTC","account","value","setValue","acknowledged","setAcknowledged","isEnteredAddressContract","data","isContract","t1","isEnteredAddressValid","t2","value_0","handleValueChange","t3","toggleSwitch","t4","onContinueClick","t5","onUseMyAddressClick","t6","toLowerCase","t7","enteredOwnAddress","switchDisabled","showOwnAddressEnteredWarning","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","undefined","t18","t19","t20","t21","t22","t23","t24","t25"],"sources":["../../../../../src/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.tsx"],"sourcesContent":["import { DialogContent } from \"@/components/ui/dialog\";\nimport { Switch } from \"@/components/ui/switch\";\nimport type { ReceiverAddressProps } from \"../../ReceiverAddress/types\";\nimport { useState } from \"react\";\nimport { ReceiverAddressInput } from \"./ReceiverAddressInput\";\nimport { WarningWithTitle } from \"../../Warning/Warning\";\nimport type { WarningProps } from \"../../Warning/types\";\nimport { Button } from \"@/components/ui/button\";\nimport { useAccount } from \"wagmi\";\nimport { isAddress } from \"viem\";\nimport { cn } from \"@/lib/utils\";\nimport { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\n\nconst warningClasses: WarningProps[\"classes\"] = {\n root: \"mt-6\",\n};\n\nconst warningMessage =\n \"Also, please double-check the address you fill, any tokens sent to the wrong address will be impossible to retrieve.\";\nconst receiverWarningMessage =\n \"Please do not use this feature to transfer your tokens to an address of a centralized exchange (binance, huobi...). It is not a supported feature.\";\nconst smartContractWarningMessage =\n \"The funds will be transferred to a smart contract, please double-check that the destination contract supports transfer deposits.\";\n\nconst ownAddressEnteredWarningMessage = \"You entered your own address\";\n\nexport const ReceiverAddressDialog = () => {\n return (\n <DialogContent title=\"Receiver Address\" className=\"max-w-[400px]\">\n {/* @ts-expect-error ReceiverAddressContent expecting props */}\n <ReceiverAddressContent />\n </DialogContent>\n );\n};\n\nexport const ReceiverAddressContent = ({\n onClose,\n address,\n setAddress,\n type,\n}: {\n onClose?: () => void;\n} & Omit<ReceiverAddressProps, \"classes\">) => {\n const isOTC = type === \"otc\";\n const { address: account } = useAccount();\n\n const [value, setValue] = useState<string>(address ?? \"\");\n const [acknowledged, setAcknowledged] = useState(false);\n\n const isEnteredAddressContract = useIsContractAtAddress({\n address: value,\n }).data?.isContract;\n const isEnteredAddressValid = isAddress(value);\n\n const handleValueChange = (value: string) => {\n if (acknowledged) setAcknowledged(false);\n setValue(value);\n };\n\n const toggleSwitch = () => {\n setAcknowledged(!acknowledged);\n };\n\n const onContinueClick = () => {\n if (isEnteredAddressValid && acknowledged) {\n setAddress(value);\n }\n onClose?.();\n };\n\n const onUseMyAddressClick = () => {\n if (account) handleValueChange(account);\n };\n\n const enteredOwnAddress = value.toLowerCase() === account?.toLowerCase();\n const switchDisabled = !isOTC\n ? !isEnteredAddressValid\n : !isEnteredAddressValid || enteredOwnAddress;\n\n const showOwnAddressEnteredWarning = enteredOwnAddress && isOTC;\n\n return (\n <div className=\"p-[24px] pt-0\">\n <ReceiverAddressInput\n value={value}\n handleValueChange={handleValueChange}\n />\n {showOwnAddressEnteredWarning && (\n <div className=\"text-[11px] mt-[2px] text-secondary-radical-red-1\">\n {ownAddressEnteredWarningMessage}\n </div>\n )}\n\n <WarningWithTitle\n title=\"Disclaimer\"\n message={\n <div className=\"flex flex-col gap-2\">\n <div>\n {isEnteredAddressContract\n ? smartContractWarningMessage\n : receiverWarningMessage}\n </div>\n <div>{warningMessage}</div>\n </div>\n }\n classes={warningClasses}\n />\n <div className=\"mt-7 flex items-center gap-1.5\">\n <Switch\n checked={acknowledged}\n onClick={toggleSwitch}\n className=\"cursor-pointer\"\n disabled={switchDisabled}\n />\n <div\n className={cn(\"text-sm text-contrast-4 dark:text-contrast-6\", {\n \"cursor-not-allowed\": switchDisabled,\n \"cursor-pointer\": !switchDisabled,\n })}\n onClick={switchDisabled ? undefined : toggleSwitch}\n >\n I understand the risks mentioned above\n </div>\n </div>\n <div className=\"mt-7 flex items-center justify-between gap-2\">\n {!isOTC && (\n <Button\n radius=\"xs\"\n variant=\"secondary\"\n disabled={!account || enteredOwnAddress}\n onClick={onUseMyAddressClick}\n >\n Use My Address\n </Button>\n )}\n <Button\n radius=\"xs\"\n disabled={!acknowledged || switchDisabled}\n onClick={onContinueClick}\n className={cn({\n \"flex-1\": isOTC,\n })}\n >\n Continue\n </Button>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ReceiverAddressDialog.js","names":["DialogContent","Switch","ReceiverAddressProps","useState","ReceiverAddressInput","WarningWithTitle","WarningProps","Button","useAccount","isAddress","cn","useIsContractAtAddress","warningClasses","root","warningMessage","receiverWarningMessage","smartContractWarningMessage","ownAddressEnteredWarningMessage","ReceiverAddressDialog","$","_c","t0","Symbol","for","ReceiverAddressContent","onClose","address","setAddress","type","isOTC","account","value","setValue","acknowledged","setAcknowledged","isEnteredAddressContract","data","isContract","t1","isEnteredAddressValid","t2","value_0","handleValueChange","t3","toggleSwitch","t4","onContinueClick","t5","onUseMyAddressClick","t6","toLowerCase","t7","enteredOwnAddress","switchDisabled","showOwnAddressEnteredWarning","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","undefined","t18","t19","t20","t21","t22","t23","t24","t25"],"sources":["../../../../../src/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.tsx"],"sourcesContent":["import { DialogContent } from \"@/components/ui/dialog\";\nimport { Switch } from \"@/components/ui/switch\";\nimport type { ReceiverAddressProps } from \"../../ReceiverAddress/types\";\nimport { useState } from \"react\";\nimport { ReceiverAddressInput } from \"./ReceiverAddressInput\";\nimport { WarningWithTitle } from \"../../Warning/Warning\";\nimport type { WarningProps } from \"../../Warning/types\";\nimport { Button } from \"@/components/ui/button\";\nimport { useAccount } from \"wagmi\";\nimport { isAddress } from \"viem\";\nimport { cn } from \"@/lib/utils\";\nimport { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\n\nconst warningClasses: WarningProps[\"classes\"] = {\n root: \"mt-6\",\n};\n\nconst warningMessage =\n \"Also, please double-check the address you fill, any tokens sent to the wrong address will be impossible to retrieve.\";\nconst receiverWarningMessage =\n \"Please do not use this feature to transfer your tokens to an address of a centralized exchange (binance, huobi...). It is not a supported feature.\";\nconst smartContractWarningMessage =\n \"The funds will be transferred to a smart contract, please double-check that the destination contract supports transfer deposits.\";\n\nconst ownAddressEnteredWarningMessage = \"You entered your own address\";\n\nexport const ReceiverAddressDialog = () => {\n return (\n <DialogContent title=\"Receiver Address\" className=\"max-w-[400px]\">\n {/* @ts-expect-error ReceiverAddressContent expecting props */}\n <ReceiverAddressContent />\n </DialogContent>\n );\n};\n\nexport const ReceiverAddressContent = ({\n onClose,\n address,\n setAddress,\n type,\n}: {\n onClose?: () => void;\n} & Omit<ReceiverAddressProps, \"classes\">) => {\n const isOTC = type === \"otc\";\n const { address: account } = useAccount();\n\n const [value, setValue] = useState<string>(address ?? \"\");\n const [acknowledged, setAcknowledged] = useState(false);\n\n const isEnteredAddressContract = useIsContractAtAddress({\n address: value,\n }).data?.isContract;\n const isEnteredAddressValid = isAddress(value);\n\n const handleValueChange = (value: string) => {\n if (acknowledged) setAcknowledged(false);\n setValue(value);\n };\n\n const toggleSwitch = () => {\n setAcknowledged(!acknowledged);\n };\n\n const onContinueClick = () => {\n if (isEnteredAddressValid && acknowledged) {\n setAddress(value);\n }\n onClose?.();\n };\n\n const onUseMyAddressClick = () => {\n if (account) handleValueChange(account);\n };\n\n const enteredOwnAddress = value.toLowerCase() === account?.toLowerCase();\n const switchDisabled = !isOTC\n ? !isEnteredAddressValid\n : !isEnteredAddressValid || enteredOwnAddress;\n\n const showOwnAddressEnteredWarning = enteredOwnAddress && isOTC;\n\n return (\n <div className=\"p-[24px] pt-0\">\n <ReceiverAddressInput\n value={value}\n handleValueChange={handleValueChange}\n />\n {showOwnAddressEnteredWarning && (\n <div className=\"text-[11px] mt-[2px] text-secondary-radical-red-1\">\n {ownAddressEnteredWarningMessage}\n </div>\n )}\n\n <WarningWithTitle\n title=\"Disclaimer\"\n message={\n <div className=\"flex flex-col gap-2\">\n <div>\n {isEnteredAddressContract\n ? smartContractWarningMessage\n : receiverWarningMessage}\n </div>\n <div>{warningMessage}</div>\n </div>\n }\n classes={warningClasses}\n />\n <div className=\"mt-7 flex items-center gap-1.5\">\n <Switch\n checked={acknowledged}\n onClick={toggleSwitch}\n className=\"cursor-pointer\"\n disabled={switchDisabled}\n />\n <div\n className={cn(\"text-sm text-contrast-4 dark:text-contrast-6\", {\n \"cursor-not-allowed\": switchDisabled,\n \"cursor-pointer\": !switchDisabled,\n })}\n onClick={switchDisabled ? undefined : toggleSwitch}\n >\n I understand the risks mentioned above\n </div>\n </div>\n <div className=\"mt-7 flex items-center justify-between gap-2\">\n {!isOTC && (\n <Button\n radius=\"xs\"\n variant=\"secondary\"\n disabled={!account || enteredOwnAddress}\n onClick={onUseMyAddressClick}\n >\n Use My Address\n </Button>\n )}\n <Button\n radius=\"xs\"\n disabled={!acknowledged || switchDisabled}\n onClick={onContinueClick}\n className={cn({\n \"flex-1\": isOTC,\n })}\n >\n Continue\n </Button>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReceiverAddressInput.js","names":["Button","CircleX","Input","ReceiverAddressInput","t0","$","_c","value","handleValueChange","t1","text","navigator","clipboard","readText","endAdornment","t2","e","target","t3"],"sources":["../../../../../src/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { CircleX } from \"lucide-react\";\n\nimport { Input } from \"@/components/ui/input\";\n\nexport const ReceiverAddressInput = ({\n value,\n handleValueChange,\n}: {\n value: string;\n handleValueChange: (value: string) => void;\n}) => {\n const endAdornment = value ? (\n <CircleX\n onClick={() => handleValueChange(\"\")}\n cursor=\"pointer\"\n size={20}\n className=\"text-contrast-6 dark:text-contrast-5\"\n />\n ) : (\n <Button\n radius=\"xs\"\n className=\"text-xs uppercase px-2 h-[24px] dark:bg-contrast-2 dark:text-contrast-6\"\n onClick={async () => {\n const text = await navigator.clipboard.readText();\n handleValueChange(text);\n }}\n >\n paste\n </Button>\n );\n\n return (\n <Input\n value={value}\n onChange={(e) => handleValueChange(e.target.value)}\n className=\"h-[48px] dark:bg-contrast-3 rounded-xs font-geist-mono placeholder:font-inter placeholder:text-contrast-6 dark:placeholder:text-contrast-5 pr-10\"\n placeholder=\"Receiver's Wallet Address\"\n endAdornment={endAdornment}\n />\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaG,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,UAAAC,yBAAAJ,GAMpCK;AAAA,CAAAJ,EAAA,OAAAG,KAAAH,EAAA,OAAAE,KACsBE,IAAAF,IACnB,kBAAC,GAAD;EACW,eAAMC,EAAkB,GAAE;EAC5B,QAAA;EACD,MAAA;EACI,WAAA;EAab,CAAA,GAVC,kBAAC,GAAD;EACS,QAAA;EACG,WAAA;EACD,SAAA,YAAA;AAEPA,KADa,MAAMG,UAASC,UAAUC,UAAW,CAC1B;;YAE1B;EAGF,CAAA,EAAAR,EAAA,KAAAG,GAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAlBD,IAAAS,IAAqBL,GAkBnBM;AAAA,CAAAV,EAAA,OAAAG,IAKoDO,IAAAV,EAAA,MAAxCU,KAAAC,MAAOR,EAAkBQ,EAACC,OAAOV,MAAO,EAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAU;CAAA,IAAAG;AAIlD,QAJkDb,EAAA,OAAAS,KAAAT,EAAA,OAAAU,KAAAV,EAAA,OAAAE,KAFpDW,IAAA,kBAAC,GAAD;EACSX;EACG,UAAAQ;EACA,WAAA;EACE,aAAA;EACED;EACd,CAAA,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAU,GAAAV,EAAA,KAAAE,GAAAF,EAAA,KAAAa,KAAAA,IAAAb,EAAA,IANFa"}
1
+ {"version":3,"file":"ReceiverAddressInput.js","names":["Button","CircleX","Input","ReceiverAddressInput","t0","$","_c","value","handleValueChange","t1","text","navigator","clipboard","readText","endAdornment","t2","e","target","t3"],"sources":["../../../../../src/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { CircleX } from \"lucide-react\";\n\nimport { Input } from \"@/components/ui/input\";\n\nexport const ReceiverAddressInput = ({\n value,\n handleValueChange,\n}: {\n value: string;\n handleValueChange: (value: string) => void;\n}) => {\n const endAdornment = value ? (\n <CircleX\n onClick={() => handleValueChange(\"\")}\n cursor=\"pointer\"\n size={20}\n className=\"text-contrast-6 dark:text-contrast-5\"\n />\n ) : (\n <Button\n radius=\"xs\"\n className=\"text-xs uppercase px-2 h-[24px] dark:bg-contrast-2 dark:text-contrast-6\"\n onClick={async () => {\n const text = await navigator.clipboard.readText();\n handleValueChange(text);\n }}\n >\n paste\n </Button>\n );\n\n return (\n <Input\n value={value}\n onChange={(e) => handleValueChange(e.target.value)}\n className=\"h-[48px] dark:bg-contrast-3 rounded-xs font-geist-mono placeholder:font-inter placeholder:text-contrast-6 dark:placeholder:text-contrast-5 pr-10\"\n placeholder=\"Receiver's Wallet Address\"\n endAdornment={endAdornment}\n />\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaG,KAAuBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,UAAAC,yBAAAJ,GAMpCK;CAAA,AAAAJ,EAAA,OAAAG,KAAAH,EAAA,OAAAE,KACsBE,IAAAF,IACnB,kBAAC,GAAD;EACW,eAAMC,EAAkB,GAAE;EAC5B,QAAA;EACD,MAAA;EACI,WAAA;EAab,CAAA,GAVC,kBAAC,GAAD;EACS,QAAA;EACG,WAAA;EACD,SAAA,YAAA;GAEPA,EAAkBE,MADCC,UAASC,UAAUC,UAAW,CAC1B;;YAE1B;EAGF,CAAA,EAAAR,EAAA,KAAAG,GAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAlBD,IAAAS,IAAqBL,GAkBnBM;CAAA,AAAAV,EAAA,OAAAG,IAKoDO,IAAAV,EAAA,MAAxCU,KAAAC,MAAOR,EAAkBQ,EAACC,OAAOV,MAAO,EAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAU;CAAA,IAAAG;CAIlD,OAJkDb,EAAA,OAAAS,KAAAT,EAAA,OAAAU,KAAAV,EAAA,OAAAE,KAFpDW,IAAA,kBAAC,GAAD;EACSX;EACG,UAAAQ;EACA,WAAA;EACE,aAAA;EACED;EACd,CAAA,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAU,GAAAV,EAAA,KAAAE,GAAAF,EAAA,KAAAa,KAAAA,IAAAb,EAAA,IANFa"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTokenDialog.js","names":["SelectTokenDialogProps","RegularTokenList","RegularTokenListProps","AcrossTokenLists","TokenSearch","useDeferredInputState","useEffect","useState","PropsWithChildren","useChainId","SupportedChainId","useLimitChainTo","useSwapChainTo","useTwapChainTo","Token","TokenCloud","useTradeMode","UseImportTokenDrawerReturn","assertProp","cn","useEnabledSrcChains","useSelectableDestChains","GenericScreen","GenericScreenHeader","GenericScreenHeaderProps","useImportTokenDrawer","useBreakpoints","NetworkSwitcherList","Prettify","ArbitraryNetworkSwitcherProps","NetworkSwitcherListProps","BridgeInfoMode","SelectTokenScreenProps","Pick","SelectTokenProps","drawerContainer","HTMLElement","headerClasses","root","title","const","SelectTokenScreen","t0","$","_c","props","t1","onClose","tokenType","onImported","onOpenImportTokenDrawer","importTokenDrawer","t2","showBackButton","onGoBack","classes","headerProps","t3","t4","SelectTokenContentProps","SelectTokenContent","tokenContentProps","SelectTokenContentComp","SelectTokenFromContent","SelectTokenToContent","onSelectImportToken","onSelect","token","selectableChains","networkSwitcherListClasses","_onSelect","_selectableChains","appChainId","selectedChainId","setSelectedChainId","enabledSrcChains","hasMultipleChains","length","isOverMd","showNetworksSidebar","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","token_0","fetchedOnChain","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","t7","selectedNetwork","networks","showCheckIcon","networkSwitcherProps","t8","undefined","t9","dropdownProps","align","disabled","t10","t11","input","t12","t13","t14","t15","tradeMode","isSwap","isLimit","isOTC","isTwap","acrossMode","modeSupportsCrosschain","includeNativeTokenInList","swapChainTo","limitChainTo","twapChainTo","initialChainId","fromChainId","mode","enabledDestChains","chainSwitchingDisabled","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainId_0","t16","SelectTokenLayout","networkSwitcherListProps","children"],"sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState, type PropsWithChildren } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useLimitChainTo,\n useSwapChainTo,\n useTwapChainTo,\n} from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp, cn } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport {\n GenericScreen,\n GenericScreenHeader,\n type GenericScreenHeaderProps,\n} from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\nimport { useBreakpoints } from \"@/hooks/useBreakpoints\";\nimport { NetworkSwitcherList } from \"../../NetworkSwitcher/NetworkSwitcherList\";\nimport type { Prettify } from \"ts-essentials\";\nimport type {\n ArbitraryNetworkSwitcherProps,\n NetworkSwitcherListProps,\n} from \"../../NetworkSwitcher/types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport type SelectTokenScreenProps = Prettify<\n Pick<\n SelectTokenProps,\n \"onClose\" | \"onSelect\" | \"selectableChains\" | \"tokenType\"\n > & {\n drawerContainer?: HTMLElement | null;\n }\n>;\n\nconst headerClasses = {\n root: \"px-4 pt-5 pb-4\",\n title: \"text-[16px]\",\n} as const;\n\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: SelectTokenScreenProps) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n onImported: props.onClose,\n });\n\n const headerProps: GenericScreenHeaderProps = {\n title: \"Select Token\",\n showBackButton: true,\n onGoBack: props.onClose,\n classes: headerClasses,\n };\n\n return (\n <GenericScreen>\n <SelectTokenContent\n {...props}\n headerProps={headerProps}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nconst SelectTokenContent = ({\n tokenType,\n ...tokenContentProps\n}: SelectTokenProps) => {\n const SelectTokenContentComp =\n tokenType === \"from\" ? SelectTokenFromContent : SelectTokenToContent;\n\n return <SelectTokenContentComp {...tokenContentProps} />;\n};\n\ntype SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n headerProps: GenericScreenHeaderProps;\n};\n\nconst networkSwitcherListClasses = {\n root: \"rounded-r-xxl\",\n} as const;\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n const showNetworksSidebar = isOverMd && hasMultipleChains;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n dropdownProps: { align: \"end\" },\n disabled: !hasMultipleChains,\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n />\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isLimit = tradeMode === \"limit\";\n const isOTC = tradeMode === \"otc\";\n const isTwap = tradeMode === \"twap\";\n\n // types also expect \"otc\" here,\n // but only \"swap\", \"limit\" and \"twap\" are actually possible for across mode\n let acrossMode: BridgeInfoMode;\n if (isLimit) {\n acrossMode = \"limit\";\n } else if (isTwap) {\n acrossMode = \"twap\";\n } else {\n acrossMode = \"swap\";\n }\n\n // @TODO reenable TWAP crosschain when ready on the API\n const modeSupportsCrosschain = isSwap || isLimit; /* || isTwap */\n\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n const limitChainTo = useLimitChainTo();\n const twapChainTo = useTwapChainTo();\n\n let initialChainId = appChainId;\n if (isSwap && swapChainTo) {\n initialChainId = swapChainTo;\n } else if (isLimit && limitChainTo) {\n initialChainId = limitChainTo;\n } else if (isTwap && twapChainTo) {\n initialChainId = twapChainTo;\n }\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n }).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n\n const chainSwitchingDisabled = !modeSupportsCrosschain || !hasMultipleChains;\n const showNetworksSidebar = isOverMd && !chainSwitchingDisabled;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n mode={acrossMode}\n />\n )}\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenLayout = ({\n showNetworksSidebar,\n networkSwitcherListProps,\n headerProps,\n children,\n}: PropsWithChildren<{\n showNetworksSidebar: boolean;\n networkSwitcherListProps?: NetworkSwitcherListProps;\n headerProps: GenericScreenHeaderProps;\n}>) => {\n return (\n <div\n className={cn({\n \"grid grid-cols-[auto_minmax(0,140px)] bg-contrast-9 dark:bg-contrast-2 rounded-xxl\":\n showNetworksSidebar,\n })}\n >\n <div\n className={cn({\n \"bg-contrast-8 dark:bg-contrast-1 rounded-xxl\": showNetworksSidebar,\n })}\n >\n <GenericScreenHeader {...headerProps} />\n {/* 448px height to fit search bar + two rows of token cloud + five token rows */}\n <div className=\"flex flex-col gap-y-3 h-[448px] pb-6\">{children}</div>\n </div>\n {showNetworksSidebar && networkSwitcherListProps && (\n <NetworkSwitcherList {...networkSwitcherListProps} />\n )}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectTokenDialog.js","names":["SelectTokenDialogProps","RegularTokenList","RegularTokenListProps","AcrossTokenLists","TokenSearch","useDeferredInputState","useEffect","useState","PropsWithChildren","useChainId","SupportedChainId","useLimitChainTo","useSwapChainTo","useTwapChainTo","Token","TokenCloud","useTradeMode","UseImportTokenDrawerReturn","assertProp","cn","useEnabledSrcChains","useSelectableDestChains","GenericScreen","GenericScreenHeader","GenericScreenHeaderProps","useImportTokenDrawer","useBreakpoints","NetworkSwitcherList","Prettify","ArbitraryNetworkSwitcherProps","NetworkSwitcherListProps","BridgeInfoMode","SelectTokenScreenProps","Pick","SelectTokenProps","drawerContainer","HTMLElement","headerClasses","root","title","const","SelectTokenScreen","t0","$","_c","props","t1","onClose","tokenType","onImported","onOpenImportTokenDrawer","importTokenDrawer","t2","showBackButton","onGoBack","classes","headerProps","t3","t4","SelectTokenContentProps","SelectTokenContent","tokenContentProps","SelectTokenContentComp","SelectTokenFromContent","SelectTokenToContent","onSelectImportToken","onSelect","token","selectableChains","networkSwitcherListClasses","_onSelect","_selectableChains","appChainId","selectedChainId","setSelectedChainId","enabledSrcChains","hasMultipleChains","length","isOverMd","showNetworksSidebar","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","token_0","fetchedOnChain","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","t7","selectedNetwork","networks","showCheckIcon","networkSwitcherProps","t8","undefined","t9","dropdownProps","align","disabled","t10","t11","input","t12","t13","t14","t15","tradeMode","isSwap","isLimit","isOTC","isTwap","acrossMode","modeSupportsCrosschain","includeNativeTokenInList","swapChainTo","limitChainTo","twapChainTo","initialChainId","fromChainId","mode","enabledDestChains","chainSwitchingDisabled","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainId_0","t16","SelectTokenLayout","networkSwitcherListProps","children"],"sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState, type PropsWithChildren } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useLimitChainTo,\n useSwapChainTo,\n useTwapChainTo,\n} from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp, cn } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport {\n GenericScreen,\n GenericScreenHeader,\n type GenericScreenHeaderProps,\n} from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\nimport { useBreakpoints } from \"@/hooks/useBreakpoints\";\nimport { NetworkSwitcherList } from \"../../NetworkSwitcher/NetworkSwitcherList\";\nimport type { Prettify } from \"ts-essentials\";\nimport type {\n ArbitraryNetworkSwitcherProps,\n NetworkSwitcherListProps,\n} from \"../../NetworkSwitcher/types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport type SelectTokenScreenProps = Prettify<\n Pick<\n SelectTokenProps,\n \"onClose\" | \"onSelect\" | \"selectableChains\" | \"tokenType\"\n > & {\n drawerContainer?: HTMLElement | null;\n }\n>;\n\nconst headerClasses = {\n root: \"px-4 pt-5 pb-4\",\n title: \"text-[16px]\",\n} as const;\n\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: SelectTokenScreenProps) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n onImported: props.onClose,\n });\n\n const headerProps: GenericScreenHeaderProps = {\n title: \"Select Token\",\n showBackButton: true,\n onGoBack: props.onClose,\n classes: headerClasses,\n };\n\n return (\n <GenericScreen>\n <SelectTokenContent\n {...props}\n headerProps={headerProps}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nconst SelectTokenContent = ({\n tokenType,\n ...tokenContentProps\n}: SelectTokenProps) => {\n const SelectTokenContentComp =\n tokenType === \"from\" ? SelectTokenFromContent : SelectTokenToContent;\n\n return <SelectTokenContentComp {...tokenContentProps} />;\n};\n\ntype SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n headerProps: GenericScreenHeaderProps;\n};\n\nconst networkSwitcherListClasses = {\n root: \"rounded-r-xxl\",\n} as const;\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n const showNetworksSidebar = isOverMd && hasMultipleChains;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n dropdownProps: { align: \"end\" },\n disabled: !hasMultipleChains,\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n />\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isLimit = tradeMode === \"limit\";\n const isOTC = tradeMode === \"otc\";\n const isTwap = tradeMode === \"twap\";\n\n // types also expect \"otc\" here,\n // but only \"swap\", \"limit\" and \"twap\" are actually possible for across mode\n let acrossMode: BridgeInfoMode;\n if (isLimit) {\n acrossMode = \"limit\";\n } else if (isTwap) {\n acrossMode = \"twap\";\n } else {\n acrossMode = \"swap\";\n }\n\n // @TODO reenable TWAP crosschain when ready on the API\n const modeSupportsCrosschain = isSwap || isLimit; /* || isTwap */\n\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n const limitChainTo = useLimitChainTo();\n const twapChainTo = useTwapChainTo();\n\n let initialChainId = appChainId;\n if (isSwap && swapChainTo) {\n initialChainId = swapChainTo;\n } else if (isLimit && limitChainTo) {\n initialChainId = limitChainTo;\n } else if (isTwap && twapChainTo) {\n initialChainId = twapChainTo;\n }\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n }).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n\n const chainSwitchingDisabled = !modeSupportsCrosschain || !hasMultipleChains;\n const showNetworksSidebar = isOverMd && !chainSwitchingDisabled;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n mode={acrossMode}\n />\n )}\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenLayout = ({\n showNetworksSidebar,\n networkSwitcherListProps,\n headerProps,\n children,\n}: PropsWithChildren<{\n showNetworksSidebar: boolean;\n networkSwitcherListProps?: NetworkSwitcherListProps;\n headerProps: GenericScreenHeaderProps;\n}>) => {\n return (\n <div\n className={cn({\n \"grid grid-cols-[auto_minmax(0,140px)] bg-contrast-9 dark:bg-contrast-2 rounded-xxl\":\n showNetworksSidebar,\n })}\n >\n <div\n className={cn({\n \"bg-contrast-8 dark:bg-contrast-1 rounded-xxl\": showNetworksSidebar,\n })}\n >\n <GenericScreenHeader {...headerProps} />\n {/* 448px height to fit search bar + two rows of token cloud + five token rows */}\n <div className=\"flex flex-col gap-y-3 h-[448px] pb-6\">{children}</div>\n </div>\n {showNetworksSidebar && networkSwitcherListProps && (\n <NetworkSwitcherList {...networkSwitcherListProps} />\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA+CA,IAAMqC,IAAgB;CACpBC,MAAM;CACNC,OAAO;CACR,EAEYE,KAAoBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAT,GAAAU;CAAA,AAAAF,EAAA,OAAAD,KAGRP,IAAAQ,EAAA,IAAAE,IAAAF,EAAA,OAHS,wBAAAE,KAAAH,GAGTC,EAAA,KAAAD,GAAAC,EAAA,KAAAR,GAAAQ,EAAA,KAAAE;CAAA,IAAAC;CAAA,AAAAH,EAAA,OAAAR,KAAAQ,EAAA,OAAAE,EAAAE,WAAAJ,EAAA,OAAAE,EAAAG,aACqDF,IAAA;EAAAX;EAAAa,WAE/DH,EAAKG;EAAUC,YACdJ,EAAKE;EAClB,EAAAJ,EAAA,KAAAR,GAAAQ,EAAA,KAAAE,EAAAE,SAAAJ,EAAA,KAAAE,EAAAG,WAAAL,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAJD,IAAA,EAAAO,4BAAAC,yBAAuD1B,EAAqBqB,EAI1E,EAACM;CAAA,AAAAT,EAAA,OAAAE,EAAAE,UAOFK,IAAAT,EAAA,MAL6CS,IAAA;EAAAb,OACrC;EAAcc,gBACL;EAAIC,UACVT,EAAKE;EAAQQ,SACdlB;EACV,EAAAM,EAAA,KAAAE,EAAAE,SAAAJ,EAAA,KAAAS;CALD,IAAAI,IAA8CJ,GAK5CK;CAAA,AAAAd,EAAA,OAAAa,KAAAb,EAAA,QAAAO,KAAAP,EAAA,QAAAE,KAIEY,IAAA,kBAAC,GAAD;EAAmB,GACbZ;EACSW;EACQN,qBAAAA;EACrB,CAAA,EAAAP,EAAA,KAAAa,GAAAb,EAAA,MAAAO,GAAAP,EAAA,MAAAE,GAAAF,EAAA,MAAAc,KAAAA,IAAAd,EAAA;CAAA,IAAAe;CAEY,OAFZf,EAAA,QAAAQ,KAAAR,EAAA,QAAAc,KALJC,IAAA,kBAAC,GAAD,EAAA,UAAA,CACED,GAKCN,EACa,EAAA,CAAA,EAAAR,EAAA,MAAAQ,GAAAR,EAAA,MAAAc,GAAAd,EAAA,MAAAe,KAAAA,IAAAf,EAAA,KAPhBe;GAaEE,KAAqBlB,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAiB,GAAAb;CAAA,AAAAL,EAAA,OAAAD,KAGRmB,IAAAlB,EAAA,IAAAK,IAAAL,EAAA,OAHS,kBAAAkB,KAAAnB,GAGTC,EAAA,KAAAD,GAAAC,EAAA,KAAAkB,GAAAlB,EAAA,KAAAK;CACjB,IAAAc,IACEd,MAAc,SAAde,IAAAC,GAAqElB;CAEf,OAFeH,EAAA,OAAAmB,KAAAnB,EAAA,OAAAkB,KAEhEf,IAAA,kBAAC,GAAD,EAAuB,GAAKe,GAAqB,CAAA,EAAAlB,EAAA,KAAAmB,GAAAnB,EAAA,KAAAkB,GAAAlB,EAAA,KAAAG,KAAAA,IAAAH,EAAA,IAAjDG;GAWHuB,KAA6B,EACjC/B,MAAM,iBACP,EAEKyB,KAAyBrB,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAG,YAAAmB,UAAAI,GAAAL,wBAAAG,kBAAAG,GAAAf,mBAAAd,GAO9B8B,IAAmB/D,IAAY,EAE/B,CAAAgE,GAAAC,KACEnE,GAA2BiE,EAAW,EAExCG,KAAyBvD,GAAqB,EAC9CgD,IAAyBG,KAAAI,IACzBC,IAA0BR,EAAgBS,SAAU,GAEpD,EAAAC,gBAAqBpD,GAAgB,EACrCqD,IAA4BD,KAAAF,GAA8B9B,GAAAM;CAE1D9C,AAF0DqC,EAAA,OAAA6B,KAK3C1B,IAAAH,EAAA,IAAAS,IAAAT,EAAA,OAHLG,UAAA;EAER4B,EAAmBF,EAAW;IAC7BpB,IAAA,CAACoB,EAAW,EAAA7B,EAAA,KAAA6B,GAAA7B,EAAA,KAAAG,GAAAH,EAAA,KAAAS,IAHf9C,GAAUwC,GAGPM,EAAa;CAEhB,IAAA,EAAA4B,wBAAAC,eAAAC,4BAAAC,uBAKI9E,GAAuB,EAACoD;CAAA,AAAAd,EAAA,OAAA2B,KAAA3B,EAAA,OAAAI,KAEXU,KAAAU,MAAA;EAEfG,AADAvB,KAAW,EACXuB,IAAYH,EAAM;IACnBxB,EAAA,KAAA2B,GAAA3B,EAAA,KAAAI,GAAAJ,EAAA,KAAAc,KAAAA,IAAAd,EAAA;CAHD,IAAAuB,IAAiBT,GAGfC;CAAA,AAAAf,EAAA,OAAAuB,KAAAvB,EAAA,OAAAsB,KAE4DP,KAAA0B,MAAA;EAC5D,AAAIjB,EAAKkB,kBACPnE,EAAWiD,GAAO,SAAS,EAE3BF,EAAoB;GAAAE,OAAEA;GAAKmB,iBAAmB;GAAkB,CAAC,IAEjEpB,EAASC,EAAM;IAElBxB,EAAA,KAAAuB,GAAAvB,EAAA,KAAAsB,GAAAtB,EAAA,KAAAe,KAAAA,IAAAf,EAAA;CARD,IAAA4C,IAA8D7B,GAQ5D8B;CAAA,AAAA7C,EAAA,OAAA8C,OAAAC,IAAA,4BAAA,IAGUF,KAAAG,MAAaA,MAAY,SAASjB,EAAmBiB,EAAQ,EAAAhD,EAAA,KAAA6C,KAAAA,IAAA7C,EAAA;CAGxD,IAAAiD,IAAA,CAACb,GAAmBc;CAAA,AAAAlD,EAAA,QAAAyB,KAAAzB,EAAA,QAAA8B,KAAA9B,EAAA,QAAAiD,KAJuBC,IAAA;EAAA3B,UAChDsB;EAA6DM,iBACtDrB;EAAesB,UACtB3B;EAAgB4B,eACXJ;EAChB,EAAAjD,EAAA,MAAAyB,GAAAzB,EAAA,MAAA8B,GAAA9B,EAAA,MAAAiD,GAAAjD,EAAA,MAAAkD,KAAAA,IAAAlD,EAAA;CALD,IAAAsD,IAA4DJ,GAK1DK;CAAA,AAAAvD,EAAA,QAAAsD,KAAAtD,EAAA,QAAAoC,KAOImB,IAAAnB,IAAA;EAAA,GAESkB;EAAoB1C,SACdc;EAEF,GALb8B,KAAAA,GAKaxD,EAAA,MAAAsD,GAAAtD,EAAA,MAAAoC,GAAApC,EAAA,MAAAuD,KAAAA,IAAAvD,EAAA;CAAA,IAAAyD;CAAA,AAAAzD,EAAA,QAAAiC,KAAAjC,EAAA,QAAAsD,KAAAtD,EAAA,QAAAoC,KAQXqB,IAACrB,IAADoB,KAAAA,IAAA;EAAA,GAESF;EAAoBI,eACR,EAAAC,OAAS,OAAO;EAAAC,UACrB,CAAC3B;EAEJ,EAAAjC,EAAA,MAAAiC,GAAAjC,EAAA,MAAAsD,GAAAtD,EAAA,MAAAoC,GAAApC,EAAA,MAAAyD,KAAAA,IAAAzD,EAAA;CAAA,IAAA6D;CAAA,AAAA7D,EAAA,QAAAoC,IAKXyB,IAAA7D,EAAA,OAFK6D,IAAArF,EAAG,EAAA,yCACiC4D,GAC1C,CAAC,EAAApC,EAAA,MAAAoC,GAAApC,EAAA,MAAA6D;CAAA,IAAAC;CAAA,AAAA9D,EAAA,QAAA6D,IACHC,IAAA9D,EAAA,OAJQ8D,IAAA,EAAAC,OACAF,GAGR,EAAA7D,EAAA,MAAA6D,GAAA7D,EAAA,MAAA8D;CAAA,IAAAE;CAAA,AAAAhE,EAAA,QAAAwC,KAAAxC,EAAA,QAAAuC,MAAAvC,EAAA,QAAAsC,KAAAtC,EAAA,QAAA8D,KAAA9D,EAAA,QAAAyD,KAjBHO,IAAA,kBAAC,GAAD;EACS1B,OAAAA;EACGC,UAAAA;EACGC,aAAAA;EAEX,6BAAAiB;EAQO,SAAAK;EAKT,CAAA,EAAA9D,EAAA,MAAAwC,GAAAxC,EAAA,MAAAuC,IAAAvC,EAAA,MAAAsC,GAAAtC,EAAA,MAAA8D,GAAA9D,EAAA,MAAAyD,GAAAzD,EAAA,MAAAgE,KAAAA,IAAAhE,EAAA;CAAA,IAAAiE;CAAA,AAAAjE,EAAA,QAAAuB,KAAAvB,EAAA,QAAA8B,KACFmC,IAAA,kBAAC,IAAD;EACiB1C,eAAAA;EACAO,eAAAA;EACf,iBAAA;EACA,CAAA,EAAA9B,EAAA,MAAAuB,GAAAvB,EAAA,MAAA8B,GAAA9B,EAAA,MAAAiE,KAAAA,IAAAjE,EAAA;CAAA,IAAAkE;CAAA,AAAAlE,EAAA,QAAAqC,KAAArC,EAAA,QAAA4C,KAAA5C,EAAA,QAAA8B,KACFoC,IAAA,kBAAC,GAAD;EACe7B,aAAAA;EACEO;EACAd,eAAAA;EACL,WAAA;EACV,CAAA,EAAA9B,EAAA,MAAAqC,GAAArC,EAAA,MAAA4C,GAAA5C,EAAA,MAAA8B,GAAA9B,EAAA,MAAAkE,KAAAA,IAAAlE,EAAA;CAAA,IAAAmE;CACgB,OADhBnE,EAAA,QAAAa,KAAAb,EAAA,QAAAoC,KAAApC,EAAA,QAAAgE,KAAAhE,EAAA,QAAAiE,KAAAjE,EAAA,QAAAkE,KAAAlE,EAAA,QAAAuD,KAzCJY,IAAA,kBAAC,IAAD;EACuB/B;EACRvB;EAEX,0BAAA0C;YAJJ;GAYES;GAmBAC;GAKAC;GAMkB;KAAAlE,EAAA,MAAAa,GAAAb,EAAA,MAAAoC,GAAApC,EAAA,MAAAgE,GAAAhE,EAAA,MAAAiE,GAAAjE,EAAA,MAAAkE,GAAAlE,EAAA,MAAAuD,GAAAvD,EAAA,MAAAmE,KAAAA,IAAAnE,EAAA,KA1CpBmE;GA8CE9C,KAAuBtB,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAG,YAAAmB,UAAAI,GAAAL,wBAAAG,kBAAAG,GAAAf,mBAAAd,GAO5BqE,IAAkB/F,GAAc,EAChCgG,IAAeD,MAAc,QAC7BE,IAAgBF,MAAc,SAC9BG,IAAcH,MAAc,OAC5BI,IAAeJ,MAAc,QAIzBK;CACJ,AAKEA,IALEH,IACWG,UACJD,IACIC,SAEAA;CAIf,IAAAC,KAA+BL,KAAAC,GAG/BK,IAAiC,CAACJ,GAElC1C,IAAmB/D,IAAY,EAC/B8G,IAAoB3G,GAAgB,EACpC4G,IAAqB7G,GAAiB,EACtC8G,IAAoB5G,GAAgB,EAEpC6G,IAAqBlD;CACrB,AAAIwC,KAAAO,IACFG,IAAiBH,IACRN,KAAAO,IACTE,IAAiBF,IACRL,KAAAM,MACTC,IAAiBD;CAEnB,IAAA,CAAAhD,GAAAC,KACEnE,GAA2BmH,EAAe,EAAC5E;CAAA,AAAAH,EAAA,OAAAyE,KAAAzE,EAAA,OAAA6B,KAEK1B,IAAA;EAAA6E,aACnCnD;EAAUoD,MACjBR;EACP,EAAAzE,EAAA,KAAAyE,GAAAzE,EAAA,KAAA6B,GAAA7B,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAHD,IAAAkF,IAA0BxG,EAAwByB,EAGhD,CAAAsB,kBACFA,IAAyBG,KAAAsD,GACzBjD,IAA0BR,EAAgBS,SAAU,GAEpD,EAAAC,gBAAqBpD,GAAgB,EAErCoG,IAA+B,CAACT,MAAD,CAA4BzC,GAC3DG,IAA4BD,KAAA,CAAagD,GAEzCC,KAA0BpC,MACxBvB,GAAgB4D,SAAWrC,EAAiB,IAA5C,IAA6CvC;CAAA,AAAAT,EAAA,OAAA6B,KAAA7B,EAAA,OAAAoF,KAAApF,EAAA,OAAAyB,EAAA,MAAAzB,EAAA,OAAA8B,KAM5BrB,IAAA2E,EAAkBtD,EAIZ,GAJNA,IAEfsD,EAAkBvD,EAEG,GAFrBA,IAEEJ,EAAgB,IAAGzB,EAAA,KAAA6B,GAAA7B,EAAA,KAAAoF,GAAApF,EAAA,KAAAyB,EAAA,IAAAzB,EAAA,KAAA8B,GAAA9B,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAJzB,IAAAsF,IAAmB7E,GAKnB8E,KAAyBD,MAAexD,GAAgBhB,IAAAC;CAExDpD,AAFwDqC,EAAA,OAAAsF,KAAAtF,EAAA,OAAAI,KAAAJ,EAAA,QAAAuF,MAE9CzE,WAAA;EACHyE,OAEDD,IAEFvD,EAAmBuD,EAAW,GAE9BlF,KAAW;IAEZW,KAAA;EAACuE;EAAYlF;EAASmF;EAAiB,EAAAvF,EAAA,KAAAsF,GAAAtF,EAAA,KAAAI,GAAAJ,EAAA,MAAAuF,IAAAvF,EAAA,MAAAc,IAAAd,EAAA,MAAAe,OAAAD,KAAAd,EAAA,KAAAe,KAAAf,EAAA,MAT1CrC,GAAUmD,IASPC,GAAwC;CAE3C,IAAA,EAAAsB,yBAAAC,gBAAAC,4BAAAC,wBAKI9E,GAAuB,EAACmF;CAAA,AAAA7C,EAAA,QAAA2B,KAAA3B,EAAA,QAAAI,KAEXyC,MAAArB,MAAA;EAEfG,AADAvB,KAAW,EACXuB,IAAYH,EAAM;IACnBxB,EAAA,MAAA2B,GAAA3B,EAAA,MAAAI,GAAAJ,EAAA,MAAA6C,MAAAA,KAAA7C,EAAA;CAHD,IAAAuB,IAAiBsB,IAKjB2C,KAAqB1D,MAAoBD,GAAWoB;CAAA,AAAAjD,EAAA,QAAAuB,KAAAvB,EAAA,QAAAsB,KAEU2B,MAAAR,MAAA;EAC5D,AAAIjB,EAAKkB,kBACPnE,EAAWiD,GAAO,SAAS,EAE3BF,EAAoB;GAAAE,OAAEA;GAAKmB,iBAAmB;GAAgB,CAAC,IAE/DpB,EAASC,EAAM;IAElBxB,EAAA,MAAAuB,GAAAvB,EAAA,MAAAsB,GAAAtB,EAAA,MAAAiD,MAAAA,KAAAjD,EAAA;CARD,IAAA4C,KAA8DK,IAQ5DC;CAAA,AAAAlD,EAAA,QAAA8C,OAAAC,IAAA,4BAAA,IAGUG,MAAAuC,MAAazC,MAAY,SAASjB,EAAmBiB,EAAQ,EAAAhD,EAAA,MAAAkD,MAAAA,KAAAlD,EAAA;CAGxD,IAAAuD,KAAA,CAACnB,GAAmBqB;CAAA,AAAAzD,EAAA,QAAAyB,KAAAzB,EAAA,QAAA8B,KAAA9B,EAAA,QAAAuD,MAJuBE,KAAA;EAAAlC,UAChD2B;EAA6DC,iBACtDrB;EAAesB,UACtB3B;EAAgB4B,eACXE;EAChB,EAAAvD,EAAA,MAAAyB,GAAAzB,EAAA,MAAA8B,GAAA9B,EAAA,MAAAuD,IAAAvD,EAAA,MAAAyD,MAAAA,KAAAzD,EAAA;CALD,IAAAsD,IAA4DG,IAK1DI;CAAA,AAAA7D,EAAA,QAAAsD,KAAAtD,EAAA,QAAAoC,KAOIyB,IAAAzB,IAAA;EAAA,GAESkB;EAAoB1C,SACdc;EAEF,GALb8B,KAAAA,GAKaxD,EAAA,MAAAsD,GAAAtD,EAAA,MAAAoC,GAAApC,EAAA,MAAA6D,KAAAA,IAAA7D,EAAA;CAAA,IAAA8D;CAAA,AAAA9D,EAAA,QAAAmF,KAAAnF,EAAA,QAAAsD,KAAAtD,EAAA,QAAAoC,KAQX0B,IAAC1B,IAADoB,KAAAA,IAAA;EAAA,GAESF;EAAoBM,UACbuB;EAAsBzB,eACjB,EAAAC,OACN,OACT;EAEO,EAAA3D,EAAA,MAAAmF,GAAAnF,EAAA,MAAAsD,GAAAtD,EAAA,MAAAoC,GAAApC,EAAA,MAAA8D,KAAAA,IAAA9D,EAAA;CAAA,IAAAgE;CAAA,AAAAhE,EAAA,QAAAoC,IAKX4B,IAAAhE,EAAA,OAFKgE,IAAAxF,EAAG,EAAA,yCACiC4D,GAC1C,CAAC,EAAApC,EAAA,MAAAoC,GAAApC,EAAA,MAAAgE;CAAA,IAAAC;CAAA,AAAAjE,EAAA,QAAAgE,IACHC,IAAAjE,EAAA,OAJQiE,IAAA,EAAAF,OACAC,GAGR,EAAAhE,EAAA,MAAAgE,GAAAhE,EAAA,MAAAiE;CAAA,IAAAC;CAAA,AAAAlE,EAAA,QAAAwC,MAAAxC,EAAA,QAAAuC,MAAAvC,EAAA,QAAAsC,MAAAtC,EAAA,QAAA8D,KAAA9D,EAAA,QAAAiE,KAnBHC,IAAA,kBAAC,GAAD;EACS5B,OAAAA;EACGC,UAAAA;EACGC,aAAAA;EAEX,6BAAAsB;EAUO,SAAAG;EAKT,CAAA,EAAAjE,EAAA,MAAAwC,IAAAxC,EAAA,MAAAuC,IAAAvC,EAAA,MAAAsC,IAAAtC,EAAA,MAAA8D,GAAA9D,EAAA,MAAAiE,GAAAjE,EAAA,MAAAkE,KAAAA,IAAAlE,EAAA;CAAA,IAAAmE;CAAA,AAAAnE,EAAA,QAAAyE,KAAAzE,EAAA,QAAA6B,KAAA7B,EAAA,QAAAmF,KAAAnF,EAAA,QAAAqC,MAAArC,EAAA,QAAA2E,KAAA3E,EAAA,QAAAwF,MAAAxF,EAAA,QAAAuB,KAAAvB,EAAA,QAAA4C,MAAA5C,EAAA,QAAAyB,KAAAzB,EAAA,QAAA8B,KACDqC,IAACqB,KAoBA,kBAAC,GAAD;EACenD,aAAAA;EACHd;EACGM,aAAAA;EACFC,WAAAA;EACD,WAAA;EACJ2C,MAAAA;EAET,CAAA,GA5BA,kBAAA,IAAA,EAAA,UAAA,CAEG,kBAAC,IAAD;EACiBlD,eAAAA;EACAO,eAAAA;EACf,iBAAA;EACS6C,SAAAA;EAEX,CAAA,EAAA,kBAAC,GAAD;EACetC,aAAAA;EACEO;EACAd,eAAAA;EACL,WAAA;EACD6C,SAAAA;EAEcQ,uBAAAA;EACL1D;EAClB,CAAA,CAWL,EAAA,CAAA,EAAAzB,EAAA,MAAAyE,GAAAzE,EAAA,MAAA6B,GAAA7B,EAAA,MAAAmF,GAAAnF,EAAA,MAAAqC,IAAArC,EAAA,MAAA2E,GAAA3E,EAAA,MAAAwF,IAAAxF,EAAA,MAAAuB,GAAAvB,EAAA,MAAA4C,IAAA5C,EAAA,MAAAyB,GAAAzB,EAAA,MAAA8B,GAAA9B,EAAA,MAAAmE,KAAAA,IAAAnE,EAAA;CAAA,IAAA0F;CACiB,OADjB1F,EAAA,QAAAa,KAAAb,EAAA,QAAAoC,KAAApC,EAAA,QAAA6D,KAAA7D,EAAA,QAAAkE,KAAAlE,EAAA,QAAAmE,KA7DHuB,KAAA,kBAAC,IAAD;EACuBtD;EACRvB;EAEX,0BAAAgD;YAJJ,CAYEK,GAqBCC,EA6BiB;KAAAnE,EAAA,MAAAa,GAAAb,EAAA,MAAAoC,GAAApC,EAAA,MAAA6D,GAAA7D,EAAA,MAAAkE,GAAAlE,EAAA,MAAAmE,GAAAnE,EAAA,MAAA0F,MAAAA,KAAA1F,EAAA,KA9DpB0F;GAkEEC,MAAoB5F,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAmC,wBAAAwD,6BAAA/E,gBAAAgF,gBAAA9F,GASzBI;CAAA,AAAAH,EAAA,OAAAoC,IAMMjC,IAAAH,EAAA,MAHSG,IAAA3B,EAAG,EAAA,sFAEV4D,GACH,CAAC,EAAApC,EAAA,KAAAoC,GAAApC,EAAA,KAAAG;CAAA,IAAAM;CAAA,AAAAT,EAAA,OAAAoC,IAKE3B,IAAAT,EAAA,MAFSS,IAAAjC,EAAG,EAAA,gDACoC4D,GACjD,CAAC,EAAApC,EAAA,KAAAoC,GAAApC,EAAA,KAAAS;CAAA,IAAAK;CAAA,AAAAd,EAAA,OAAAa,IAEsCC,IAAAd,EAAA,MAAxCc,IAAA,kBAAC,GAAD,EAAoB,GAAKD,GAAe,CAAA,EAAAb,EAAA,KAAAa,GAAAb,EAAA,KAAAc;CAAA,IAAAC;CAAA,AAAAf,EAAA,OAAA6F,IAE8B9E,IAAAf,EAAA,MAAtEe,IAAA,kBAAA,OAAA;EAAe,WAAA;EAAwC8E;EAAe,CAAA,EAAA7F,EAAA,KAAA6F,GAAA7F,EAAA,KAAAe;CAAA,IAAA8B;CAAA,AAAA7C,EAAA,OAAAS,KAAAT,EAAA,OAAAc,KAAAd,EAAA,QAAAe,KAPxE8B,IAAA,kBAAA,OAAA;EACa,WAAApC;YADb,CAKEK,GAEAC,EACI;KAAAf,EAAA,KAAAS,GAAAT,EAAA,KAAAc,GAAAd,EAAA,MAAAe,GAAAf,EAAA,MAAA6C,KAAAA,IAAA7C,EAAA;CAAA,IAAAiD;CAAA,AAAAjD,EAAA,QAAA4F,KAAA5F,EAAA,QAAAoC,KACLa,IAAAb,KAAAwD,KACC,kBAAC,GAAD,EAAoB,GAAKA,GAC1B,CAAA,EAAA5F,EAAA,MAAA4F,GAAA5F,EAAA,MAAAoC,GAAApC,EAAA,MAAAiD,KAAAA,IAAAjD,EAAA;CAAA,IAAAkD;CACG,OADHlD,EAAA,QAAAG,KAAAH,EAAA,QAAA6C,KAAA7C,EAAA,QAAAiD,KAjBHC,IAAA,kBAAA,OAAA;EACa,WAAA/C;YADb,CAME0C,GASCI,EAGG;KAAAjD,EAAA,MAAAG,GAAAH,EAAA,MAAA6C,GAAA7C,EAAA,MAAAiD,GAAAjD,EAAA,MAAAkD,KAAAA,IAAAlD,EAAA,KAlBNkD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AcrossTokenList.js","names":["useAcrossTokenLists","SupportedChainId","TokenListBody","TokenListBodyProps","BridgeInfoMode","AcrossTokenListsProps","Pick","tokenFilter","fromChainId","toChainId","className","mode","AcrossTokenLists","t0","$","_c","onSelect","t1","tokenRows","t2"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.tsx"],"sourcesContent":["import { useAcrossTokenLists } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nimport { TokenListBody } from \"./TokenListBody\";\nimport type { TokenListBodyProps } from \"./types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\ntype AcrossTokenListsProps = Pick<TokenListBodyProps, \"onSelect\"> & {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n className?: string;\n mode: BridgeInfoMode;\n};\n\nexport const AcrossTokenLists = ({\n tokenFilter,\n onSelect,\n fromChainId,\n toChainId,\n className,\n mode,\n}: AcrossTokenListsProps) => {\n const tokenRows = useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n });\n\n return (\n <TokenListBody\n onSelect={onSelect}\n tokenRows={tokenRows}\n visibleRows={8}\n className={className}\n />\n );\n};\n"],"mappings":";;;;;AAeA,IAAaY,KAAmBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAR,gBAAAS,aAAAR,gBAAAC,cAAAC,cAAAC,YAAAE,GAOTI;AAAA,CAAAH,EAAA,OAAAN,KAAAM,EAAA,OAAAH,KAAAG,EAAA,OAAAL,KAAAK,EAAA,OAAAP,KACgBU,IAAA;EAAAV;EAAAC;EAAAC;EAAAE;EAKrC,EAAAG,EAAA,KAAAN,GAAAM,EAAA,KAAAH,GAAAG,EAAA,KAAAL,GAAAK,EAAA,KAAAP,GAAAO,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CALD,IAAAI,IAAkBlB,EAAoBiB,EAKpC,EAACE;AAQC,QARDL,EAAA,OAAAJ,KAAAI,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAGDC,IAAA,kBAAC,GAAD;EACYH;EACCE;EACE,aAAA;EACFR;EACX,CAAA,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IALFK"}
1
+ {"version":3,"file":"AcrossTokenList.js","names":["useAcrossTokenLists","SupportedChainId","TokenListBody","TokenListBodyProps","BridgeInfoMode","AcrossTokenListsProps","Pick","tokenFilter","fromChainId","toChainId","className","mode","AcrossTokenLists","t0","$","_c","onSelect","t1","tokenRows","t2"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.tsx"],"sourcesContent":["import { useAcrossTokenLists } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nimport { TokenListBody } from \"./TokenListBody\";\nimport type { TokenListBodyProps } from \"./types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\ntype AcrossTokenListsProps = Pick<TokenListBodyProps, \"onSelect\"> & {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n className?: string;\n mode: BridgeInfoMode;\n};\n\nexport const AcrossTokenLists = ({\n tokenFilter,\n onSelect,\n fromChainId,\n toChainId,\n className,\n mode,\n}: AcrossTokenListsProps) => {\n const tokenRows = useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n });\n\n return (\n <TokenListBody\n onSelect={onSelect}\n tokenRows={tokenRows}\n visibleRows={8}\n className={className}\n />\n );\n};\n"],"mappings":";;;;;AAeA,IAAaY,KAAmBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAR,gBAAAS,aAAAR,gBAAAC,cAAAC,cAAAC,YAAAE,GAOTI;CAAA,AAAAH,EAAA,OAAAN,KAAAM,EAAA,OAAAH,KAAAG,EAAA,OAAAL,KAAAK,EAAA,OAAAP,KACgBU,IAAA;EAAAV;EAAAC;EAAAC;EAAAE;EAKrC,EAAAG,EAAA,KAAAN,GAAAM,EAAA,KAAAH,GAAAG,EAAA,KAAAL,GAAAK,EAAA,KAAAP,GAAAO,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CALD,IAAAI,IAAkBlB,EAAoBiB,EAKpC,EAACE;CAQC,OARDL,EAAA,OAAAJ,KAAAI,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAGDC,IAAA,kBAAC,GAAD;EACYH;EACCE;EACE,aAAA;EACFR;EACX,CAAA,EAAAI,EAAA,KAAAJ,GAAAI,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,KAAAA,IAAAL,EAAA,IALFK"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegularTokenList.js","names":["useAllTokensWithFilter","SupportedChainId","TokenListBody","useCombineTokensWithFetched","TokenRowForFetchedToken","RegularTokenListProps","onSelectToken","token","tokenFilter","forcedChainId","selectableChains","className","withETH","singleChainTokensOnly","RegularTokenList","t0","$","_c","t1","t2","searchOnOtherChainsIfNothingFound","allTokenRows","t3","tokenRowsCombined","t4"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.tsx"],"sourcesContent":["import { useAllTokensWithFilter } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { TokenListBody } from \"./TokenListBody\";\nimport { useCombineTokensWithFetched } from \"@/hooks/tokens/data/useCombineTokensWithFetched\";\nimport type { TokenRowForFetchedToken } from \"./TokenListRow\";\n\nexport type RegularTokenListProps = {\n onSelectToken: (token: TokenRowForFetchedToken) => void;\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n selectableChains?: SupportedChainId[];\n className?: string;\n withETH?: boolean;\n singleChainTokensOnly?: boolean; // don't search on other chains if nothing found\n};\n\nexport const RegularTokenList = ({\n tokenFilter,\n onSelectToken,\n forcedChainId,\n selectableChains,\n className,\n withETH,\n singleChainTokensOnly,\n}: RegularTokenListProps) => {\n const allTokenRows = useAllTokensWithFilter({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound: !singleChainTokensOnly,\n withETH,\n });\n\n const { tokenRowsCombined } = useCombineTokensWithFetched({\n allTokenRows,\n tokenFilter,\n // disallow fetching on other chains if singleChainTokensOnly is true\n selectableChains,\n });\n\n return (\n <TokenListBody\n onSelect={onSelectToken}\n tokenRows={tokenRowsCombined}\n className={className}\n />\n );\n};\n"],"mappings":";;;;;;AAgBA,IAAac,KAAmBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAT,gBAAAF,kBAAAG,kBAAAC,qBAAAC,cAAAC,YAAAC,6BAAAE,GAYMG,IAAA,CAACL,GAAqBM;AAAA,CAAAH,EAAA,OAAAP,KAAAO,EAAA,OAAAE,KAAAF,EAAA,OAAAR,KAAAQ,EAAA,OAAAJ,KAHfO,IAAA;EAAAX;EAAAC;EAAAW,mCAGPF;EAAsBN;EAE1D,EAAAI,EAAA,KAAAP,GAAAO,EAAA,KAAAE,GAAAF,EAAA,KAAAR,GAAAQ,EAAA,KAAAJ,GAAAI,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CALD,IAAAK,IAAqBrB,EAAuBmB,EAK1C,EAACG;AAAA,CAAAN,EAAA,OAAAK,KAAAL,EAAA,OAAAN,KAAAM,EAAA,OAAAR,KAEuDc,IAAA;EAAAD;EAAAb;EAAAE;EAKzD,EAAAM,EAAA,KAAAK,GAAAL,EAAA,KAAAN,GAAAM,EAAA,KAAAR,GAAAQ,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CALD,IAAA,EAAAO,yBAA8BpB,EAA4BmB,EAKxD,EAACE;AAOC,QAPDR,EAAA,OAAAL,KAAAK,EAAA,QAAAV,KAAAU,EAAA,QAAAO,KAGDC,IAAA,kBAAC,GAAD;EACYlB,UAAAA;EACCiB,WAAAA;EACAZ;EACX,CAAA,EAAAK,EAAA,KAAAL,GAAAK,EAAA,MAAAV,GAAAU,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,KAAAA,IAAAR,EAAA,KAJFQ"}
1
+ {"version":3,"file":"RegularTokenList.js","names":["useAllTokensWithFilter","SupportedChainId","TokenListBody","useCombineTokensWithFetched","TokenRowForFetchedToken","RegularTokenListProps","onSelectToken","token","tokenFilter","forcedChainId","selectableChains","className","withETH","singleChainTokensOnly","RegularTokenList","t0","$","_c","t1","t2","searchOnOtherChainsIfNothingFound","allTokenRows","t3","tokenRowsCombined","t4"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.tsx"],"sourcesContent":["import { useAllTokensWithFilter } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { TokenListBody } from \"./TokenListBody\";\nimport { useCombineTokensWithFetched } from \"@/hooks/tokens/data/useCombineTokensWithFetched\";\nimport type { TokenRowForFetchedToken } from \"./TokenListRow\";\n\nexport type RegularTokenListProps = {\n onSelectToken: (token: TokenRowForFetchedToken) => void;\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n selectableChains?: SupportedChainId[];\n className?: string;\n withETH?: boolean;\n singleChainTokensOnly?: boolean; // don't search on other chains if nothing found\n};\n\nexport const RegularTokenList = ({\n tokenFilter,\n onSelectToken,\n forcedChainId,\n selectableChains,\n className,\n withETH,\n singleChainTokensOnly,\n}: RegularTokenListProps) => {\n const allTokenRows = useAllTokensWithFilter({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound: !singleChainTokensOnly,\n withETH,\n });\n\n const { tokenRowsCombined } = useCombineTokensWithFetched({\n allTokenRows,\n tokenFilter,\n // disallow fetching on other chains if singleChainTokensOnly is true\n selectableChains,\n });\n\n return (\n <TokenListBody\n onSelect={onSelectToken}\n tokenRows={tokenRowsCombined}\n className={className}\n />\n );\n};\n"],"mappings":";;;;;;AAgBA,IAAac,KAAmBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAT,gBAAAF,kBAAAG,kBAAAC,qBAAAC,cAAAC,YAAAC,6BAAAE,GAYMG,IAAA,CAACL,GAAqBM;CAAA,AAAAH,EAAA,OAAAP,KAAAO,EAAA,OAAAE,KAAAF,EAAA,OAAAR,KAAAQ,EAAA,OAAAJ,KAHfO,IAAA;EAAAX;EAAAC;EAAAW,mCAGPF;EAAsBN;EAE1D,EAAAI,EAAA,KAAAP,GAAAO,EAAA,KAAAE,GAAAF,EAAA,KAAAR,GAAAQ,EAAA,KAAAJ,GAAAI,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CALD,IAAAK,IAAqBrB,EAAuBmB,EAK1C,EAACG;CAAA,AAAAN,EAAA,OAAAK,KAAAL,EAAA,OAAAN,KAAAM,EAAA,OAAAR,KAEuDc,IAAA;EAAAD;EAAAb;EAAAE;EAKzD,EAAAM,EAAA,KAAAK,GAAAL,EAAA,KAAAN,GAAAM,EAAA,KAAAR,GAAAQ,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CALD,IAAA,EAAAO,yBAA8BpB,EAA4BmB,EAKxD,EAACE;CAOC,OAPDR,EAAA,OAAAL,KAAAK,EAAA,QAAAV,KAAAU,EAAA,QAAAO,KAGDC,IAAA,kBAAC,GAAD;EACYlB,UAAAA;EACCiB,WAAAA;EACAZ;EACX,CAAA,EAAAK,EAAA,KAAAL,GAAAK,EAAA,MAAAV,GAAAU,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,KAAAA,IAAAR,EAAA,KAJFQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["chain2Tokens","TokenBadge","TokenBadgeProps","useChainId","useTokensByAddress","SupportedChainId","Token","isETH","TokenCloudElementProps","address","symbol","chainId","img","onClick","showNetworkIcon","badgeClasses","root","TokenCloudElement","t0","$","_c","t1","t2","TokenCloudProps","onSelectToken","token","excludedTokens","Pick","forcedChainId","withETH","TokenCloud","undefined","stateChainId","tokensByAddress","tokens","Set","map","_temp","excluded","t3","token_0","tokenLowercase","toLowerCase","tokenFromLists","has","t4"],"sources":["../../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.tsx"],"sourcesContent":["import { chain2Tokens } from \"./tokens\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport type { TokenBadgeProps } from \"@/components/widget/TokenBadge/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensByAddress } from \"@/hooks/tokens/useTokensByAddress\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\ntype TokenCloudElementProps = {\n address: string;\n symbol: string;\n chainId: SupportedChainId;\n img?: string;\n onClick: () => void;\n showNetworkIcon?: boolean;\n};\n\nconst badgeClasses: TokenBadgeProps[\"classes\"] = {\n symbol: \"text-sm\",\n root: \"font-inter font-medium\",\n};\n\nconst TokenCloudElement = ({\n address,\n symbol,\n chainId,\n img,\n onClick,\n showNetworkIcon,\n}: TokenCloudElementProps) => {\n return (\n <div\n onClick={onClick}\n className=\"h-[35px] cursor-pointer flex items-center px-2 rounded-xxl dark:text-contrast-6 bg-contrast-9 dark:bg-contrast-3 hover:bg-contrast-9 dark:hover:bg-contrast-4 outline-none dark:hover:outline-1 dark:hover:outline-black transition-colors hover:shadow-[0_1px_6px_0_rgba(0,0,0,0.15)]\"\n >\n <TokenBadge\n address={address}\n symbol={symbol}\n chainId={chainId}\n img={img}\n classes={badgeClasses}\n showNetworkIcon={showNetworkIcon}\n />\n </div>\n );\n};\n\ntype TokenCloudProps = {\n onSelectToken: (token: Token) => void;\n excludedTokens?: Pick<Token, \"address\">[];\n forcedChainId?: SupportedChainId;\n showNetworkIcon?: boolean;\n withETH?: boolean;\n};\nexport const TokenCloud = ({\n onSelectToken,\n excludedTokens,\n forcedChainId,\n showNetworkIcon,\n withETH = true,\n}: TokenCloudProps) => {\n const stateChainId = useChainId();\n const chainId = forcedChainId || stateChainId;\n const tokensByAddress = useTokensByAddress(chainId);\n\n const tokens = chain2Tokens[chainId];\n const excluded = new Set(\n excludedTokens?.map((token) => token.address.toLowerCase())\n );\n\n return (\n <div className=\"flex flex-wrap gap-x-2 gap-y-3 px-4\">\n {tokens?.map((token) => {\n const tokenLowercase = token.address.toLowerCase();\n const tokenFromLists = tokensByAddress[tokenLowercase];\n\n if (!tokenFromLists || excluded.has(tokenLowercase)) return null; // this won't happen\n\n if (!withETH && isETH(tokenFromLists)) return null;\n\n const onClick = () => onSelectToken(tokenFromLists);\n\n return (\n <TokenCloudElement\n key={token.address}\n address={token.address}\n symbol={tokenFromLists.symbol || token.symbol}\n img={tokenFromLists.img}\n chainId={chainId}\n onClick={onClick}\n showNetworkIcon={showNetworkIcon}\n />\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAkBA,IAAMe,IAA2C;CAC/CL,QAAQ;CACRM,MAAM;CACP,EAEKC,KAAoBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAX,YAAAC,WAAAC,YAAAC,QAAAC,YAAAC,uBAAAI,GAOFG;AAAA,CAAAF,EAAA,OAAAV,KAAAU,EAAA,OAAAR,KAAAQ,EAAA,OAAAP,KAAAO,EAAA,OAAAL,KAAAK,EAAA,OAAAT,KAMnBW,IAAA,kBAAC,GAAD;EACWZ;EACDC;EACCC;EACJC;EACIG,SAAAA;EACQD;EACjB,CAAA,EAAAK,EAAA,KAAAV,GAAAU,EAAA,KAAAR,GAAAQ,EAAA,KAAAP,GAAAO,EAAA,KAAAL,GAAAK,EAAA,KAAAT,GAAAS,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAAA,IAAAG;AACE,QADFH,EAAA,OAAAN,KAAAM,EAAA,OAAAE,KAXJC,IAAA,kBAAA,OAAA;EACWT;EACC,WAAA;YAEVQ;EAQI,CAAA,EAAAF,EAAA,KAAAN,GAAAM,EAAA,KAAAE,GAAAF,EAAA,KAAAG,KAAAA,IAAAH,EAAA,IAZNG;GAuBSQ,KAAaZ,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAI,kBAAAE,mBAAAE,kBAAAd,oBAAAe,SAAAR,MAAAH,GAKzBW,IAAAR,MAAAU,KAAAA,IAAA,KAAAV,GAEAW,IAAqB7B,GAAY,EACjCQ,IAAgBiB,KAAAI,GAChBC,IAAwB7B,EAAmBO,EAAQ,EAEnDuB,IAAelC,EAAaW,IAASW;AAAA,CAAAH,EAAA,OAAAO,IAGpCJ,IAAAH,EAAA,MAFgBG,IAAA,IAAIa,IACnBT,GAAcU,IAAMC,EACtB,CAAC,EAAAlB,EAAA,KAAAO,GAAAP,EAAA,KAAAG;CAFD,IAAAgB,IAAiBhB,GAEfiB;AAAA,CAAApB,EAAA,OAAAR,KAAAQ,EAAA,OAAAmB,KAAAnB,EAAA,OAAAK,KAAAL,EAAA,OAAAL,KAAAK,EAAA,OAAAe,KAAAf,EAAA,OAAAc,KAAAd,EAAA,OAAAU,KAIGU,IAAAL,GAAME,KAAMI,MAAA;EACX,IAAAC,IAAuBhB,EAAKhB,QAAQiC,aAAc,EAClDC,IAAuBV,EAAgBQ;AAMa,SAJhD,CAACE,KAAkBL,EAAQM,IAAKH,EAAe,IAE/C,CAACZ,KAAWtB,EAAMoC,EAAe,GAAS,OAK5C,kBAAC,GAAD;GAEW,SAAAlB,EAAKhB;GACN,QAAAkC,EAAcjC,UAAWe,EAAKf;GACjC,KAAAiC,EAAc/B;GACVD;GACAE,eATSW,EAAcmB,EAAe;GAU9B7B;GACjB,EAPKW,EAAKhB,QAOV;GAEJ,EAAAU,EAAA,KAAAR,GAAAQ,EAAA,KAAAmB,GAAAnB,EAAA,KAAAK,GAAAL,EAAA,KAAAL,GAAAK,EAAA,KAAAe,GAAAf,EAAA,KAAAc,GAAAd,EAAA,KAAAU,GAAAV,EAAA,KAAAoB,KAAAA,IAAApB,EAAA;CAAA,IAAA0B;AACE,QADF1B,EAAA,QAAAoB,IACEM,IAAA1B,EAAA,OAvBN0B,IAAA,kBAAA,OAAA;EAAe,WAAA;YACZN;EAsBG,CAAA,EAAApB,EAAA,MAAAoB,GAAApB,EAAA,MAAA0B,IAvBNA;;AAjBsB,SAAAR,EAAAZ,GAAA;AAAA,QAaSA,EAAKhB,QAAQiC,aAAc"}
1
+ {"version":3,"file":"index.js","names":["chain2Tokens","TokenBadge","TokenBadgeProps","useChainId","useTokensByAddress","SupportedChainId","Token","isETH","TokenCloudElementProps","address","symbol","chainId","img","onClick","showNetworkIcon","badgeClasses","root","TokenCloudElement","t0","$","_c","t1","t2","TokenCloudProps","onSelectToken","token","excludedTokens","Pick","forcedChainId","withETH","TokenCloud","undefined","stateChainId","tokensByAddress","tokens","Set","map","_temp","excluded","t3","token_0","tokenLowercase","toLowerCase","tokenFromLists","has","t4"],"sources":["../../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.tsx"],"sourcesContent":["import { chain2Tokens } from \"./tokens\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport type { TokenBadgeProps } from \"@/components/widget/TokenBadge/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensByAddress } from \"@/hooks/tokens/useTokensByAddress\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\ntype TokenCloudElementProps = {\n address: string;\n symbol: string;\n chainId: SupportedChainId;\n img?: string;\n onClick: () => void;\n showNetworkIcon?: boolean;\n};\n\nconst badgeClasses: TokenBadgeProps[\"classes\"] = {\n symbol: \"text-sm\",\n root: \"font-inter font-medium\",\n};\n\nconst TokenCloudElement = ({\n address,\n symbol,\n chainId,\n img,\n onClick,\n showNetworkIcon,\n}: TokenCloudElementProps) => {\n return (\n <div\n onClick={onClick}\n className=\"h-[35px] cursor-pointer flex items-center px-2 rounded-xxl dark:text-contrast-6 bg-contrast-9 dark:bg-contrast-3 hover:bg-contrast-9 dark:hover:bg-contrast-4 outline-none dark:hover:outline-1 dark:hover:outline-black transition-colors hover:shadow-[0_1px_6px_0_rgba(0,0,0,0.15)]\"\n >\n <TokenBadge\n address={address}\n symbol={symbol}\n chainId={chainId}\n img={img}\n classes={badgeClasses}\n showNetworkIcon={showNetworkIcon}\n />\n </div>\n );\n};\n\ntype TokenCloudProps = {\n onSelectToken: (token: Token) => void;\n excludedTokens?: Pick<Token, \"address\">[];\n forcedChainId?: SupportedChainId;\n showNetworkIcon?: boolean;\n withETH?: boolean;\n};\nexport const TokenCloud = ({\n onSelectToken,\n excludedTokens,\n forcedChainId,\n showNetworkIcon,\n withETH = true,\n}: TokenCloudProps) => {\n const stateChainId = useChainId();\n const chainId = forcedChainId || stateChainId;\n const tokensByAddress = useTokensByAddress(chainId);\n\n const tokens = chain2Tokens[chainId];\n const excluded = new Set(\n excludedTokens?.map((token) => token.address.toLowerCase())\n );\n\n return (\n <div className=\"flex flex-wrap gap-x-2 gap-y-3 px-4\">\n {tokens?.map((token) => {\n const tokenLowercase = token.address.toLowerCase();\n const tokenFromLists = tokensByAddress[tokenLowercase];\n\n if (!tokenFromLists || excluded.has(tokenLowercase)) return null; // this won't happen\n\n if (!withETH && isETH(tokenFromLists)) return null;\n\n const onClick = () => onSelectToken(tokenFromLists);\n\n return (\n <TokenCloudElement\n key={token.address}\n address={token.address}\n symbol={tokenFromLists.symbol || token.symbol}\n img={tokenFromLists.img}\n chainId={chainId}\n onClick={onClick}\n showNetworkIcon={showNetworkIcon}\n />\n );\n })}\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAkBA,IAAMe,IAA2C;CAC/CL,QAAQ;CACRM,MAAM;CACP,EAEKC,KAAoBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAX,YAAAC,WAAAC,YAAAC,QAAAC,YAAAC,uBAAAI,GAOFG;CAAA,AAAAF,EAAA,OAAAV,KAAAU,EAAA,OAAAR,KAAAQ,EAAA,OAAAP,KAAAO,EAAA,OAAAL,KAAAK,EAAA,OAAAT,KAMnBW,IAAA,kBAAC,GAAD;EACWZ;EACDC;EACCC;EACJC;EACIG,SAAAA;EACQD;EACjB,CAAA,EAAAK,EAAA,KAAAV,GAAAU,EAAA,KAAAR,GAAAQ,EAAA,KAAAP,GAAAO,EAAA,KAAAL,GAAAK,EAAA,KAAAT,GAAAS,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAAA,IAAAG;CACE,OADFH,EAAA,OAAAN,KAAAM,EAAA,OAAAE,KAXJC,IAAA,kBAAA,OAAA;EACWT;EACC,WAAA;YAEVQ;EAQI,CAAA,EAAAF,EAAA,KAAAN,GAAAM,EAAA,KAAAE,GAAAF,EAAA,KAAAG,KAAAA,IAAAH,EAAA,IAZNG;GAuBSQ,KAAaZ,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAI,kBAAAE,mBAAAE,kBAAAd,oBAAAe,SAAAR,MAAAH,GAKzBW,IAAAR,MAAAU,KAAAA,IAAA,KAAAV,GAEAW,IAAqB7B,GAAY,EACjCQ,IAAgBiB,KAAAI,GAChBC,IAAwB7B,EAAmBO,EAAQ,EAEnDuB,IAAelC,EAAaW,IAASW;CAAA,AAAAH,EAAA,OAAAO,IAGpCJ,IAAAH,EAAA,MAFgBG,IAAA,IAAIa,IACnBT,GAAcU,IAAMC,EACtB,CAAC,EAAAlB,EAAA,KAAAO,GAAAP,EAAA,KAAAG;CAFD,IAAAgB,IAAiBhB,GAEfiB;CAAA,AAAApB,EAAA,OAAAR,KAAAQ,EAAA,OAAAmB,KAAAnB,EAAA,OAAAK,KAAAL,EAAA,OAAAL,KAAAK,EAAA,OAAAe,KAAAf,EAAA,OAAAc,KAAAd,EAAA,OAAAU,KAIGU,IAAAL,GAAME,KAAMI,MAAA;EACX,IAAAC,IAAuBhB,EAAKhB,QAAQiC,aAAc,EAClDC,IAAuBV,EAAgBQ;EAMa,OAJhD,CAACE,KAAkBL,EAAQM,IAAKH,EAAe,IAE/C,CAACZ,KAAWtB,EAAMoC,EAAe,GAAS,OAK5C,kBAAC,GAAD;GAEW,SAAAlB,EAAKhB;GACN,QAAAkC,EAAcjC,UAAWe,EAAKf;GACjC,KAAAiC,EAAc/B;GACVD;GACAE,eATSW,EAAcmB,EAAe;GAU9B7B;GACjB,EAPKW,EAAKhB,QAOV;GAEJ,EAAAU,EAAA,KAAAR,GAAAQ,EAAA,KAAAmB,GAAAnB,EAAA,KAAAK,GAAAL,EAAA,KAAAL,GAAAK,EAAA,KAAAe,GAAAf,EAAA,KAAAc,GAAAd,EAAA,KAAAU,GAAAV,EAAA,KAAAoB,KAAAA,IAAApB,EAAA;CAAA,IAAA0B;CACE,OADF1B,EAAA,QAAAoB,IACEM,IAAA1B,EAAA,OAvBN0B,IAAA,kBAAA,OAAA;EAAe,WAAA;YACZN;EAsBG,CAAA,EAAApB,EAAA,MAAAoB,GAAApB,EAAA,MAAA0B,IAvBNA;;AAjBsB,SAAAR,EAAAZ,GAAA;CAAA,OAaSA,EAAKhB,QAAQiC,aAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenListBody.js","names":["RowVirtualizerFixed","cn","RendererByType","RowRendererProps","TokenRowForFetchedToken","TokenListBodyProps","tokenRows","onSelect","visibleRows","className","TokenListBody","t0","$","_c","t1","t2","t3","row","address","network"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.tsx"],"sourcesContent":["import { RowVirtualizerFixed } from \"@/components/widget/RowVirtualizer/RowVirtualizerFixed\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport {\n RendererByType,\n type RowRendererProps,\n type TokenRowForFetchedToken,\n} from \"./TokenListRow\";\n\ntype TokenListBodyProps = {\n tokenRows: TokenRowForFetchedToken[];\n onSelect: RowRendererProps[\"onSelect\"];\n visibleRows?: number;\n className?: string;\n};\n\nexport const TokenListBody = ({\n tokenRows,\n onSelect,\n visibleRows,\n className,\n}: TokenListBodyProps) => {\n return (\n <RowVirtualizerFixed<TokenRowForFetchedToken>\n rowHeight={56}\n visibleRows={visibleRows} // 56*6 = 336px, to fit into fullCover drawer (when container has padding, + search field + TokenCloud)\n containerClassName={cn(\n \"w-full [scrollbar-gutter:stable_both-edges]\",\n className\n )}\n rows={tokenRows}\n rowRenderer={({ row }) => (\n <RendererByType\n row={row}\n onSelect={onSelect}\n key={`${row.address}-${row.network}`}\n />\n )}\n />\n );\n};\n"],"mappings":";;;;;;AAiBA,IAAaU,KAAgBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAP,cAAAC,aAAAC,gBAAAC,iBAAAE,GAKTG;AAAA,CAAAF,EAAA,OAAAH,IAQdK,IAAAF,EAAA,MAHmBE,IAAAb,EAClB,+CACAQ,EACD,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAE;CAAA,IAAAC;AAAA,CAAAH,EAAA,OAAAL,IAQAQ,IAAAH,EAAA,MANYG,KAAAC,MAAA;EAAC,IAAA,EAAAC,WAAAD;AAAO,SACnB,kBAAC,GAAD;GACOC;GACKV;GAEV,EADK,GAAGU,EAAGC,QAAQ,GAAID,EAAGE,UAC1B;IACHP,EAAA,KAAAL,GAAAK,EAAA,KAAAG;CAAA,IAAAC;AACD,QADCJ,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAAAH,EAAA,OAAAN,KAAAM,EAAA,OAAAJ,KAdHQ,IAAA,kBAAC,GAAD;EACa,WAAA;EACER;EACO,oBAAAM;EAIdR,MAAAA;EACO,aAAAS;EAOb,CAAA,EAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAN,GAAAM,EAAA,KAAAJ,GAAAI,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAfFI"}
1
+ {"version":3,"file":"TokenListBody.js","names":["RowVirtualizerFixed","cn","RendererByType","RowRendererProps","TokenRowForFetchedToken","TokenListBodyProps","tokenRows","onSelect","visibleRows","className","TokenListBody","t0","$","_c","t1","t2","t3","row","address","network"],"sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.tsx"],"sourcesContent":["import { RowVirtualizerFixed } from \"@/components/widget/RowVirtualizer/RowVirtualizerFixed\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport {\n RendererByType,\n type RowRendererProps,\n type TokenRowForFetchedToken,\n} from \"./TokenListRow\";\n\ntype TokenListBodyProps = {\n tokenRows: TokenRowForFetchedToken[];\n onSelect: RowRendererProps[\"onSelect\"];\n visibleRows?: number;\n className?: string;\n};\n\nexport const TokenListBody = ({\n tokenRows,\n onSelect,\n visibleRows,\n className,\n}: TokenListBodyProps) => {\n return (\n <RowVirtualizerFixed<TokenRowForFetchedToken>\n rowHeight={56}\n visibleRows={visibleRows} // 56*6 = 336px, to fit into fullCover drawer (when container has padding, + search field + TokenCloud)\n containerClassName={cn(\n \"w-full [scrollbar-gutter:stable_both-edges]\",\n className\n )}\n rows={tokenRows}\n rowRenderer={({ row }) => (\n <RendererByType\n row={row}\n onSelect={onSelect}\n key={`${row.address}-${row.network}`}\n />\n )}\n />\n );\n};\n"],"mappings":";;;;;;AAiBA,IAAaU,KAAgBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAP,cAAAC,aAAAC,gBAAAC,iBAAAE,GAKTG;CAAA,AAAAF,EAAA,OAAAH,IAQdK,IAAAF,EAAA,MAHmBE,IAAAb,EAClB,+CACAQ,EACD,EAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAE;CAAA,IAAAC;CAAA,AAAAH,EAAA,OAAAL,IAQAQ,IAAAH,EAAA,MANYG,KAAAC,MAAA;EAAC,IAAA,EAAAC,WAAAD;EAAO,OACnB,kBAAC,GAAD;GACOC;GACKV;GAEV,EADK,GAAGU,EAAGC,QAAQ,GAAID,EAAGE,UAC1B;IACHP,EAAA,KAAAL,GAAAK,EAAA,KAAAG;CAAA,IAAAC;CACD,OADCJ,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAAAH,EAAA,OAAAN,KAAAM,EAAA,OAAAJ,KAdHQ,IAAA,kBAAC,GAAD;EACa,WAAA;EACER;EACO,oBAAAM;EAIdR,MAAAA;EACO,aAAAS;EAOb,CAAA,EAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAN,GAAAM,EAAA,KAAAJ,GAAAI,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAfFI"}