@velora-dex/widget 0.0.23 → 0.1.0-rc.0

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 (390) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/badge.js.map +1 -1
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/components/ui/card.js.map +1 -1
  6. package/dist/components/ui/dialog.js.map +1 -1
  7. package/dist/components/ui/drawer.d.ts +2 -2
  8. package/dist/components/ui/drawer.d.ts.map +1 -1
  9. package/dist/components/ui/drawer.js +1 -1
  10. package/dist/components/ui/drawer.js.map +1 -1
  11. package/dist/components/ui/dropdown-menu.js.map +1 -1
  12. package/dist/components/ui/input.js.map +1 -1
  13. package/dist/components/ui/progress.js.map +1 -1
  14. package/dist/components/ui/skeleton.js.map +1 -1
  15. package/dist/components/ui/sonner.d.ts.map +1 -1
  16. package/dist/components/ui/sonner.js +1 -2
  17. package/dist/components/ui/sonner.js.map +1 -1
  18. package/dist/components/ui/switch.js.map +1 -1
  19. package/dist/components/ui/tooltip.js.map +1 -1
  20. package/dist/components/web3/AccountButton.js.map +1 -1
  21. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  22. package/dist/components/web3/ConnectWallets/WalletConnectButtons.d.ts.map +1 -1
  23. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js +23 -14
  24. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  25. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  26. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  27. package/dist/components/web3/ConnectWallets/privy/connectRunner.d.ts.map +1 -1
  28. package/dist/components/web3/ConnectWallets/privy/connectRunner.js +0 -2
  29. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  30. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  31. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  32. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +30 -0
  33. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  34. package/dist/components/web3/ConnectWallets/walletIcons.js +84 -2
  35. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  36. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  37. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +69 -65
  38. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  39. package/dist/components/web3/providers.js.map +1 -1
  40. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  41. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  42. package/dist/components/widget/AppHeader/AppHeader.js +49 -55
  43. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  44. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  45. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  46. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  47. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  48. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +1 -1
  49. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  50. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +2 -2
  51. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  52. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  53. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  54. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +125 -78
  55. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  56. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +5 -2
  57. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  58. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +10 -8
  59. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  60. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +5 -2
  61. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
  62. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +10 -8
  63. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  64. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts +11 -0
  65. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.d.ts.map +1 -0
  66. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +101 -0
  67. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -0
  68. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts +5 -0
  69. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -0
  70. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +186 -0
  71. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -0
  72. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts +6 -2
  73. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  74. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +33 -20
  75. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  76. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +1 -1
  77. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  78. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  79. package/dist/components/widget/Drawer/index.d.ts +3 -1
  80. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  81. package/dist/components/widget/Drawer/index.js +64 -37
  82. package/dist/components/widget/Drawer/index.js.map +1 -1
  83. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +24 -1
  84. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  85. package/dist/components/widget/Drawer/state/useDrawerControls.js +91 -2
  86. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  87. package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
  88. package/dist/components/widget/Dropdown/DropdownWithItems.js +5 -3
  89. package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
  90. package/dist/components/widget/Dropdown/types.d.ts +2 -1
  91. package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
  92. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  93. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  94. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  95. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  96. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  97. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  98. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  99. package/dist/components/widget/Line/Line.js.map +1 -1
  100. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  101. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.d.ts.map +1 -1
  102. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js +14 -10
  103. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  104. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
  105. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +10 -8
  106. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  107. package/dist/components/widget/NetworkSwitcher/types.d.ts +2 -2
  108. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  109. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  110. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  111. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  112. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  113. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  114. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  115. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts +1 -1
  116. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  117. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +5 -1
  118. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  119. package/dist/components/widget/RowVirtualizer/types.d.ts +1 -0
  120. package/dist/components/widget/RowVirtualizer/types.d.ts.map +1 -1
  121. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  122. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  123. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  124. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  125. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  126. package/dist/components/widget/SwapRate/SwapRate.js +3 -0
  127. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  128. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  129. package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
  130. package/dist/components/widget/TokenBadge/TokenBadge.js +1 -1
  131. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  132. package/dist/components/widget/TokenInput/EmptyInput.js.map +1 -1
  133. package/dist/components/widget/TokenInput/index.js +1 -1
  134. package/dist/components/widget/TokenInput/index.js.map +1 -1
  135. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  136. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  137. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  138. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  139. package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
  140. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  141. package/dist/components/widget/TradeOverview/Stepper.js +39 -21
  142. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  143. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  144. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  145. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  146. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  147. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  148. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +40 -72
  149. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  150. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts +23 -3
  151. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  152. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +67 -19
  153. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  154. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  155. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  156. package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
  157. package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
  158. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  159. package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
  160. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  161. package/dist/components/widget/TradeOverview/TradeOverview.js +40 -56
  162. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  163. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  164. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  165. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  166. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  167. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  168. package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
  169. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  170. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  171. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +2 -2
  172. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  173. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.d.ts.map +1 -1
  174. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js +42 -19
  175. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  176. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  177. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js +3 -3
  178. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  179. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  180. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +1 -1
  181. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  182. package/dist/components/widget/Warning/Warning.js.map +1 -1
  183. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  184. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  185. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  186. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  187. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +18 -24
  188. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  189. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  190. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  191. package/dist/configurator/Configurator.d.ts.map +1 -1
  192. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  193. package/dist/core/Toaster.js.map +1 -1
  194. package/dist/core/TradeFlowButton.js +154 -126
  195. package/dist/core/TradeFlowButton.js.map +1 -1
  196. package/dist/core/Updaters.d.ts.map +1 -1
  197. package/dist/core/Updaters.js +2 -0
  198. package/dist/core/Updaters.js.map +1 -1
  199. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  200. package/dist/core/index.d.ts.map +1 -1
  201. package/dist/core/index.js +55 -28
  202. package/dist/core/index.js.map +1 -1
  203. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  204. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  205. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  206. package/dist/core/inputs/hooks/useTokenToInputProps.js +15 -15
  207. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  208. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  209. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  210. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  211. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  212. package/dist/core/logger.js.map +1 -1
  213. package/dist/core/state/chainToAtom.d.ts +2 -2
  214. package/dist/core/state/chainToAtom.js.map +1 -1
  215. package/dist/core/state/configActionsAtom.d.ts +1 -1
  216. package/dist/core/state/configActionsAtom.js.map +1 -1
  217. package/dist/core/state/configAtom.js.map +1 -1
  218. package/dist/core/state/externalProviderAtom.js.map +1 -1
  219. package/dist/core/swapDetails/fees.js.map +1 -1
  220. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  221. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  222. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  223. package/dist/core/swapDetails/youGet.js.map +1 -1
  224. package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.0 → react-compiler-runtime@19.1.0-rc.2_react@19.1.1}/external/react-compiler-runtime/dist/index.js.map +1 -1
  225. package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js.map +1 -1
  226. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  227. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  228. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  229. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  230. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  231. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  232. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  233. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  234. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  235. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  236. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  237. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  238. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  239. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  240. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
  241. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  242. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  243. package/dist/hooks/permit/utils/construct.js.map +1 -1
  244. package/dist/hooks/permit/utils/detect.js.map +1 -1
  245. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  246. package/dist/hooks/permit/utils/encodeArgs.js +1 -1
  247. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  248. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  249. package/dist/hooks/permit/utils/utils.js.map +1 -1
  250. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  251. package/dist/hooks/sdk/useSpender.js.map +1 -1
  252. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  253. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +2 -0
  254. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  255. package/dist/hooks/swap/prices/delta/orders/utils.js +4 -1
  256. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  257. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  258. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +14 -1
  259. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  260. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +60 -2
  261. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  262. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  263. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +8 -0
  264. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  265. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +12 -3
  266. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  267. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  268. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  269. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +14 -1
  270. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  271. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +60 -2
  272. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  273. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  274. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  275. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  276. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  277. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  278. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  279. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  280. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  281. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +1 -0
  282. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  283. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +207 -458
  284. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  285. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  286. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +1 -0
  287. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  288. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +210 -411
  289. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  290. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  291. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  292. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  293. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  294. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.d.ts.map +1 -1
  295. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +18 -7
  296. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  297. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts +3 -2
  298. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
  299. package/dist/hooks/tokens/balances/useInvalidateTokenData.js +60 -77
  300. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  301. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  302. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  303. package/dist/hooks/tokens/balances/useSelectedTokenBalances.d.ts +5 -0
  304. package/dist/hooks/tokens/balances/useSelectedTokenBalances.d.ts.map +1 -0
  305. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js +38 -0
  306. package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -0
  307. package/dist/hooks/tokens/balances/useTokenBalance.d.ts +15 -0
  308. package/dist/hooks/tokens/balances/useTokenBalance.d.ts.map +1 -1
  309. package/dist/hooks/tokens/balances/useTokenBalance.js +2 -0
  310. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  311. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  312. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  313. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  314. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  315. package/dist/hooks/tokens/useTokenLists.js.map +1 -1
  316. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  317. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  318. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  319. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  320. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  321. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  322. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  323. package/dist/hooks/txs/queries/utils.d.ts +3 -0
  324. package/dist/hooks/txs/queries/utils.d.ts.map +1 -0
  325. package/dist/hooks/txs/queries/utils.js +6 -0
  326. package/dist/hooks/txs/queries/utils.js.map +1 -0
  327. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  328. package/dist/hooks/useBridgeInfo.js.map +1 -1
  329. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  330. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  331. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  332. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  333. package/dist/hooks/useMinViemClient.js.map +1 -1
  334. package/dist/hooks/useSDK.js +1 -1
  335. package/dist/hooks/useSDK.js.map +1 -1
  336. package/dist/hooks/useSlippage.js.map +1 -1
  337. package/dist/lib/ipfs.js.map +1 -1
  338. package/dist/lib/queryClient.d.ts.map +1 -1
  339. package/dist/lib/queryClient.js +32 -2
  340. package/dist/lib/queryClient.js.map +1 -1
  341. package/dist/lib/utils/copyToClipboard.js.map +1 -1
  342. package/dist/lib/utils/delta.js.map +1 -1
  343. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  344. package/dist/lib/utils/index.js.map +1 -1
  345. package/dist/lib/utils/logger.js.map +1 -1
  346. package/dist/lib/utils/price.js.map +1 -1
  347. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  348. package/dist/lib/utils/priceImpact.js +1 -1
  349. package/dist/lib/utils/priceImpact.js.map +1 -1
  350. package/dist/lib/utils/providerErrors.js.map +1 -1
  351. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  352. package/dist/lib/utils/toasts.js +0 -24
  353. package/dist/lib/utils/toasts.js.map +1 -1
  354. package/dist/lib/web3/privy/config.js +1 -1
  355. package/dist/lib/web3/wagmi/config.d.ts +12 -2
  356. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  357. package/dist/lib/web3/wagmi/config.js +6 -3
  358. package/dist/lib/web3/wagmi/config.js.map +1 -1
  359. package/dist/lib/web3/wagmi/constants.d.ts +12 -2
  360. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  361. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +25 -0
  362. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -0
  363. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +113 -0
  364. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -0
  365. package/dist/styles.css +81 -9
  366. package/dist/tokens/lists/constants.js.map +1 -1
  367. package/dist/tokens/lists/download.js.map +1 -1
  368. package/dist/tokens/lists/hooks.js.map +1 -1
  369. package/dist/tokens/lists/state/observer.js.map +1 -1
  370. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  371. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +2 -2
  372. package/dist/tokens/overrides.js.map +1 -1
  373. package/dist/tokens/queries.js.map +1 -1
  374. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  375. package/dist/tokens/state/constructTokens.js.map +1 -1
  376. package/dist/tokens/state/tokensAtom.js.map +1 -1
  377. package/dist/tokens/utils/filtering.js.map +1 -1
  378. package/dist/tokens/utils/sets.js.map +1 -1
  379. package/dist/tokens/utils/sorting.js.map +1 -1
  380. package/dist/tokens/utils/transferAmountsFromReceipt.d.ts +51 -0
  381. package/dist/tokens/utils/transferAmountsFromReceipt.d.ts.map +1 -0
  382. package/dist/tokens/utils/transferAmountsFromReceipt.js +281 -0
  383. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -0
  384. package/package.json +32 -31
  385. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts +0 -25
  386. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts.map +0 -1
  387. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js +0 -103
  388. package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js.map +0 -1
  389. /package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.0 → react-compiler-runtime@19.1.0-rc.2_react@19.1.1}/external/react-compiler-runtime/dist/index.js +0 -0
  390. /package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33 → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d}/external/vaul/dist/index.js +0 -0
@@ -0,0 +1,113 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { createLogger } from '../../utils/logger.js';
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { withTimeout } from 'viem';
5
+
6
+ const isInIframe = typeof window !== "undefined" && window?.parent !== window;
7
+ const logger = createLogger("SafeWallet");
8
+ function useSafeInfo() {
9
+ const $ = distExports.c(8);
10
+ let t0;
11
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
12
+ t0 = ["safeInfo"];
13
+ $[0] = t0;
14
+ } else {
15
+ t0 = $[0];
16
+ }
17
+ let t1;
18
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
19
+ t1 = {
20
+ queryKey: t0,
21
+ queryFn: _temp,
22
+ staleTime: Infinity,
23
+ gcTime: Infinity,
24
+ initialData: isInIframe ? void 0 : null
25
+ };
26
+ $[1] = t1;
27
+ } else {
28
+ t1 = $[1];
29
+ }
30
+ const {
31
+ data,
32
+ isLoading,
33
+ isSuccess,
34
+ isError,
35
+ error: error_0
36
+ } = useQuery(t1);
37
+ let t2;
38
+ if ($[2] !== data || $[3] !== error_0 || $[4] !== isError || $[5] !== isLoading || $[6] !== isSuccess) {
39
+ t2 = {
40
+ data,
41
+ isLoading,
42
+ isSuccess,
43
+ isError,
44
+ error: error_0
45
+ };
46
+ $[2] = data;
47
+ $[3] = error_0;
48
+ $[4] = isError;
49
+ $[5] = isLoading;
50
+ $[6] = isSuccess;
51
+ $[7] = t2;
52
+ } else {
53
+ t2 = $[7];
54
+ }
55
+ return t2;
56
+ }
57
+ async function _temp() {
58
+ if (isInIframe) {
59
+ const errorInstance = new Error("Safe info request timed out");
60
+ try {
61
+ const safeInfo = await withTimeout(requestSafeInfo, {
62
+ timeout: 200,
63
+ signal: true,
64
+ errorInstance
65
+ });
66
+ logger.info("Safe info request successful", safeInfo);
67
+ return safeInfo;
68
+ } catch (t0) {
69
+ const error = t0;
70
+ if (error === errorInstance) {
71
+ logger.info("Safe Wallet not detected");
72
+ return null;
73
+ }
74
+ logger.error("Safe info request failed", error);
75
+ throw error;
76
+ }
77
+ }
78
+ return null;
79
+ }
80
+ function requestSafeInfo({
81
+ signal
82
+ }) {
83
+ const request = {
84
+ id: (/* @__PURE__ */ new Date()).getTime().toString(36),
85
+ method: "getSafeInfo",
86
+ params: void 0,
87
+ env: {
88
+ sdkVersion: "9.1.0"
89
+ // latest version of Safe SDK
90
+ }
91
+ };
92
+ return new Promise((resolve, reject) => {
93
+ const listener = (event) => {
94
+ if (event.data?.id === request.id) {
95
+ window.removeEventListener("message", listener);
96
+ if (event.data.success) {
97
+ resolve(event.data.data);
98
+ } else {
99
+ reject(new Error(event.data.error));
100
+ }
101
+ }
102
+ };
103
+ signal?.addEventListener("abort", () => {
104
+ window.removeEventListener("message", listener);
105
+ reject(signal.reason);
106
+ });
107
+ window.addEventListener("message", listener);
108
+ window.parent.postMessage(request, "*");
109
+ });
110
+ }
111
+
112
+ export { isInIframe, useSafeInfo };
113
+ //# sourceMappingURL=isInsideSafeIframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isInsideSafeIframe.js","sources":["../../../../src/lib/web3/wagmi/isInsideSafeIframe.ts"],"sourcesContent":["import { createLogger } from \"@/lib/utils/logger\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { withTimeout } from \"viem\";\n\nexport const isInIframe =\n typeof window !== \"undefined\" && window?.parent !== window;\n\ntype SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\ntype SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\ntype SafeMessageEvent<T = unknown> = {\n id: string;\n data: T;\n version?: string;\n success: boolean;\n error?: string;\n};\n\ntype SafeRequest = {\n id: string;\n method: string;\n params: undefined;\n env: {\n sdkVersion: string;\n };\n};\n\nconst logger = createLogger(\"SafeWallet\");\n\nexport function useSafeInfo(): {\n data?: SafeInfoExtended | null;\n isLoading: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n} {\n const { data, isLoading, isSuccess, isError, error } = useQuery({\n queryKey: [\"safeInfo\"],\n queryFn: async () => {\n if (isInIframe) {\n const errorInstance = new Error(\"Safe info request timed out\");\n try {\n const safeInfo = await withTimeout(requestSafeInfo, {\n timeout: 200,\n signal: true,\n // non-safe iframe will never answer the request, so we need to timeout\n errorInstance,\n });\n\n logger.info(\"Safe info request successful\", safeInfo);\n\n return safeInfo;\n } catch (error) {\n if (error === errorInstance) {\n logger.info(\"Safe Wallet not detected\");\n return null;\n }\n\n logger.error(\"Safe info request failed\", error);\n throw error;\n }\n }\n\n return null;\n },\n staleTime: Infinity,\n gcTime: Infinity,\n // shortcut when we are not in iframe\n initialData: isInIframe ? undefined : null,\n });\n\n return { data, isLoading, isSuccess, isError, error };\n}\n\nfunction requestSafeInfo({\n signal,\n}: {\n signal: AbortSignal | null;\n}): Promise<SafeInfoExtended> {\n const request: SafeRequest = {\n id: new Date().getTime().toString(36),\n method: \"getSafeInfo\",\n params: undefined,\n env: {\n sdkVersion: \"9.1.0\", // latest version of Safe SDK\n },\n };\n\n return new Promise((resolve, reject) => {\n const listener = (\n event: MessageEvent<SafeMessageEvent<SafeInfoExtended>>\n ) => {\n if (event.data?.id === request.id) {\n window.removeEventListener(\"message\", listener);\n if (event.data.success) {\n resolve(event.data.data);\n } else {\n reject(new Error(event.data.error));\n }\n }\n };\n\n signal?.addEventListener(\"abort\", () => {\n window.removeEventListener(\"message\", listener);\n reject(signal.reason);\n });\n\n window.addEventListener(\"message\", listener);\n\n // If inside Safe iframe, Safe web app will respond to the request\n window.parent.postMessage(request, \"*\");\n });\n}\n"],"names":["isInIframe","window","parent","logger","createLogger","useSafeInfo","$","_c","t0","Symbol","for","t1","queryKey","queryFn","_temp","staleTime","Infinity","gcTime","initialData","undefined","data","isLoading","isSuccess","isError","error","error_0","useQuery","t2","errorInstance","Error","safeInfo","withTimeout","requestSafeInfo","timeout","signal","info","request","id","Date","getTime","toString","method","params","env","sdkVersion","Promise","resolve","reject","listener","event","removeEventListener","success","addEventListener","reason","postMessage"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1,6 +1,6 @@
1
1
  @import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&family=Geist:wght@100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";
2
2
 
3
- /*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
3
+ /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
4
4
  @layer properties {
5
5
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
6
6
  *, :before, :after, ::backdrop {
@@ -46,6 +46,7 @@
46
46
  --tw-drop-shadow-alpha: 100%;
47
47
  --tw-drop-shadow-size: initial;
48
48
  --tw-duration: initial;
49
+ --tw-ease: initial;
49
50
  --tw-text-shadow-color: initial;
50
51
  --tw-text-shadow-alpha: 100%;
51
52
  --tw-animation-delay: 0s;
@@ -66,7 +67,7 @@
66
67
  }
67
68
  }
68
69
  }
69
- :root, :host {
70
+ .velora-widget {
70
71
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
71
72
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
72
73
  --color-red-800: oklch(44.4% .177 26.899);
@@ -101,12 +102,14 @@
101
102
  --font-weight-semibold: 600;
102
103
  --tracking-widest: .1em;
103
104
  --radius-2xl: 1rem;
105
+ --ease-in-out: cubic-bezier(.4, 0, .2, 1);
104
106
  --animate-spin: spin 1s linear infinite;
105
107
  --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
106
108
  --default-transition-duration: .15s;
107
109
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
108
110
  --default-font-family: var(--font-sans);
109
111
  --default-mono-font-family: var(--font-mono);
112
+ --radius-xxl: calc(var(--radius) + 10px);
110
113
  --font-geist: var(--font-geist);
111
114
  --font-geist-mono: var(--font-geist-mono);
112
115
  --font-inter: var(--font-inter);
@@ -320,6 +323,9 @@
320
323
  .velora-widget.velora-widget .pointer-events-none {
321
324
  pointer-events: none;
322
325
  }
326
+ .velora-widget.velora-widget .visible {
327
+ visibility: visible;
328
+ }
323
329
  .velora-widget.velora-widget .absolute {
324
330
  position: absolute;
325
331
  }
@@ -522,6 +528,9 @@
522
528
  .velora-widget.velora-widget .hidden {
523
529
  display: none;
524
530
  }
531
+ .velora-widget.velora-widget .inline {
532
+ display: inline;
533
+ }
525
534
  .velora-widget.velora-widget .inline-flex {
526
535
  display: inline-flex;
527
536
  }
@@ -568,6 +577,10 @@
568
577
  width: 16px;
569
578
  height: 16px;
570
579
  }
580
+ .velora-widget.velora-widget .size-\[20px\] {
581
+ width: 20px;
582
+ height: 20px;
583
+ }
571
584
  .velora-widget.velora-widget .size-\[24px\] {
572
585
  width: 24px;
573
586
  height: 24px;
@@ -628,6 +641,9 @@
628
641
  .velora-widget.velora-widget .h-\[34px\] {
629
642
  height: 34px;
630
643
  }
644
+ .velora-widget.velora-widget .h-\[35px\] {
645
+ height: 35px;
646
+ }
631
647
  .velora-widget.velora-widget .h-\[36px\] {
632
648
  height: 36px;
633
649
  }
@@ -646,8 +662,8 @@
646
662
  .velora-widget.velora-widget .h-\[168px\] {
647
663
  height: 168px;
648
664
  }
649
- .velora-widget.velora-widget .h-\[336px\] {
650
- height: 336px;
665
+ .velora-widget.velora-widget .h-\[528px\] {
666
+ height: 528px;
651
667
  }
652
668
  .velora-widget.velora-widget .h-\[590px\] {
653
669
  height: 590px;
@@ -733,9 +749,6 @@
733
749
  .velora-widget.velora-widget .w-min {
734
750
  width: min-content;
735
751
  }
736
- .velora-widget.velora-widget .w-screen {
737
- width: 100vw;
738
- }
739
752
  .velora-widget.velora-widget .max-w-3xl {
740
753
  max-width: var(--container-3xl);
741
754
  }
@@ -871,6 +884,9 @@
871
884
  .velora-widget.velora-widget .flex-col-reverse {
872
885
  flex-direction: column-reverse;
873
886
  }
887
+ .velora-widget.velora-widget .flex-wrap {
888
+ flex-wrap: wrap;
889
+ }
874
890
  .velora-widget.velora-widget .items-center {
875
891
  align-items: center;
876
892
  }
@@ -951,6 +967,15 @@
951
967
  margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
952
968
  margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
953
969
  }
970
+ .velora-widget.velora-widget .gap-x-2 {
971
+ column-gap: calc(var(--spacing) * 2);
972
+ }
973
+ .velora-widget.velora-widget .gap-y-2 {
974
+ row-gap: calc(var(--spacing) * 2);
975
+ }
976
+ .velora-widget.velora-widget .gap-y-3 {
977
+ row-gap: calc(var(--spacing) * 3);
978
+ }
954
979
  .velora-widget.velora-widget .self-start {
955
980
  align-self: flex-start;
956
981
  }
@@ -1247,6 +1272,9 @@
1247
1272
  .velora-widget.velora-widget .px-\[6px\] {
1248
1273
  padding-inline: 6px;
1249
1274
  }
1275
+ .velora-widget.velora-widget .px-\[11px\] {
1276
+ padding-inline: 11px;
1277
+ }
1250
1278
  .velora-widget.velora-widget .px-\[12px\] {
1251
1279
  padding-inline: 12px;
1252
1280
  }
@@ -1545,12 +1573,18 @@
1545
1573
  .velora-widget.velora-widget .underline-offset-4 {
1546
1574
  text-underline-offset: 4px;
1547
1575
  }
1576
+ .velora-widget.velora-widget .opacity-0 {
1577
+ opacity: 0;
1578
+ }
1548
1579
  .velora-widget.velora-widget .opacity-50 {
1549
1580
  opacity: .5;
1550
1581
  }
1551
1582
  .velora-widget.velora-widget .opacity-70 {
1552
1583
  opacity: .7;
1553
1584
  }
1585
+ .velora-widget.velora-widget .opacity-75 {
1586
+ opacity: .75;
1587
+ }
1554
1588
  .velora-widget.velora-widget .shadow-2xl {
1555
1589
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
1556
1590
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1652,6 +1686,11 @@
1652
1686
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1653
1687
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1654
1688
  }
1689
+ .velora-widget.velora-widget .transition-colors {
1690
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
1691
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1692
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1693
+ }
1655
1694
  .velora-widget.velora-widget .transition-opacity {
1656
1695
  transition-property: opacity;
1657
1696
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -1673,6 +1712,10 @@
1673
1712
  --tw-duration: .3s;
1674
1713
  transition-duration: .3s;
1675
1714
  }
1715
+ .velora-widget.velora-widget .ease-in-out {
1716
+ --tw-ease: var(--ease-in-out);
1717
+ transition-timing-function: var(--ease-in-out);
1718
+ }
1676
1719
  .velora-widget.velora-widget .\!select-text {
1677
1720
  -webkit-user-select: text !important;
1678
1721
  user-select: text !important;
@@ -1695,6 +1738,9 @@
1695
1738
  .velora-widget.velora-widget .zoom-in-95 {
1696
1739
  --tw-enter-scale: .95;
1697
1740
  }
1741
+ .velora-widget.velora-widget .\[scrollbar-gutter\:stable_both-edges\] {
1742
+ scrollbar-gutter: stable both-edges;
1743
+ }
1698
1744
  .velora-widget.velora-widget .running {
1699
1745
  animation-play-state: running;
1700
1746
  }
@@ -1845,6 +1891,11 @@
1845
1891
  opacity: 1;
1846
1892
  }
1847
1893
 
1894
+ .velora-widget.velora-widget .hover\:shadow-\[0_1px_6px_0_rgba\(0\,0\,0\,0\.15\)\]:hover {
1895
+ --tw-shadow: 0 1px 6px 0 var(--tw-shadow-color, #00000026);
1896
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1897
+ }
1898
+
1848
1899
  .velora-widget.velora-widget .hover\:outline-1:hover {
1849
1900
  outline-style: var(--tw-outline-style);
1850
1901
  outline-width: 1px;
@@ -1886,6 +1937,9 @@
1886
1937
  outline: 2px solid #0000;
1887
1938
  }
1888
1939
  }
1940
+ .velora-widget.velora-widget .focus-visible\:rounded-xs:focus-visible {
1941
+ border-radius: calc(var(--radius) - 4px);
1942
+ }
1889
1943
  .velora-widget.velora-widget .focus-visible\:border-brand-2:focus-visible {
1890
1944
  border-color: var(--brand-2);
1891
1945
  }
@@ -1912,6 +1966,10 @@
1912
1966
  --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
1913
1967
  }
1914
1968
  }
1969
+ .velora-widget.velora-widget .focus-visible\:outline-none:focus-visible {
1970
+ --tw-outline-style: none;
1971
+ outline-style: none;
1972
+ }
1915
1973
  .velora-widget.velora-widget .disabled\:pointer-events-none:disabled {
1916
1974
  pointer-events: none;
1917
1975
  }
@@ -2038,7 +2096,7 @@
2038
2096
  background-color: var(--secondary-shamrock_green-2);
2039
2097
  }
2040
2098
  .velora-widget.velora-widget .data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
2041
- animation: accordion-up var(--tw-animation-duration, var(--tw-duration, .2s)) ease-out;
2099
+ animation: accordion-up var(--tw-animation-duration, var(--tw-duration, .2s)) var(--tw-ease, ease-out) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
2042
2100
  }
2043
2101
  .velora-widget.velora-widget .data-\[state\=closed\]\:animate-out[data-state="closed"] {
2044
2102
  animation: exit var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
@@ -2050,7 +2108,7 @@
2050
2108
  --tw-exit-scale: .95;
2051
2109
  }
2052
2110
  .velora-widget.velora-widget .data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
2053
- animation: accordion-down var(--tw-animation-duration, var(--tw-duration, .2s)) ease-out;
2111
+ animation: accordion-down var(--tw-animation-duration, var(--tw-duration, .2s)) var(--tw-ease, ease-out) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
2054
2112
  }
2055
2113
  .velora-widget.velora-widget .data-\[state\=open\]\:animate-in[data-state="open"] {
2056
2114
  animation: enter var(--tw-animation-duration, var(--tw-duration, .15s)) var(--tw-ease, ease) var(--tw-animation-delay, 0s) var(--tw-animation-iteration-count, 1) var(--tw-animation-direction, normal) var(--tw-animation-fill-mode, none);
@@ -2335,6 +2393,15 @@
2335
2393
  }
2336
2394
  }
2337
2395
 
2396
+ .velora-widget.velora-widget .dark\:hover\:outline-1:is(.velora-widget.dark *):hover {
2397
+ outline-style: var(--tw-outline-style);
2398
+ outline-width: 1px;
2399
+ }
2400
+
2401
+ .velora-widget.velora-widget .dark\:hover\:outline-black:is(.velora-widget.dark *):hover {
2402
+ outline-color: var(--color-black);
2403
+ }
2404
+
2338
2405
  .velora-widget.velora-widget .dark\:hover\:outline-contrast-5:is(.velora-widget.dark *):hover {
2339
2406
  outline-color: var(--contrast-5);
2340
2407
  }
@@ -2660,6 +2727,7 @@
2660
2727
  }
2661
2728
  .velora-widget {
2662
2729
  font-family: var(--font-inter);
2730
+ border-radius: var(--radius-xxl);
2663
2731
  max-width: 460px;
2664
2732
  position: relative;
2665
2733
  }
@@ -2847,6 +2915,10 @@
2847
2915
  syntax: "*";
2848
2916
  inherits: false
2849
2917
  }
2918
+ @property --tw-ease {
2919
+ syntax: "*";
2920
+ inherits: false
2921
+ }
2850
2922
  @property --tw-text-shadow-color {
2851
2923
  syntax: "*";
2852
2924
  inherits: false
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../src/tokens/lists/constants.ts"],"sourcesContent":["import { filterUnique, gatherObjectsByProp } from \"@/lib/utils\";\nimport type { TokenListDownloadData } from \"./types\";\n\nimport TokenLists from \"./lists.json\";\n\n// filter out lists with duplicate `url` or `filename` so we don't load or fallback to potentially wrong list\n// which shouldn't happen as long as we keep `lists.json` lists unique.\n\n// In UI it makes sense to skip such malformed duplicate lists, rather than hard break\nconst UniqueTokenLists: TokenListDownloadData[] = filterUnique(\n // have to cast chainId: string to \"multi\"\n TokenLists as TokenListDownloadData[],\n // account for one list being used on multiple chains\n (list) => [list.url + list.chainId, list.filename + list.chainId]\n);\n\nexport const url2TokenList = gatherObjectsByProp<TokenListDownloadData>(\n UniqueTokenLists,\n (list) => list.url\n);\n\nexport const urlChain2TokenList = gatherObjectsByProp<TokenListDownloadData>(\n UniqueTokenLists,\n (list) => `${list.url}@${list.chainId}`\n);\n\nexport const chainId2TokenListURLs = gatherObjectsByProp<\n TokenListDownloadData,\n { all: string[]; enabled: string[] }\n>(\n UniqueTokenLists,\n (list) => String(list.chainId),\n (list, accumElem) => {\n const acc = accumElem || { all: [], enabled: [] };\n // so far only auxiliary stablecoins list is multichain\n if (list.chainId === \"multi\") return acc;\n\n acc.all.push(list.url);\n\n if (list.onByDefault) {\n acc.enabled.push(list.url);\n }\n\n return acc;\n }\n);\n\nexport const FALLBACK_CDN_URL = \"https://cdn.paraswap.io/web/token-lists\";\n"],"names":["UniqueTokenLists","filterUnique","TokenLists","list","url","chainId","filename","url2TokenList","gatherObjectsByProp","urlChain2TokenList","chainId2TokenListURLs","String","accumElem","acc","all","enabled","push","onByDefault","FALLBACK_CDN_URL"],"mappings":";;;AASA,MAAMA,gBAAAA,GAA4CC,YAAAA;AAAAA;AAAAA,EAEhDC,WAAAA;AAAAA;AAAAA,EAECC,CAAAA,IAAAA,KAAS,CAACA,IAAAA,CAAKC,GAAAA,GAAMD,KAAKE,OAAAA,EAASF,IAAAA,CAAKG,QAAAA,GAAWH,IAAAA,CAAKE,OAAO;AAClE,CAAA;AAEO,MAAME,aAAAA,GAAgBC,mBAAAA,CAC3BR,gBAAAA,EACCG,CAAAA,IAAAA,KAASA,KAAKC,GACjB;AAEO,MAAMK,kBAAAA,GAAqBD,mBAAAA,CAChCR,gBAAAA,EACCG,CAAAA,IAAAA,KAAS,CAAA,EAAGA,KAAKC,GAAG,CAAA,CAAA,EAAID,IAAAA,CAAKE,OAAO,CAAA,CACvC;AAEO,MAAMK,qBAAAA,GAAwBF,mBAAAA,CAInCR,gBAAAA,EACCG,CAAAA,IAAAA,KAASQ,MAAAA,CAAOR,KAAKE,OAAO,CAAA,EAC7B,CAACF,IAAAA,EAAMS,SAAAA,KAAc;AACnB,EAAA,MAAMC,MAAMD,SAAAA,IAAa;AAAA,IAAEE,KAAK,EAAA;AAAA,IAAIC,SAAS;AAAA,GAAG;AAEhD,EAAA,IAAIZ,IAAAA,CAAKE,OAAAA,KAAY,OAAA,EAAS,OAAOQ,GAAAA;AAErCA,EAAAA,GAAAA,CAAIC,GAAAA,CAAIE,IAAAA,CAAKb,IAAAA,CAAKC,GAAG,CAAA;AAErB,EAAA,IAAID,KAAKc,WAAAA,EAAa;AACpBJ,IAAAA,GAAAA,CAAIE,OAAAA,CAAQC,IAAAA,CAAKb,IAAAA,CAAKC,GAAG,CAAA;AAAA;AAG3B,EAAA,OAAOS,GAAAA;AACT,CACF;AAEO,MAAMK,gBAAAA,GAAmB;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../src/tokens/lists/constants.ts"],"sourcesContent":["import { filterUnique, gatherObjectsByProp } from \"@/lib/utils\";\nimport type { TokenListDownloadData } from \"./types\";\n\nimport TokenLists from \"./lists.json\";\n\n// filter out lists with duplicate `url` or `filename` so we don't load or fallback to potentially wrong list\n// which shouldn't happen as long as we keep `lists.json` lists unique.\n\n// In UI it makes sense to skip such malformed duplicate lists, rather than hard break\nconst UniqueTokenLists: TokenListDownloadData[] = filterUnique(\n // have to cast chainId: string to \"multi\"\n TokenLists as TokenListDownloadData[],\n // account for one list being used on multiple chains\n (list) => [list.url + list.chainId, list.filename + list.chainId]\n);\n\nexport const url2TokenList = gatherObjectsByProp<TokenListDownloadData>(\n UniqueTokenLists,\n (list) => list.url\n);\n\nexport const urlChain2TokenList = gatherObjectsByProp<TokenListDownloadData>(\n UniqueTokenLists,\n (list) => `${list.url}@${list.chainId}`\n);\n\nexport const chainId2TokenListURLs = gatherObjectsByProp<\n TokenListDownloadData,\n { all: string[]; enabled: string[] }\n>(\n UniqueTokenLists,\n (list) => String(list.chainId),\n (list, accumElem) => {\n const acc = accumElem || { all: [], enabled: [] };\n // so far only auxiliary stablecoins list is multichain\n if (list.chainId === \"multi\") return acc;\n\n acc.all.push(list.url);\n\n if (list.onByDefault) {\n acc.enabled.push(list.url);\n }\n\n return acc;\n }\n);\n\nexport const FALLBACK_CDN_URL = \"https://cdn.paraswap.io/web/token-lists\";\n"],"names":["UniqueTokenLists","filterUnique","TokenLists","list","url","chainId","filename","url2TokenList","gatherObjectsByProp","urlChain2TokenList","chainId2TokenListURLs","String","accumElem","acc","all","enabled","push","onByDefault","FALLBACK_CDN_URL"],"mappings":";;;AASA,MAAMA,gBAAAA,GAA4CC,YAAAA;AAAAA;AAAAA,EAEhDC,WAAAA;AAAAA;AAAAA,EAECC,CAAAA,IAAAA,KAAS,CAACA,IAAAA,CAAKC,GAAAA,GAAMD,KAAKE,OAAAA,EAASF,IAAAA,CAAKG,QAAAA,GAAWH,IAAAA,CAAKE,OAAO;AAClE,CAAA;AAEO,MAAME,aAAAA,GAAgBC,mBAAAA,CAC3BR,gBAAAA,EACCG,CAAAA,IAAAA,KAASA,KAAKC,GACjB;AAEO,MAAMK,kBAAAA,GAAqBD,mBAAAA,CAChCR,gBAAAA,EACCG,CAAAA,IAAAA,KAAS,CAAA,EAAGA,KAAKC,GAAG,CAAA,CAAA,EAAID,IAAAA,CAAKE,OAAO,CAAA,CACvC;AAEO,MAAMK,qBAAAA,GAAwBF,mBAAAA,CAInCR,gBAAAA,EACCG,CAAAA,IAAAA,KAASQ,MAAAA,CAAOR,KAAKE,OAAO,CAAA,EAC7B,CAACF,IAAAA,EAAMS,SAAAA,KAAc;AACnB,EAAA,MAAMC,MAAMD,SAAAA,IAAa;AAAA,IAAEE,KAAK,EAAA;AAAA,IAAIC,SAAS;AAAA,GAAG;AAEhD,EAAA,IAAIZ,IAAAA,CAAKE,OAAAA,KAAY,OAAA,EAAS,OAAOQ,GAAAA;AAErCA,EAAAA,GAAAA,CAAIC,GAAAA,CAAIE,IAAAA,CAAKb,IAAAA,CAAKC,GAAG,CAAA;AAErB,EAAA,IAAID,KAAKc,WAAAA,EAAa;AACpBJ,IAAAA,GAAAA,CAAIE,OAAAA,CAAQC,IAAAA,CAAKb,IAAAA,CAAKC,GAAG,CAAA;AAAA,EAC3B;AAEA,EAAA,OAAOS,GAAAA;AACT,CACF;AAEO,MAAMK,gBAAAA,GAAmB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sources":["../../../src/tokens/lists/download.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { TokenList } from \"@uniswap/token-lists\";\n\nimport { url2TokenList, FALLBACK_CDN_URL } from \"./constants\";\n\nexport const downloadTokenListDataWithFallback = async (\n listURL: string,\n signal?: AbortSignal\n): Promise<TokenList> => {\n try {\n // from the direct url\n const { data } = await axios.get<TokenList>(listURL, {\n signal,\n });\n // @ts-expect-error malformed tokenList.version\n if (data.version.major === null) data.version.major = 0; // https://tokens.coingecko.com/xdai/all.json has `null`\n // @ts-expect-error malformed tokenList.version\n if (data.version.minor === null) data.version.minor = 0;\n // @ts-expect-error malformed tokenList.version\n if (data.version.patch === null) data.version.patch = 0;\n return data;\n } catch (error) {\n const { filename } = url2TokenList[listURL] || {};\n\n if (!filename) throw error;\n\n const url = `${FALLBACK_CDN_URL}/${filename}.json`;\n\n // from fallback on CDN\n const { data } = await axios.get<TokenList>(url, {\n signal,\n });\n\n return data;\n }\n};\n"],"names":["downloadTokenListDataWithFallback","listURL","signal","data","axios","get","version","major","minor","patch","error","filename","url2TokenList","url","FALLBACK_CDN_URL"],"mappings":";;;AAKO,MAAMA,iCAAAA,GAAoC,OAC/CC,OAAAA,EACAC,MAAAA,KACuB;AACvB,EAAA,IAAI;AAEF,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAK,GAAI,MAAMC,KAAAA,CAAMC,GAAAA,CAAeJ,OAAAA,EAAS;AAAA,MACnDC;AAAAA,KACD,CAAA;AAED,IAAA,IAAIC,KAAKG,OAAAA,CAAQC,KAAAA,KAAU,IAAA,EAAMJ,IAAAA,CAAKG,QAAQC,KAAAA,GAAQ,CAAA;AAEtD,IAAA,IAAIJ,KAAKG,OAAAA,CAAQE,KAAAA,KAAU,IAAA,EAAML,IAAAA,CAAKG,QAAQE,KAAAA,GAAQ,CAAA;AAEtD,IAAA,IAAIL,KAAKG,OAAAA,CAAQG,KAAAA,KAAU,IAAA,EAAMN,IAAAA,CAAKG,QAAQG,KAAAA,GAAQ,CAAA;AACtD,IAAA,OAAON,IAAAA;AAAAA,WACAO,KAAAA,EAAO;AACd,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAS,GAAIC,aAAAA,CAAcX,OAAO,CAAA,IAAK,EAAC;AAEhD,IAAA,IAAI,CAACU,UAAU,MAAMD,KAAAA;AAErB,IAAA,MAAMG,GAAAA,GAAM,CAAA,EAAGC,gBAAgB,CAAA,CAAA,EAAIH,QAAQ,CAAA,KAAA,CAAA;AAG3C,IAAA,MAAM;AAAA,MAAER;AAAAA,KAAK,GAAI,MAAMC,KAAAA,CAAMC,GAAAA,CAAeQ,GAAAA,EAAK;AAAA,MAC/CX;AAAAA,KACD,CAAA;AAED,IAAA,OAAOC,IAAAA;AAAAA;AAEX;;;;"}
1
+ {"version":3,"file":"download.js","sources":["../../../src/tokens/lists/download.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { TokenList } from \"@uniswap/token-lists\";\n\nimport { url2TokenList, FALLBACK_CDN_URL } from \"./constants\";\n\nexport const downloadTokenListDataWithFallback = async (\n listURL: string,\n signal?: AbortSignal\n): Promise<TokenList> => {\n try {\n // from the direct url\n const { data } = await axios.get<TokenList>(listURL, {\n signal,\n });\n // @ts-expect-error malformed tokenList.version\n if (data.version.major === null) data.version.major = 0; // https://tokens.coingecko.com/xdai/all.json has `null`\n // @ts-expect-error malformed tokenList.version\n if (data.version.minor === null) data.version.minor = 0;\n // @ts-expect-error malformed tokenList.version\n if (data.version.patch === null) data.version.patch = 0;\n return data;\n } catch (error) {\n const { filename } = url2TokenList[listURL] || {};\n\n if (!filename) throw error;\n\n const url = `${FALLBACK_CDN_URL}/${filename}.json`;\n\n // from fallback on CDN\n const { data } = await axios.get<TokenList>(url, {\n signal,\n });\n\n return data;\n }\n};\n"],"names":["downloadTokenListDataWithFallback","listURL","signal","data","axios","get","version","major","minor","patch","error","filename","url2TokenList","url","FALLBACK_CDN_URL"],"mappings":";;;AAKO,MAAMA,iCAAAA,GAAoC,OAC/CC,OAAAA,EACAC,MAAAA,KACuB;AACvB,EAAA,IAAI;AAEF,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAK,GAAI,MAAMC,KAAAA,CAAMC,GAAAA,CAAeJ,OAAAA,EAAS;AAAA,MACnDC;AAAAA,KACD,CAAA;AAED,IAAA,IAAIC,KAAKG,OAAAA,CAAQC,KAAAA,KAAU,IAAA,EAAMJ,IAAAA,CAAKG,QAAQC,KAAAA,GAAQ,CAAA;AAEtD,IAAA,IAAIJ,KAAKG,OAAAA,CAAQE,KAAAA,KAAU,IAAA,EAAML,IAAAA,CAAKG,QAAQE,KAAAA,GAAQ,CAAA;AAEtD,IAAA,IAAIL,KAAKG,OAAAA,CAAQG,KAAAA,KAAU,IAAA,EAAMN,IAAAA,CAAKG,QAAQG,KAAAA,GAAQ,CAAA;AACtD,IAAA,OAAON,IAAAA;AAAAA,EACT,SAASO,KAAAA,EAAO;AACd,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAS,GAAIC,aAAAA,CAAcX,OAAO,CAAA,IAAK,EAAC;AAEhD,IAAA,IAAI,CAACU,UAAU,MAAMD,KAAAA;AAErB,IAAA,MAAMG,GAAAA,GAAM,CAAA,EAAGC,gBAAgB,CAAA,CAAA,EAAIH,QAAQ,CAAA,KAAA,CAAA;AAG3C,IAAA,MAAM;AAAA,MAAER;AAAAA,KAAK,GAAI,MAAMC,KAAAA,CAAMC,GAAAA,CAAeQ,GAAAA,EAAK;AAAA,MAC/CX;AAAAA,KACD,CAAA;AAED,IAAA,OAAOC,IAAAA;AAAAA,EACT;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../src/tokens/lists/hooks.ts"],"sourcesContent":["import { useAtomValue } from \"jotai\";\nimport { useMemo } from \"react\";\nimport { tokenListsAtom } from \"./state/tokenListsStateAtom\";\n\nexport function useAllTokenLists(): string[] {\n const allTokenListsState = useAtomValue(tokenListsAtom);\n\n return useMemo(\n () => Object.values(allTokenListsState).flatMap((lists) => lists.all),\n [allTokenListsState]\n );\n}\n"],"names":["useAllTokenLists","$","_c","allTokenListsState","useAtomValue","tokenListsAtom","t0","t1","Object","values","flatMap","_temp","lists","all"],"mappings":";;;;;AAIO,SAAAA,gBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,kBAAAA,GAA2BC,aAAAC,cAA2B,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,CAAAA,QAAAE,kBAAAA,EAAA;AAGhDI,IAAAA,EAAAA,GAAAC,MAAAA,CAAAC,MAAAA,CAAcN,kBAAkB,CAAA,CAACO,QAAAC,KAA6B,CAAA;AAACV,IAAAA,CAAAA,MAAAE,kBAAAA;AAAAF,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA;AAAAK,EAAAA,EAAAA,GAA/DC,EAAAA;AAA+D,EAAA,OADhED,EAAAA;AAGN;AANI,SAAAK,MAAAC,KAAAA,EAAA;AAAA,EAAA,OAIwDA,KAAAA,CAAKC,GAAAA;AAAA;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../src/tokens/lists/hooks.ts"],"sourcesContent":["import { useAtomValue } from \"jotai\";\nimport { useMemo } from \"react\";\nimport { tokenListsAtom } from \"./state/tokenListsStateAtom\";\n\nexport function useAllTokenLists(): string[] {\n const allTokenListsState = useAtomValue(tokenListsAtom);\n\n return useMemo(\n () => Object.values(allTokenListsState).flatMap((lists) => lists.all),\n [allTokenListsState]\n );\n}\n"],"names":["useAllTokenLists","$","_c","allTokenListsState","useAtomValue","tokenListsAtom","t0","t1","Object","values","flatMap","_temp","lists","all"],"mappings":";;;;;AAIO,SAAAA,gBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,kBAAAA,GAA2BC,aAAAC,cAA2B,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,CAAAA,QAAAE,kBAAAA,EAAA;AAGhDI,IAAAA,EAAAA,GAAAC,MAAAA,CAAAC,MAAAA,CAAcN,kBAAkB,CAAA,CAACO,QAAAC,KAA6B,CAAA;AAACV,IAAAA,CAAAA,MAAAE,kBAAAA;AAAAF,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAAK,EAAAA,EAAAA,GAA/DC,EAAAA;AAA+D,EAAA,OADhED,EAAAA;AAGN;AANI,SAAAK,MAAAC,KAAAA,EAAA;AAAA,EAAA,OAIwDA,KAAAA,CAAKC,GAAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"observer.js","sources":["../../../../src/tokens/lists/state/observer.ts"],"sourcesContent":["import { produceQueryOptions } from \"../../queries\";\nimport type { TokenListCompiled, TokenListFetched } from \"../../types\";\nimport { QueriesObserver, type UseQueryResult } from \"@tanstack/react-query\";\nimport { addTokenListsAtom } from \"./tokenListsActionsAtom\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport { EnabledAndDefaultTokenURLS } from \"./tokenListsStateAtom\";\nimport { getDefaultStore } from \"jotai\";\n\nconst listUrls = Object.values(EnabledAndDefaultTokenURLS).flatMap(\n (lists) => lists.all\n);\n\n// observer to have the latest lists available in the store\nexport function observeTokenLists() {\n return new QueriesObserver(\n queryClient,\n produceQueryOptions(listUrls)\n ).subscribe((queriesResult) => {\n // grab the fetched lists from the queries\n const availableLists = (queriesResult as UseQueryResult<TokenListFetched>[])\n .map((query) => query.data)\n .filter((list): list is TokenListCompiled => !!list?.available);\n\n if (availableLists.length > 0)\n // and put them in the store\n getDefaultStore().set(addTokenListsAtom, availableLists);\n });\n}\n"],"names":["listUrls","Object","values","EnabledAndDefaultTokenURLS","flatMap","lists","all","observeTokenLists","QueriesObserver","queryClient","produceQueryOptions","subscribe","queriesResult","availableLists","map","query","data","filter","list","available","length","getDefaultStore","set","addTokenListsAtom"],"mappings":";;;;;;;AAQA,MAAMA,QAAAA,GAAWC,OAAOC,MAAAA,CAAOC,0BAA0B,EAAEC,OAAAA,CACxDC,CAAAA,KAAAA,KAAUA,MAAMC,GACnB,CAAA;AAGO,SAASC,iBAAAA,GAAoB;AAClC,EAAA,OAAO,IAAIC,gBACTC,WAAAA,EACAC,mBAAAA,CAAoBV,QAAQ,CAC9B,CAAA,CAAEW,UAAWC,CAAAA,aAAAA,KAAkB;AAE7B,IAAA,MAAMC,cAAAA,GAAkBD,aAAAA,CACrBE,GAAAA,CAAKC,CAAAA,KAAAA,KAAUA,KAAAA,CAAMC,IAAI,CAAA,CACzBC,MAAAA,CAAO,CAACC,IAAAA,KAAoC,CAAC,CAACA,MAAMC,SAAS,CAAA;AAEhE,IAAA,IAAIN,eAAeO,MAAAA,GAAS,CAAA;AAE1BC,MAAAA,eAAAA,EAAgB,CAAEC,GAAAA,CAAIC,iBAAAA,EAAmBV,cAAc,CAAA;AAAA,GAC1D,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"observer.js","sources":["../../../../src/tokens/lists/state/observer.ts"],"sourcesContent":["import { produceQueryOptions } from \"../../queries\";\nimport type { TokenListCompiled, TokenListFetched } from \"../../types\";\nimport { QueriesObserver, type UseQueryResult } from \"@tanstack/react-query\";\nimport { addTokenListsAtom } from \"./tokenListsActionsAtom\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport { EnabledAndDefaultTokenURLS } from \"./tokenListsStateAtom\";\nimport { getDefaultStore } from \"jotai\";\n\nconst listUrls = Object.values(EnabledAndDefaultTokenURLS).flatMap(\n (lists) => lists.all\n);\n\n// observer to have the latest lists available in the store\nexport function observeTokenLists() {\n return new QueriesObserver(\n queryClient,\n produceQueryOptions(listUrls)\n ).subscribe((queriesResult) => {\n // grab the fetched lists from the queries\n const availableLists = (queriesResult as UseQueryResult<TokenListFetched>[])\n .map((query) => query.data)\n .filter((list): list is TokenListCompiled => !!list?.available);\n\n if (availableLists.length > 0)\n // and put them in the store\n getDefaultStore().set(addTokenListsAtom, availableLists);\n });\n}\n"],"names":["listUrls","Object","values","EnabledAndDefaultTokenURLS","flatMap","lists","all","observeTokenLists","QueriesObserver","queryClient","produceQueryOptions","subscribe","queriesResult","availableLists","map","query","data","filter","list","available","length","getDefaultStore","set","addTokenListsAtom"],"mappings":";;;;;;;AAQA,MAAMA,QAAAA,GAAWC,OAAOC,MAAAA,CAAOC,0BAA0B,EAAEC,OAAAA,CACxDC,CAAAA,KAAAA,KAAUA,MAAMC,GACnB,CAAA;AAGO,SAASC,iBAAAA,GAAoB;AAClC,EAAA,OAAO,IAAIC,gBACTC,WAAAA,EACAC,mBAAAA,CAAoBV,QAAQ,CAC9B,CAAA,CAAEW,UAAWC,CAAAA,aAAAA,KAAkB;AAE7B,IAAA,MAAMC,cAAAA,GAAkBD,aAAAA,CACrBE,GAAAA,CAAKC,CAAAA,KAAAA,KAAUA,KAAAA,CAAMC,IAAI,CAAA,CACzBC,MAAAA,CAAO,CAACC,IAAAA,KAAoC,CAAC,CAACA,MAAMC,SAAS,CAAA;AAEhE,IAAA,IAAIN,eAAeO,MAAAA,GAAS,CAAA;AAE1BC,MAAAA,eAAAA,EAAgB,CAAEC,GAAAA,CAAIC,iBAAAA,EAAmBV,cAAc,CAAA;AAAA,EAC3D,CAAC,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokenListsActionsAtom.js","sources":["../../../../src/tokens/lists/state/tokenListsActionsAtom.ts"],"sourcesContent":["import { filterInvalidTokenAddress } from \"@/lib/utils\";\nimport { constructTokenFromTokenInfoFactory } from \"@/tokens/constructor\";\nimport type {\n TokenInfoWithSupportedChainId,\n TokenListCompiled,\n} from \"@/tokens/types\";\nimport { versionComparator } from \"@uniswap/token-lists\";\nimport { atom } from \"jotai\";\nimport { constructedTokensByURLAtom } from \"./tokenListsStateAtom\";\nimport type { ConstructedListsByURL } from \"./types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\n// set(addTokenListsAtom) = fetchedLists => set(constructedTokensByURLAtom, from fetchedLists)\nexport const addTokenListsAtom = atom(\n null,\n (get, set, fetchedLists: TokenListCompiled[]) => {\n const constructedTokensByURL = get(constructedTokensByURLAtom);\n\n const updatedLists: ConstructedListsByURL = {};\n\n fetchedLists.forEach((fetchedList) => {\n const {\n url,\n data: { version },\n } = fetchedList;\n\n const prevList = constructedTokensByURL[url];\n\n // if current version in state >= incoming version, skip\n if (prevList && versionComparator(prevList.version, version) >= 0) return;\n\n const tokenConstructor = constructTokenFromTokenInfoFactory(fetchedList);\n\n const constructedTokens = fetchedList.data.tokens\n .filter(\n (token): token is TokenInfoWithSupportedChainId =>\n filterInvalidTokenAddress({ address: token.address }) &&\n isSupportedChainId(token.chainId)\n )\n .map(tokenConstructor);\n\n updatedLists[url] = {\n version,\n list: constructedTokens,\n };\n });\n\n set(constructedTokensByURLAtom, (prevState) => ({\n ...prevState,\n ...updatedLists,\n }));\n }\n);\n"],"names":["addTokenListsAtom","atom","get","set","fetchedLists","constructedTokensByURL","constructedTokensByURLAtom","updatedLists","forEach","fetchedList","url","data","version","prevList","versionComparator","tokenConstructor","constructTokenFromTokenInfoFactory","constructedTokens","tokens","filter","token","filterInvalidTokenAddress","address","isSupportedChainId","chainId","map","list","prevState"],"mappings":";;;;;;;AAaO,MAAMA,oBAAoBC,IAAAA,CAC/B,IAAA,EACA,CAACC,GAAAA,EAAKC,KAAKC,YAAAA,KAAsC;AAC/C,EAAA,MAAMC,sBAAAA,GAAyBH,IAAII,0BAA0B,CAAA;AAE7D,EAAA,MAAMC,eAAsC,EAAC;AAE7CH,EAAAA,YAAAA,CAAaI,QAASC,CAAAA,WAAAA,KAAgB;AACpC,IAAA,MAAM;AAAA,MACJC,GAAAA;AAAAA,MACAC,IAAAA,EAAM;AAAA,QAAEC;AAAAA;AAAQ,KAClB,GAAIH,WAAAA;AAEJ,IAAA,MAAMI,QAAAA,GAAWR,uBAAuBK,GAAG,CAAA;AAG3C,IAAA,IAAIG,YAAYC,iBAAAA,CAAkBD,QAAAA,CAASD,OAAAA,EAASA,OAAO,KAAK,CAAA,EAAG;AAEnE,IAAA,MAAMG,gBAAAA,GAAmBC,mCAAmCP,WAAW,CAAA;AAEvE,IAAA,MAAMQ,oBAAoBR,WAAAA,CAAYE,IAAAA,CAAKO,OACxCC,MAAAA,CACC,CAACC,UACCC,yBAAAA,CAA0B;AAAA,MAAEC,SAASF,KAAAA,CAAME;AAAAA,KAAS,KACpDC,kBAAAA,CAAmBH,KAAAA,CAAMI,OAAO,CACpC,CAAA,CACCC,IAAIV,gBAAgB,CAAA;AAEvBR,IAAAA,YAAAA,CAAaG,GAAG,CAAA,GAAI;AAAA,MAClBE,OAAAA;AAAAA,MACAc,IAAAA,EAAMT;AAAAA,KACR;AAAA,GACD,CAAA;AAEDd,EAAAA,GAAAA,CAAIG,4BAA6BqB,CAAAA,SAAAA,MAAe;AAAA,IAC9C,GAAGA,SAAAA;AAAAA,IACH,GAAGpB;AAAAA,GACL,CAAE,CAAA;AACJ,CACF;;;;"}
1
+ {"version":3,"file":"tokenListsActionsAtom.js","sources":["../../../../src/tokens/lists/state/tokenListsActionsAtom.ts"],"sourcesContent":["import { filterInvalidTokenAddress } from \"@/lib/utils\";\nimport { constructTokenFromTokenInfoFactory } from \"@/tokens/constructor\";\nimport type {\n TokenInfoWithSupportedChainId,\n TokenListCompiled,\n} from \"@/tokens/types\";\nimport { versionComparator } from \"@uniswap/token-lists\";\nimport { atom } from \"jotai\";\nimport { constructedTokensByURLAtom } from \"./tokenListsStateAtom\";\nimport type { ConstructedListsByURL } from \"./types\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\n// set(addTokenListsAtom) = fetchedLists => set(constructedTokensByURLAtom, from fetchedLists)\nexport const addTokenListsAtom = atom(\n null,\n (get, set, fetchedLists: TokenListCompiled[]) => {\n const constructedTokensByURL = get(constructedTokensByURLAtom);\n\n const updatedLists: ConstructedListsByURL = {};\n\n fetchedLists.forEach((fetchedList) => {\n const {\n url,\n data: { version },\n } = fetchedList;\n\n const prevList = constructedTokensByURL[url];\n\n // if current version in state >= incoming version, skip\n if (prevList && versionComparator(prevList.version, version) >= 0) return;\n\n const tokenConstructor = constructTokenFromTokenInfoFactory(fetchedList);\n\n const constructedTokens = fetchedList.data.tokens\n .filter(\n (token): token is TokenInfoWithSupportedChainId =>\n filterInvalidTokenAddress({ address: token.address }) &&\n isSupportedChainId(token.chainId)\n )\n .map(tokenConstructor);\n\n updatedLists[url] = {\n version,\n list: constructedTokens,\n };\n });\n\n set(constructedTokensByURLAtom, (prevState) => ({\n ...prevState,\n ...updatedLists,\n }));\n }\n);\n"],"names":["addTokenListsAtom","atom","get","set","fetchedLists","constructedTokensByURL","constructedTokensByURLAtom","updatedLists","forEach","fetchedList","url","data","version","prevList","versionComparator","tokenConstructor","constructTokenFromTokenInfoFactory","constructedTokens","tokens","filter","token","filterInvalidTokenAddress","address","isSupportedChainId","chainId","map","list","prevState"],"mappings":";;;;;;;AAaO,MAAMA,oBAAoBC,IAAAA,CAC/B,IAAA,EACA,CAACC,GAAAA,EAAKC,KAAKC,YAAAA,KAAsC;AAC/C,EAAA,MAAMC,sBAAAA,GAAyBH,IAAII,0BAA0B,CAAA;AAE7D,EAAA,MAAMC,eAAsC,EAAC;AAE7CH,EAAAA,YAAAA,CAAaI,QAASC,CAAAA,WAAAA,KAAgB;AACpC,IAAA,MAAM;AAAA,MACJC,GAAAA;AAAAA,MACAC,IAAAA,EAAM;AAAA,QAAEC;AAAAA;AAAQ,KAClB,GAAIH,WAAAA;AAEJ,IAAA,MAAMI,QAAAA,GAAWR,uBAAuBK,GAAG,CAAA;AAG3C,IAAA,IAAIG,YAAYC,iBAAAA,CAAkBD,QAAAA,CAASD,OAAAA,EAASA,OAAO,KAAK,CAAA,EAAG;AAEnE,IAAA,MAAMG,gBAAAA,GAAmBC,mCAAmCP,WAAW,CAAA;AAEvE,IAAA,MAAMQ,oBAAoBR,WAAAA,CAAYE,IAAAA,CAAKO,OACxCC,MAAAA,CACC,CAACC,UACCC,yBAAAA,CAA0B;AAAA,MAAEC,SAASF,KAAAA,CAAME;AAAAA,KAAS,KACpDC,kBAAAA,CAAmBH,KAAAA,CAAMI,OAAO,CACpC,CAAA,CACCC,IAAIV,gBAAgB,CAAA;AAEvBR,IAAAA,YAAAA,CAAaG,GAAG,CAAA,GAAI;AAAA,MAClBE,OAAAA;AAAAA,MACAc,IAAAA,EAAMT;AAAAA,KACR;AAAA,EACF,CAAC,CAAA;AAEDd,EAAAA,GAAAA,CAAIG,4BAA6BqB,CAAAA,SAAAA,MAAe;AAAA,IAC9C,GAAGA,SAAAA;AAAAA,IACH,GAAGpB;AAAAA,GACL,CAAE,CAAA;AACJ,CACF;;;;"}
@@ -1,10 +1,10 @@
1
1
  import { ConstructedListsByURL, TokenListsStateByChain } from './types';
2
2
  export declare const EnabledAndDefaultTokenURLS: {
3
- 10: {
3
+ 1: {
4
4
  all: string[];
5
5
  enabled: string[];
6
6
  };
7
- 1: {
7
+ 10: {
8
8
  all: string[];
9
9
  enabled: string[];
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sources":["../../src/tokens/overrides.ts"],"sourcesContent":["import type { TokenInfo, TokenList } from \"@uniswap/token-lists\";\nimport type { TokenListOverride } from \"./types\";\n\n// AAVE and GHO tokens have deprecated logos in some lists\nconst AAVE_OverrideTokenInfo: Partial<TokenInfo> = {\n logoURI:\n \"https://coin-images.coingecko.com/coins/images/12645/large/aave-token-round.png?1720472354\",\n};\nconst GHO_OverrideTokenInfo: Partial<TokenInfo> = {\n logoURI:\n \"https://coin-images.coingecko.com/coins/images/30663/large/gho-token-logo.png?1720517092\",\n};\n\n// override decimals that we know are wrong in Gemini token list https://paraswap.slack.com/archives/C01AUMPP56J/p1669810101097819?thread_ts=1669804269.667909&cid=C01AUMPP56J\nconst TokenListsOverrides: Record<string, TokenListOverride> = {\n // Ethereum\n \"https://tokens.uniswap.org\": {\n merge: {\n \"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9\": AAVE_OverrideTokenInfo,\n \"0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f\": GHO_OverrideTokenInfo,\n },\n },\n\n \"https://raw.githubusercontent.com/paraswap/community-token-list/master/src/sources/paraswap.extralist.json\":\n {\n merge: {\n \"0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f\": GHO_OverrideTokenInfo,\n },\n },\n\n // Optimism\n \"https://static.optimism.io/optimism.tokenlist.json\": {\n merge: {\n \"0x76fb31fb4af56892a25e32cfc43de717950c9278\": AAVE_OverrideTokenInfo,\n },\n },\n\n // Avalanche\n \"https://raw.githubusercontent.com/pangolindex/tokenlists/main/pangolin.tokenlist.json\":\n {\n merge: {\n \"0x63a72806098bd3d9520cc43356dd78afe5d386d9\": AAVE_OverrideTokenInfo,\n },\n },\n \"https://raw.githubusercontent.com/traderjoe-xyz/joe-tokenlists/main/mc.tokenlist.json\":\n {\n merge: {\n \"0x63a72806098bd3d9520cc43356dd78afe5d386d9\": AAVE_OverrideTokenInfo,\n },\n },\n\n // Polygon\n \"https://unpkg.com/quickswap-default-token-list@latest/build/quickswap-default.tokenlist.json\":\n {\n merge: {\n \"0xd6df932a45c0f255f85145f286ea0b292b21c90b\": AAVE_OverrideTokenInfo,\n \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\": {\n symbol: \"WETH\",\n name: \"Wrapped Ether\",\n },\n },\n },\n \"https://unpkg.com/@cometh-game/default-token-list@latest/build/comethswap-default.tokenlist.json\":\n {\n merge: {\n \"0xd6df932a45c0f255f85145f286ea0b292b21c90b\": AAVE_OverrideTokenInfo,\n \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\": {\n symbol: \"WETH\",\n name: \"Wrapped Ether\",\n },\n },\n },\n\n // Arbitrum\n \"https://bridge.arbitrum.io/token-list-42161.json\": {\n // Gemini tokens list has been removed from our dApp, but we keep the overrides in case of similar issues in the future and a need of quick fix\n // \"https://www.gemini.com/uniswap/manifest.json\": {merge: {\n // \"0x6b0b3a982b4634ac68dd83a4dbf02311ce324181\": { decimals: 18 },\n // \"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b\": { decimals: 18 },\n // \"0x18aaa7115705e8be94bffebde57af9bfc265b998\": { decimals: 18 },\n // }},\n // Arbitrum GMX is under an old address in the list\n remove: new Set([\"0x590020b1005b8b25f1a2c82c5f743c540dcfa24d\"]),\n },\n\n // Gnosis\n \"https://tokens.coingecko.com/xdai/all.json\": {\n merge: {\n \"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d\": { symbol: \"WXDAI\" },\n },\n },\n \"https://tokens.coingecko.com/polygon-pos/all.json\": {\n merge: {\n // MLN token with wrong decimals in the tokenList\n \"0xa9f37d84c856fda3812ad0519dad44fa0a3fe207\": { decimals: 18 },\n },\n },\n};\n\nexport function overrideTokenList(tokenList: TokenList, listURL: string) {\n const overrides = TokenListsOverrides[listURL];\n if (!overrides) return tokenList;\n\n const overriddenTokens = tokenList.tokens.reduce<TokenInfo[]>(\n (accum, tokenInfo) => {\n const remove = overrides.remove?.has(tokenInfo.address.toLowerCase());\n if (remove) return accum;\n\n const override = overrides?.merge?.[tokenInfo.address.toLowerCase()];\n const token = override ? { ...tokenInfo, ...override } : tokenInfo;\n\n accum.push(token);\n\n return accum;\n },\n []\n );\n\n if (overrides.add) {\n overriddenTokens.push(...overrides.add);\n }\n\n return { ...tokenList, tokens: overriddenTokens };\n}\n"],"names":["AAVE_OverrideTokenInfo","logoURI","GHO_OverrideTokenInfo","TokenListsOverrides","merge","symbol","name","remove","Set","decimals","overrideTokenList","tokenList","listURL","overrides","overriddenTokens","tokens","reduce","accum","tokenInfo","has","address","toLowerCase","override","token","push","add"],"mappings":"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"}
1
+ {"version":3,"file":"overrides.js","sources":["../../src/tokens/overrides.ts"],"sourcesContent":["import type { TokenInfo, TokenList } from \"@uniswap/token-lists\";\nimport type { TokenListOverride } from \"./types\";\n\n// AAVE and GHO tokens have deprecated logos in some lists\nconst AAVE_OverrideTokenInfo: Partial<TokenInfo> = {\n logoURI:\n \"https://coin-images.coingecko.com/coins/images/12645/large/aave-token-round.png?1720472354\",\n};\nconst GHO_OverrideTokenInfo: Partial<TokenInfo> = {\n logoURI:\n \"https://coin-images.coingecko.com/coins/images/30663/large/gho-token-logo.png?1720517092\",\n};\n\n// override decimals that we know are wrong in Gemini token list https://paraswap.slack.com/archives/C01AUMPP56J/p1669810101097819?thread_ts=1669804269.667909&cid=C01AUMPP56J\nconst TokenListsOverrides: Record<string, TokenListOverride> = {\n // Ethereum\n \"https://tokens.uniswap.org\": {\n merge: {\n \"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9\": AAVE_OverrideTokenInfo,\n \"0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f\": GHO_OverrideTokenInfo,\n },\n },\n\n \"https://raw.githubusercontent.com/paraswap/community-token-list/master/src/sources/paraswap.extralist.json\":\n {\n merge: {\n \"0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f\": GHO_OverrideTokenInfo,\n },\n },\n\n // Optimism\n \"https://static.optimism.io/optimism.tokenlist.json\": {\n merge: {\n \"0x76fb31fb4af56892a25e32cfc43de717950c9278\": AAVE_OverrideTokenInfo,\n },\n },\n\n // Avalanche\n \"https://raw.githubusercontent.com/pangolindex/tokenlists/main/pangolin.tokenlist.json\":\n {\n merge: {\n \"0x63a72806098bd3d9520cc43356dd78afe5d386d9\": AAVE_OverrideTokenInfo,\n },\n },\n \"https://raw.githubusercontent.com/traderjoe-xyz/joe-tokenlists/main/mc.tokenlist.json\":\n {\n merge: {\n \"0x63a72806098bd3d9520cc43356dd78afe5d386d9\": AAVE_OverrideTokenInfo,\n },\n },\n\n // Polygon\n \"https://unpkg.com/quickswap-default-token-list@latest/build/quickswap-default.tokenlist.json\":\n {\n merge: {\n \"0xd6df932a45c0f255f85145f286ea0b292b21c90b\": AAVE_OverrideTokenInfo,\n \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\": {\n symbol: \"WETH\",\n name: \"Wrapped Ether\",\n },\n },\n },\n \"https://unpkg.com/@cometh-game/default-token-list@latest/build/comethswap-default.tokenlist.json\":\n {\n merge: {\n \"0xd6df932a45c0f255f85145f286ea0b292b21c90b\": AAVE_OverrideTokenInfo,\n \"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619\": {\n symbol: \"WETH\",\n name: \"Wrapped Ether\",\n },\n },\n },\n\n // Arbitrum\n \"https://bridge.arbitrum.io/token-list-42161.json\": {\n // Gemini tokens list has been removed from our dApp, but we keep the overrides in case of similar issues in the future and a need of quick fix\n // \"https://www.gemini.com/uniswap/manifest.json\": {merge: {\n // \"0x6b0b3a982b4634ac68dd83a4dbf02311ce324181\": { decimals: 18 },\n // \"0xbb0e17ef65f82ab018d8edd776e8dd940327b28b\": { decimals: 18 },\n // \"0x18aaa7115705e8be94bffebde57af9bfc265b998\": { decimals: 18 },\n // }},\n // Arbitrum GMX is under an old address in the list\n remove: new Set([\"0x590020b1005b8b25f1a2c82c5f743c540dcfa24d\"]),\n },\n\n // Gnosis\n \"https://tokens.coingecko.com/xdai/all.json\": {\n merge: {\n \"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d\": { symbol: \"WXDAI\" },\n },\n },\n \"https://tokens.coingecko.com/polygon-pos/all.json\": {\n merge: {\n // MLN token with wrong decimals in the tokenList\n \"0xa9f37d84c856fda3812ad0519dad44fa0a3fe207\": { decimals: 18 },\n },\n },\n};\n\nexport function overrideTokenList(tokenList: TokenList, listURL: string) {\n const overrides = TokenListsOverrides[listURL];\n if (!overrides) return tokenList;\n\n const overriddenTokens = tokenList.tokens.reduce<TokenInfo[]>(\n (accum, tokenInfo) => {\n const remove = overrides.remove?.has(tokenInfo.address.toLowerCase());\n if (remove) return accum;\n\n const override = overrides?.merge?.[tokenInfo.address.toLowerCase()];\n const token = override ? { ...tokenInfo, ...override } : tokenInfo;\n\n accum.push(token);\n\n return accum;\n },\n []\n );\n\n if (overrides.add) {\n overriddenTokens.push(...overrides.add);\n }\n\n return { ...tokenList, tokens: overriddenTokens };\n}\n"],"names":["AAVE_OverrideTokenInfo","logoURI","GHO_OverrideTokenInfo","TokenListsOverrides","merge","symbol","name","remove","Set","decimals","overrideTokenList","tokenList","listURL","overrides","overriddenTokens","tokens","reduce","accum","tokenInfo","has","address","toLowerCase","override","token","push","add"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sources":["../../src/tokens/queries.ts"],"sourcesContent":["import {\n replaceEqualDeep,\n useQueries,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { versionComparator } from \"@uniswap/token-lists\";\nimport type { AxiosError } from \"axios\";\nimport { /* useRef, useLayoutEffect, */ useMemo } from \"react\";\nimport { downloadTokenListDataWithFallback } from \"./lists/download\";\nimport type { TokenListFetched } from \"./types\";\nimport { QUERY_KEY_FETCH_TOKEN_LISTS } from \"./constants\";\nimport { constructPlaceholderData } from \"./lists/utils\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { overrideTokenList } from \"./overrides\";\nimport { useAllTokenLists } from \"./lists/hooks\";\nimport { stableCoinsTokenLists } from \"./stabeCoins\";\n\ntype UseFetchListsResult<T extends string> = {\n dataOrPlaceholder: TokenListFetched<T>;\n result: UseQueryResult<TokenListFetched<T>, AxiosError>;\n};\n\nfunction isDataEqual<T extends string | never = never>(\n currentData: TokenListFetched<T> | undefined,\n incomingData: TokenListFetched<T>\n): currentData is typeof incomingData {\n // there was no oldData --> data not equal\n if (!currentData) return false;\n // data was a placeholder (available = false) and data.available changed --> data not equal\n if (!currentData.available || !incomingData.available)\n return currentData.available !== incomingData.available;\n // incoming list.version <= current list.version --> consider data equal (don't replace with incoming older version)\n const isOlderOrEqual =\n versionComparator(incomingData.data.version, currentData.data.version) <= 0;\n return isOlderOrEqual;\n}\n\nexport function produceQueryOptions<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n) {\n // there are duplicate listURLs because in lists.json same list can be present for multiple chains\n const uniqueListURLs = Array.from(new Set(listURLs));\n\n return (\n uniqueListURLs\n // to prevent occasional `token_list_download_error:\"\"` event tag\n .filter(isTruthy)\n .map<UseQueryOptions<TokenListFetched<T>, AxiosError>>((listURL) => ({\n queryKey: [QUERY_KEY_FETCH_TOKEN_LISTS, listURL],\n queryFn: async ({ signal }) => {\n const _data = await downloadTokenListDataWithFallback(\n listURL,\n signal\n );\n\n const data = overrideTokenList(_data, listURL);\n\n return {\n url: listURL,\n name: data.name,\n data,\n tag,\n // possibly mitigates https://sentry.io/organizations/paraswap/discover/ui:3fa26b87e3594d1998ff9fb4770a26d9\n available: Array.isArray(data.tokens),\n };\n },\n notifyOnChangeProps: [\"data\"],\n placeholderData: constructPlaceholderData(listURL), // start with unavailable but still with url\n refetchOnMount: false,\n staleTime: Infinity,\n\n // custom comparison to optimize big token list comparison\n structuralSharing: (oldData, newData) =>\n isDataEqual(\n oldData as TokenListFetched<T> | undefined,\n newData as TokenListFetched<T>\n )\n ? oldData\n : replaceEqualDeep(oldData, newData),\n }))\n );\n}\n\nexport const useFetchListsWithQueryResult = <T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): UseFetchListsResult<T>[] => {\n const queryResults = useQueries<\n UseQueryOptions<TokenListFetched<T>, AxiosError>[]\n >({ queries: produceQueryOptions(listURLs, tag) });\n\n return useMemo<UseFetchListsResult<T>[]>(\n () =>\n queryResults.map((result) => ({\n // provide {url, name} even on error\n dataOrPlaceholder:\n result.data ||\n constructPlaceholderData(result.error?.config?.url || \"\"),\n result,\n })),\n [queryResults]\n );\n};\n\nexport function useFetchLists<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): TokenListFetched<T>[] {\n const queryResults = useFetchListsWithQueryResult(listURLs, tag);\n\n return useMemo(\n () => queryResults.map(({ dataOrPlaceholder }) => dataOrPlaceholder),\n [queryResults]\n );\n}\n\nexport function useFetchTokenListsOnAllChains(): TokenListFetched[] {\n const allTokenListsOnAllChains = useAllTokenLists();\n\n // stablecoins list is auxiliary list, always in use\n const includingStablecoins = stableCoinsTokenLists.concat(\n allTokenListsOnAllChains\n );\n\n return useFetchLists(includingStablecoins);\n}\n"],"names":["isDataEqual","currentData","incomingData","available","isOlderOrEqual","versionComparator","data","version","produceQueryOptions","listURLs","tag","uniqueListURLs","Array","from","Set","filter","isTruthy","map","listURL","queryKey","QUERY_KEY_FETCH_TOKEN_LISTS","queryFn","signal","_data","downloadTokenListDataWithFallback","overrideTokenList","url","name","isArray","tokens","notifyOnChangeProps","placeholderData","constructPlaceholderData","refetchOnMount","staleTime","Infinity","structuralSharing","oldData","newData","replaceEqualDeep","useFetchListsWithQueryResult","$","_c","t0","t1","queries","queryResults","useQueries","t2","t3","_temp","useFetchLists","_temp2","dataOrPlaceholder","useFetchTokenListsOnAllChains","allTokenListsOnAllChains","useAllTokenLists","stableCoinsTokenLists","concat","includingStablecoins","result","error","config"],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sources":["../../src/tokens/queries.ts"],"sourcesContent":["import {\n replaceEqualDeep,\n useQueries,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { versionComparator } from \"@uniswap/token-lists\";\nimport type { AxiosError } from \"axios\";\nimport { /* useRef, useLayoutEffect, */ useMemo } from \"react\";\nimport { downloadTokenListDataWithFallback } from \"./lists/download\";\nimport type { TokenListFetched } from \"./types\";\nimport { QUERY_KEY_FETCH_TOKEN_LISTS } from \"./constants\";\nimport { constructPlaceholderData } from \"./lists/utils\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { overrideTokenList } from \"./overrides\";\nimport { useAllTokenLists } from \"./lists/hooks\";\nimport { stableCoinsTokenLists } from \"./stabeCoins\";\n\ntype UseFetchListsResult<T extends string> = {\n dataOrPlaceholder: TokenListFetched<T>;\n result: UseQueryResult<TokenListFetched<T>, AxiosError>;\n};\n\nfunction isDataEqual<T extends string | never = never>(\n currentData: TokenListFetched<T> | undefined,\n incomingData: TokenListFetched<T>\n): currentData is typeof incomingData {\n // there was no oldData --> data not equal\n if (!currentData) return false;\n // data was a placeholder (available = false) and data.available changed --> data not equal\n if (!currentData.available || !incomingData.available)\n return currentData.available !== incomingData.available;\n // incoming list.version <= current list.version --> consider data equal (don't replace with incoming older version)\n const isOlderOrEqual =\n versionComparator(incomingData.data.version, currentData.data.version) <= 0;\n return isOlderOrEqual;\n}\n\nexport function produceQueryOptions<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n) {\n // there are duplicate listURLs because in lists.json same list can be present for multiple chains\n const uniqueListURLs = Array.from(new Set(listURLs));\n\n return (\n uniqueListURLs\n // to prevent occasional `token_list_download_error:\"\"` event tag\n .filter(isTruthy)\n .map<UseQueryOptions<TokenListFetched<T>, AxiosError>>((listURL) => ({\n queryKey: [QUERY_KEY_FETCH_TOKEN_LISTS, listURL],\n queryFn: async ({ signal }) => {\n const _data = await downloadTokenListDataWithFallback(\n listURL,\n signal\n );\n\n const data = overrideTokenList(_data, listURL);\n\n return {\n url: listURL,\n name: data.name,\n data,\n tag,\n // possibly mitigates https://sentry.io/organizations/paraswap/discover/ui:3fa26b87e3594d1998ff9fb4770a26d9\n available: Array.isArray(data.tokens),\n };\n },\n notifyOnChangeProps: [\"data\"],\n placeholderData: constructPlaceholderData(listURL), // start with unavailable but still with url\n refetchOnMount: false,\n staleTime: Infinity,\n\n // custom comparison to optimize big token list comparison\n structuralSharing: (oldData, newData) =>\n isDataEqual(\n oldData as TokenListFetched<T> | undefined,\n newData as TokenListFetched<T>\n )\n ? oldData\n : replaceEqualDeep(oldData, newData),\n }))\n );\n}\n\nexport const useFetchListsWithQueryResult = <T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): UseFetchListsResult<T>[] => {\n const queryResults = useQueries<\n UseQueryOptions<TokenListFetched<T>, AxiosError>[]\n >({ queries: produceQueryOptions(listURLs, tag) });\n\n return useMemo<UseFetchListsResult<T>[]>(\n () =>\n queryResults.map((result) => ({\n // provide {url, name} even on error\n dataOrPlaceholder:\n result.data ||\n constructPlaceholderData(result.error?.config?.url || \"\"),\n result,\n })),\n [queryResults]\n );\n};\n\nexport function useFetchLists<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): TokenListFetched<T>[] {\n const queryResults = useFetchListsWithQueryResult(listURLs, tag);\n\n return useMemo(\n () => queryResults.map(({ dataOrPlaceholder }) => dataOrPlaceholder),\n [queryResults]\n );\n}\n\nexport function useFetchTokenListsOnAllChains(): TokenListFetched[] {\n const allTokenListsOnAllChains = useAllTokenLists();\n\n // stablecoins list is auxiliary list, always in use\n const includingStablecoins = stableCoinsTokenLists.concat(\n allTokenListsOnAllChains\n );\n\n return useFetchLists(includingStablecoins);\n}\n"],"names":["isDataEqual","currentData","incomingData","available","isOlderOrEqual","versionComparator","data","version","produceQueryOptions","listURLs","tag","uniqueListURLs","Array","from","Set","filter","isTruthy","map","listURL","queryKey","QUERY_KEY_FETCH_TOKEN_LISTS","queryFn","signal","_data","downloadTokenListDataWithFallback","overrideTokenList","url","name","isArray","tokens","notifyOnChangeProps","placeholderData","constructPlaceholderData","refetchOnMount","staleTime","Infinity","structuralSharing","oldData","newData","replaceEqualDeep","useFetchListsWithQueryResult","$","_c","t0","t1","queries","queryResults","useQueries","t2","t3","_temp","useFetchLists","_temp2","dataOrPlaceholder","useFetchTokenListsOnAllChains","allTokenListsOnAllChains","useAllTokenLists","stableCoinsTokenLists","concat","includingStablecoins","result","error","config"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../src/tokens/stabeCoins/hooks.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { stableCoinsTokenLists } from \".\";\nimport { useFetchLists } from \"../queries\";\nimport type { ChainTokensSet, TokenListFetched } from \"../types\";\nimport {\n checkAddressesBelongToChainSet,\n tokenlistsToSetsByChain,\n} from \"../utils/sets\";\n\nexport function useStableCoinTokenLists(): TokenListFetched<\"stablecoin\">[] {\n return useFetchLists(stableCoinsTokenLists, \"stablecoin\");\n}\n\n// compose stablecoin sets\nexport function useStablecoinSetsByChain(): ChainTokensSet {\n const lists = useStableCoinTokenLists();\n\n return useMemo(() => tokenlistsToSetsByChain(lists), [lists]);\n}\n\nexport function useIsAddressStablecoin(\n addresses: (string | undefined)[],\n chainId?: number\n): boolean {\n const chainId2StableCoinSets = useStablecoinSetsByChain();\n return checkAddressesBelongToChainSet(\n chainId2StableCoinSets,\n addresses,\n chainId\n );\n}\n"],"names":["useStableCoinTokenLists","useFetchLists","stableCoinsTokenLists","useStablecoinSetsByChain","$","_c","lists","t0","t1","tokenlistsToSetsByChain","useIsAddressStablecoin","addresses","chainId","chainId2StableCoinSets","checkAddressesBelongToChainSet"],"mappings":";;;;;;AASO,SAAAA,uBAAAA,GAAA;AAAA,EAAA,OACEC,aAAAA,CAAAC,uBAAqC,YAAY,CAAA;AAAC;AAIpD,SAAAC,wBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,QAAcN,uBAAAA,EAAwB;AAAE,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,KAAAA,EAAA;AAEnBE,IAAAA,EAAAA,GAAAC,wBAAwBH,KAAK,CAAA;AAACF,IAAAA,CAAAA,MAAAE,KAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA;AAAAG,EAAAA,EAAAA,GAA9BC,EAAAA;AAA8B,EAAA,OAA5CD,EAAAA;AAAsD;AAGxD,SAAAG,sBAAAA,CAAAC,WAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAR,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAIL,EAAA,MAAAQ,yBAA+BV,wBAAAA,EAAyB;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,IAAAP,CAAAA,QAAAQ,OAAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAS,sBAAAA,EAAA;AACnDN,IAAAA,EAAAA,GAAAO,8BAAAA,CACLD,sBAAAA,EACAF,SAAAA,EACAC,OACF,CAAA;AAACR,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAQ,OAAAA;AAAAR,IAAAA,CAAAA,MAAAS,sBAAAA;AAAAT,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,GAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA;AAAA,EAAA,OAJMG,EAAAA;AAIN;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../src/tokens/stabeCoins/hooks.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { stableCoinsTokenLists } from \".\";\nimport { useFetchLists } from \"../queries\";\nimport type { ChainTokensSet, TokenListFetched } from \"../types\";\nimport {\n checkAddressesBelongToChainSet,\n tokenlistsToSetsByChain,\n} from \"../utils/sets\";\n\nexport function useStableCoinTokenLists(): TokenListFetched<\"stablecoin\">[] {\n return useFetchLists(stableCoinsTokenLists, \"stablecoin\");\n}\n\n// compose stablecoin sets\nexport function useStablecoinSetsByChain(): ChainTokensSet {\n const lists = useStableCoinTokenLists();\n\n return useMemo(() => tokenlistsToSetsByChain(lists), [lists]);\n}\n\nexport function useIsAddressStablecoin(\n addresses: (string | undefined)[],\n chainId?: number\n): boolean {\n const chainId2StableCoinSets = useStablecoinSetsByChain();\n return checkAddressesBelongToChainSet(\n chainId2StableCoinSets,\n addresses,\n chainId\n );\n}\n"],"names":["useStableCoinTokenLists","useFetchLists","stableCoinsTokenLists","useStablecoinSetsByChain","$","_c","lists","t0","t1","tokenlistsToSetsByChain","useIsAddressStablecoin","addresses","chainId","chainId2StableCoinSets","checkAddressesBelongToChainSet"],"mappings":";;;;;;AASO,SAAAA,uBAAAA,GAAA;AAAA,EAAA,OACEC,aAAAA,CAAAC,uBAAqC,YAAY,CAAA;AAAC;AAIpD,SAAAC,wBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,QAAcN,uBAAAA,EAAwB;AAAE,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,KAAAA,EAAA;AAEnBE,IAAAA,EAAAA,GAAAC,wBAAwBH,KAAK,CAAA;AAACF,IAAAA,CAAAA,MAAAE,KAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAAG,EAAAA,EAAAA,GAA9BC,EAAAA;AAA8B,EAAA,OAA5CD,EAAAA;AAAsD;AAGxD,SAAAG,sBAAAA,CAAAC,WAAAC,OAAAA,EAAA;AAAA,EAAA,MAAAR,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAIL,EAAA,MAAAQ,yBAA+BV,wBAAAA,EAAyB;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAO,SAAAA,IAAAP,CAAAA,QAAAQ,OAAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAS,sBAAAA,EAAA;AACnDN,IAAAA,EAAAA,GAAAO,8BAAAA,CACLD,sBAAAA,EACAF,SAAAA,EACAC,OACF,CAAA;AAACR,IAAAA,CAAAA,MAAAO,SAAAA;AAAAP,IAAAA,CAAAA,MAAAQ,OAAAA;AAAAR,IAAAA,CAAAA,MAAAS,sBAAAA;AAAAT,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJMG,EAAAA;AAIN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constructTokens.js","sources":["../../../src/tokens/state/constructTokens.ts"],"sourcesContent":["import type { TokenFromList } from \"./types\";\n\nimport { isBlacklistedToken } from \"../blacklist\";\nimport type { ConstructedListsByURL } from \"../lists/state/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\ninterface UpdatedTokenListsInput {\n enabledListURLs: string[];\n allListURLs: string[];\n tokensFromListByURL: ConstructedListsByURL;\n chainId: SupportedChainId;\n}\n\ninterface UpdatedTokenListsResult {\n list: TokenFromList[];\n disabledList: TokenFromList[];\n chainId: SupportedChainId;\n}\n\nexport function constructTokensFromLists({\n enabledListURLs,\n allListURLs,\n tokensFromListByURL,\n chainId,\n}: UpdatedTokenListsInput): UpdatedTokenListsResult | undefined {\n const addedAddressesSet = new Set<string>();\n\n function gatherUniqueTokens(listURLs: string[]): TokenFromList[] {\n const uniqueTokensFromList = listURLs.reduce<TokenFromList[]>(\n (accum, listURL) => {\n const constructedTokens = tokensFromListByURL[listURL];\n\n if (!constructedTokens) return accum;\n\n constructedTokens.list.forEach((token) => {\n // some lists contain tokens for multiple chains\n // tokens.fromLists must correspond to current chain\n // same as tokens.user & tokens.all\n if (token.network !== chainId) return;\n if (isBlacklistedToken(token)) return;\n\n const addressLowercase = token.address.toLowerCase();\n // already added\n if (addedAddressesSet.has(addressLowercase)) return;\n\n addedAddressesSet.add(addressLowercase);\n accum.push(token);\n });\n\n return accum;\n },\n []\n );\n\n return uniqueTokensFromList;\n }\n // iterating over enabledListURLs every time is less efficient,\n // but allows for a fixed token order\n // and no duplicate tokens from different lists\n const uniqueTokensFromList = gatherUniqueTokens(enabledListURLs);\n\n // don't suddenly empty tokens.fromLists while enabledListURLs are still fetching\n if (enabledListURLs.length > 0 && uniqueTokensFromList.length === 0) return;\n\n const enabledListsSet = new Set(enabledListURLs);\n const disabledListURLs = allListURLs.filter(\n (listURL) => !enabledListsSet.has(listURL)\n );\n\n const uniqueTokensFromDisabledList = gatherUniqueTokens(disabledListURLs);\n\n return {\n list: uniqueTokensFromList,\n disabledList: uniqueTokensFromDisabledList,\n chainId,\n };\n}\n"],"names":["constructTokensFromLists","enabledListURLs","allListURLs","tokensFromListByURL","chainId","addedAddressesSet","Set","gatherUniqueTokens","listURLs","uniqueTokensFromList","reduce","accum","listURL","constructedTokens","list","forEach","token","network","isBlacklistedToken","addressLowercase","address","toLowerCase","has","add","push","length","enabledListsSet","disabledListURLs","filter","uniqueTokensFromDisabledList","disabledList"],"mappings":";;AAmBO,SAASA,wBAAAA,CAAyB;AAAA,EACvCC,eAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,mBAAAA;AAAAA,EACAC;AACsB,CAAA,EAAwC;AAC9D,EAAA,MAAMC,iBAAAA,uBAAwBC,GAAAA,EAAY;AAE1C,EAAA,SAASC,mBAAmBC,QAAAA,EAAqC;AAC/D,IAAA,MAAMC,qBAAAA,GAAuBD,QAAAA,CAASE,MAAAA,CACpC,CAACC,OAAOC,OAAAA,KAAY;AAClB,MAAA,MAAMC,iBAAAA,GAAoBV,oBAAoBS,OAAO,CAAA;AAErD,MAAA,IAAI,CAACC,mBAAmB,OAAOF,KAAAA;AAE/BE,MAAAA,iBAAAA,CAAkBC,IAAAA,CAAKC,QAASC,CAAAA,KAAAA,KAAU;AAIxC,QAAA,IAAIA,KAAAA,CAAMC,YAAYb,OAAAA,EAAS;AAC/B,QAAA,IAAIc,kBAAAA,CAAmBF,KAAK,CAAA,EAAG;AAE/B,QAAA,MAAMG,gBAAAA,GAAmBH,KAAAA,CAAMI,OAAAA,CAAQC,WAAAA,EAAY;AAEnD,QAAA,IAAIhB,iBAAAA,CAAkBiB,GAAAA,CAAIH,gBAAgB,CAAA,EAAG;AAE7Cd,QAAAA,iBAAAA,CAAkBkB,IAAIJ,gBAAgB,CAAA;AACtCR,QAAAA,KAAAA,CAAMa,KAAKR,KAAK,CAAA;AAAA,OACjB,CAAA;AAED,MAAA,OAAOL,KAAAA;AAAAA,KACT,EACA,EACF,CAAA;AAEA,IAAA,OAAOF,qBAAAA;AAAAA;AAKT,EAAA,MAAMA,oBAAAA,GAAuBF,mBAAmBN,eAAe,CAAA;AAG/D,EAAA,IAAIA,eAAAA,CAAgBwB,MAAAA,GAAS,CAAA,IAAKhB,oBAAAA,CAAqBgB,WAAW,CAAA,EAAG;AAErE,EAAA,MAAMC,eAAAA,GAAkB,IAAIpB,GAAAA,CAAIL,eAAe,CAAA;AAC/C,EAAA,MAAM0B,gBAAAA,GAAmBzB,YAAY0B,MAAAA,CAClChB,CAAAA,OAAAA,KAAY,CAACc,eAAAA,CAAgBJ,GAAAA,CAAIV,OAAO,CAC3C,CAAA;AAEA,EAAA,MAAMiB,4BAAAA,GAA+BtB,mBAAmBoB,gBAAgB,CAAA;AAExE,EAAA,OAAO;AAAA,IACLb,IAAAA,EAAML,oBAAAA;AAAAA,IACNqB,YAAAA,EAAcD,4BAAAA;AAAAA,IACdzB;AAAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"constructTokens.js","sources":["../../../src/tokens/state/constructTokens.ts"],"sourcesContent":["import type { TokenFromList } from \"./types\";\n\nimport { isBlacklistedToken } from \"../blacklist\";\nimport type { ConstructedListsByURL } from \"../lists/state/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\ninterface UpdatedTokenListsInput {\n enabledListURLs: string[];\n allListURLs: string[];\n tokensFromListByURL: ConstructedListsByURL;\n chainId: SupportedChainId;\n}\n\ninterface UpdatedTokenListsResult {\n list: TokenFromList[];\n disabledList: TokenFromList[];\n chainId: SupportedChainId;\n}\n\nexport function constructTokensFromLists({\n enabledListURLs,\n allListURLs,\n tokensFromListByURL,\n chainId,\n}: UpdatedTokenListsInput): UpdatedTokenListsResult | undefined {\n const addedAddressesSet = new Set<string>();\n\n function gatherUniqueTokens(listURLs: string[]): TokenFromList[] {\n const uniqueTokensFromList = listURLs.reduce<TokenFromList[]>(\n (accum, listURL) => {\n const constructedTokens = tokensFromListByURL[listURL];\n\n if (!constructedTokens) return accum;\n\n constructedTokens.list.forEach((token) => {\n // some lists contain tokens for multiple chains\n // tokens.fromLists must correspond to current chain\n // same as tokens.user & tokens.all\n if (token.network !== chainId) return;\n if (isBlacklistedToken(token)) return;\n\n const addressLowercase = token.address.toLowerCase();\n // already added\n if (addedAddressesSet.has(addressLowercase)) return;\n\n addedAddressesSet.add(addressLowercase);\n accum.push(token);\n });\n\n return accum;\n },\n []\n );\n\n return uniqueTokensFromList;\n }\n // iterating over enabledListURLs every time is less efficient,\n // but allows for a fixed token order\n // and no duplicate tokens from different lists\n const uniqueTokensFromList = gatherUniqueTokens(enabledListURLs);\n\n // don't suddenly empty tokens.fromLists while enabledListURLs are still fetching\n if (enabledListURLs.length > 0 && uniqueTokensFromList.length === 0) return;\n\n const enabledListsSet = new Set(enabledListURLs);\n const disabledListURLs = allListURLs.filter(\n (listURL) => !enabledListsSet.has(listURL)\n );\n\n const uniqueTokensFromDisabledList = gatherUniqueTokens(disabledListURLs);\n\n return {\n list: uniqueTokensFromList,\n disabledList: uniqueTokensFromDisabledList,\n chainId,\n };\n}\n"],"names":["constructTokensFromLists","enabledListURLs","allListURLs","tokensFromListByURL","chainId","addedAddressesSet","Set","gatherUniqueTokens","listURLs","uniqueTokensFromList","reduce","accum","listURL","constructedTokens","list","forEach","token","network","isBlacklistedToken","addressLowercase","address","toLowerCase","has","add","push","length","enabledListsSet","disabledListURLs","filter","uniqueTokensFromDisabledList","disabledList"],"mappings":";;AAmBO,SAASA,wBAAAA,CAAyB;AAAA,EACvCC,eAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,mBAAAA;AAAAA,EACAC;AACsB,CAAA,EAAwC;AAC9D,EAAA,MAAMC,iBAAAA,uBAAwBC,GAAAA,EAAY;AAE1C,EAAA,SAASC,mBAAmBC,QAAAA,EAAqC;AAC/D,IAAA,MAAMC,qBAAAA,GAAuBD,QAAAA,CAASE,MAAAA,CACpC,CAACC,OAAOC,OAAAA,KAAY;AAClB,MAAA,MAAMC,iBAAAA,GAAoBV,oBAAoBS,OAAO,CAAA;AAErD,MAAA,IAAI,CAACC,mBAAmB,OAAOF,KAAAA;AAE/BE,MAAAA,iBAAAA,CAAkBC,IAAAA,CAAKC,QAASC,CAAAA,KAAAA,KAAU;AAIxC,QAAA,IAAIA,KAAAA,CAAMC,YAAYb,OAAAA,EAAS;AAC/B,QAAA,IAAIc,kBAAAA,CAAmBF,KAAK,CAAA,EAAG;AAE/B,QAAA,MAAMG,gBAAAA,GAAmBH,KAAAA,CAAMI,OAAAA,CAAQC,WAAAA,EAAY;AAEnD,QAAA,IAAIhB,iBAAAA,CAAkBiB,GAAAA,CAAIH,gBAAgB,CAAA,EAAG;AAE7Cd,QAAAA,iBAAAA,CAAkBkB,IAAIJ,gBAAgB,CAAA;AACtCR,QAAAA,KAAAA,CAAMa,KAAKR,KAAK,CAAA;AAAA,MAClB,CAAC,CAAA;AAED,MAAA,OAAOL,KAAAA;AAAAA,IACT,CAAA,EACA,EACF,CAAA;AAEA,IAAA,OAAOF,qBAAAA;AAAAA,EACT;AAIA,EAAA,MAAMA,oBAAAA,GAAuBF,mBAAmBN,eAAe,CAAA;AAG/D,EAAA,IAAIA,eAAAA,CAAgBwB,MAAAA,GAAS,CAAA,IAAKhB,oBAAAA,CAAqBgB,WAAW,CAAA,EAAG;AAErE,EAAA,MAAMC,eAAAA,GAAkB,IAAIpB,GAAAA,CAAIL,eAAe,CAAA;AAC/C,EAAA,MAAM0B,gBAAAA,GAAmBzB,YAAY0B,MAAAA,CAClChB,CAAAA,OAAAA,KAAY,CAACc,eAAAA,CAAgBJ,GAAAA,CAAIV,OAAO,CAC3C,CAAA;AAEA,EAAA,MAAMiB,4BAAAA,GAA+BtB,mBAAmBoB,gBAAgB,CAAA;AAExE,EAAA,OAAO;AAAA,IACLb,IAAAA,EAAML,oBAAAA;AAAAA,IACNqB,YAAAA,EAAcD,4BAAAA;AAAAA,IACdzB;AAAAA,GACF;AACF;;;;"}